@kartverket/geonorge-web-components 0.1.55 → 0.2.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/DownloadItem.js +1 -1
- package/DownloadItem.js.map +1 -1
- package/GeonorgeFooter.js +1 -1
- package/GeonorgeFooter.js.map +1 -1
- package/MainMenu.js.map +1 -1
- package/MainNavigation.js +1 -1
- package/MainNavigation.js.map +1 -1
- package/MainSearchField.js.map +1 -1
- package/MapItem.js +1 -1
- package/MapItem.js.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +1 -1
package/MainSearchField.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MainSearchField.js","mappings":"CAAA,SAA2CA,EAAMC,GAC1B,iBAAZC,SAA0C,iBAAXC,OACxCA,OAAOD,QAAUD,IACQ,mBAAXG,QAAyBA,OAAOC,IAC9CD,OAAO,GAAIH,GACe,iBAAZC,QACdA,QAAkB,SAAID,KAEtBD,EAAe,SAAIA,EAAe,UAAK,GAAIA,EAAe,SAAmB,gBAAIC,KARnF,CASGK,MAAM,I,wGCNLC,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACL,EAAOM,GAAI,u4EAA04E,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,uFAAuF,+CAA+C,6CAA6C,4CAA4C,+CAA+C,4CAA4C,MAAQ,GAAG,SAAW,k6BAAk6B,eAAiB,CAAC,66EAA+6E,oEAAwE,mfAAmf,4IAAuI,28BAA28B,8uBAA8uB,WAAa,MAEzgR,W,0DCPA,4a,sBCMAN,EAAOD,QAAU,SAAUQ,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,KACNI,KAAK,KAIVT,EAAKU,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASK,KAG7B,IAAIC,EAAyB,GAE7B,GAAIJ,EACF,IAAK,IAAIK,EAAI,EAAGA,EAAIhB,KAAKM,OAAQU,IAAK,CACpC,IAAIpB,EAAKI,KAAKgB,GAAG,GAEP,MAANpB,IACFmB,EAAuBnB,IAAM,GAKnC,IAAK,IAAIqB,EAAK,EAAGA,EAAKR,EAAQH,OAAQW,IAAM,CAC1C,IAAIf,EAAO,GAAGG,OAAOI,EAAQQ,IAEzBN,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,EAAKH,KAAKO,MAIPJ,I,sBClGTR,EAAOD,QAAU,SAAUa,GACzB,IAAIC,EAAUD,EAAK,GACfgB,EAAahB,EAAK,GAEtB,IAAKgB,EACH,OAAOf,EAGT,GAAoB,mBAATgB,KAAqB,CAC9B,IAAIC,EAASD,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUN,MACzDO,EAAO,+DAA+DpB,OAAOe,GAC7EM,EAAgB,OAAOrB,OAAOoB,EAAM,OACpCE,EAAaT,EAAWU,QAAQ3B,KAAI,SAAU4B,GAChD,MAAO,iBAAiBxB,OAAOa,EAAWY,YAAc,IAAIzB,OAAOwB,EAAQ,UAE7E,MAAO,CAAC1B,GAASE,OAAOsB,GAAYtB,OAAO,CAACqB,IAAgBnB,KAAK,MAGnE,MAAO,CAACJ,GAASI,KAAK,Q,saCpBxB,gBACA,UAEA,UAEa,EAAAwB,UAAaC,GAChBC,I,MACN,MAAMC,EAAcF,EAAKE,KAAO,EAAAC,YAAYF,EAAOG,UAAUC,YAAYC,MACnEC,IAAa,EAAQ,cAAeN,EAaxCI,cACEG,QARK,KAAAC,MAAkB,GAUvBzC,KAAK0C,eAAgC,MAAfV,EAAKW,QAAwBX,EAAKW,QAEnD3C,KAAK4C,YAAc5C,KAAK0C,gBAC3B1C,KAAK6C,aAAa,CAAEC,KAAM,SAVZC,gCAChB,OAAOC,OAAOC,KAAKjD,KAAKkD,WAAa,IAAIjD,KAAIkD,GAAK,EAAAhB,YAAYgB,KAazDC,yBAAyBd,EAAce,EAAkBC,GAC9DtD,KAAKuD,kBAAkBjB,EAAMe,EAAUC,GAGlCC,kBAAkBjB,EAAce,EAAkBC,EAAkBE,GAAe,GACxF,GAAIH,GAAYC,EAAU,CACpBE,IAAOxD,KAAK,EAAAyD,YAAYnB,IAASgB,GACrC,MAAMI,EAA6B1D,KAAKqC,YAAoBqB,gBAC5D,GAAIA,GAAmBA,EAAgBpB,GAAO,CAC5C,MAAMqB,EAAuBD,EAAgBpB,GACzCtC,KAAK4D,aAC0B,mBAAtB5D,KAAK2D,IACd3D,KAAK2D,GAAc,CAAEE,IAAKR,EAAUS,IAAKR,MAOtCS,oB,iIACL/D,KAAKgE,SACX,EAAMD,mBAAqB,EAAMA,kBAAiB,WAClD/D,KAAK4D,aAAc,EAEnB,EAAAK,kBAAkBjE,MAClB,EAAAkE,gBAAgBlE,SAGJgE,S,yCACZ,GAAIhE,KAAK4D,YACP,OAGF,MAAMO,EAAWC,SAASC,cAAc,YACxCF,EAASG,gBAAkBtE,KAAKuE,WAE5BvC,EAAKmC,oBAAoBK,QAC3BL,EAAShE,QAAQsE,kBAAkBzE,KAAK0E,uBACN,iBAAlB1C,EAAKmC,WACrBA,EAASG,WAAatC,EAAKmC,WAG5BnE,KAAK0C,eAAiB1C,KAAK4C,WAAa5C,MAAMyE,YAAYN,EAAShE,QAAQwE,WAAU,OAG1ED,sB,yCACZ,MACME,SADwB5C,EAAKmC,UACLU,QAAQ9E,WAChC+E,EAAWV,SAASW,cAAcC,yBAAyBJ,GAEjE,OAAiC,IAA7BE,EAASG,SAAS3E,QAAkD,aAAlCwE,EAASG,SAAS,GAAGC,SACjDJ,EAASK,WAAmChF,QAE/C2E,KAGKP,W,yCACZ,IAAIa,EASJ,OAPIpD,EAAKqD,iBAAiBb,QAExBY,SAD0BpD,EAAKqD,OACbR,QAAQ9E,WACK,iBAAfiC,EAAKqD,QACrBD,EAAMpD,EAAKqD,OAGHD,EAAM,UAAUA,YAAgB,SAxF3BxB,aAAuB,EAIvB,EAAA0B,MAA0B,IAAId,SAAQ,CAACe,EAASC,IAAMD,GAAQ,K,GA4FjF,OAJKE,eAAeC,IAAIxD,IACtBuD,eAAelG,OAAO2C,EAAKK,GAGtBA,I,iGCvGX,MAAsBoD,UAAsBC,YAC1CvD,cACEG,QAKQqD,QAAQC,GACX9F,KAAK+F,aACR3B,SAAS4B,cAAcF,GAAUrB,YAAYzE,OATnD,mB,qHCFa,EAAAiG,WAAqCH,GACzC1B,SAAS4B,cAAcF,GAGnB,EAAAI,qBAAuB,CAAwB3D,EAA4BuD,IAC/EvD,EAAcK,WAAWoD,cAAcF,I,2ZCLhD,aACA,YACA,YACA,aACA,aACA,aACA,aACA,c,4HCPA,gBA2DS,EAAAK,OAzCM,CAACC,EAAmBN,IAC1B,CAAC7D,EAAaoE,KACdpE,EAAOI,YAAYiE,YACtBrE,EAAOI,YAAYiE,UAAY,IAEjCrE,EAAOI,YAAYiE,UAAU3G,KAAK,CAAEmG,SAAUA,EAAUM,UAAWA,EAAWG,QAAStE,EAAOoE,MAoCjF,EAAApC,kBAhCUhC,IACzB,GAAIA,EAAOI,YAAYiE,UAAW,CAChC,MAAME,EAAkBvE,EAAOW,YAAcX,EAC7C,IAAK,MAAMwE,KAAYxE,EAAOI,YAAYiE,UAAsC,CAC9E,MAAMI,EAAeD,EAAiB,SAClCD,EAAWR,cAAcS,EAASX,UAChCU,EAAWR,cAAcS,EAASX,UAAY,KAChD7D,EACAyE,GACFA,EAAYC,iBAAiBF,EAASL,WAAYQ,IAChDH,EAASF,QAAQM,KAAK5E,EAAQ2E,SAsBa,EAAAE,SAfnCV,GACT,CAACnE,EAAqB8E,KAU3B/D,OAAOgE,eAAe/E,EAAQ8E,EAAc,CAAErB,IAT9C,WACE,MAAMjG,EAAoBO,KAC1B,MAAO,CACLiH,KAAKC,GACH,MAAMC,EAAU,GAA0B,EAAAC,UAAUL,GACpDtH,EAAK4H,cAAc,IAAIC,YAAYH,EAASD,W,6GCnDtD,gBAEa,EAAAK,KAAO,IACX,CAACtF,EAAauF,KACnB,MAAMC,EAAW,EAAAtF,YAAYqF,GAsBxBvF,EAAOI,YAAYa,YACtBjB,EAAOI,YAAYa,UAAY,IAEjCjB,EAAOI,YAAYa,UAAUsE,GAAY,KACzCxE,OAAOgE,eAAe/E,EAAQuF,EAAU,CAAE9B,IAzB1C,WACE,OAAI1F,KAAKyC,MAAM+E,GACNxH,KAAKyC,MAAM+E,GAEbxH,KAAK0H,aAAaD,IAqBoBjE,IAnB/C,SAAamE,GACX,GAAI3H,KAAK4D,YAAa,CACpB,MAAMP,EAAWrD,KAAKyC,MAAM+E,GAC5BxH,KAAKyC,MAAM+E,GAAY,EAAAI,YAAYD,GACf,iBAATA,EACT3H,KAAK6H,aAAaJ,EAAUE,GAE5B3H,KAAKuD,kBAAkBkE,EAAUpE,EAAUsE,GAAO,QAG/C3H,KAAK8H,aAAa,EAAA3F,YAAYqF,MACjCxH,KAAKqC,YAAYa,UAAUsE,GAAYG,OAoBpC,EAAAzD,gBAAmBjC,IAC9B,MAAMyB,EAAkBzB,EAAOI,YAAYqB,gBAC3C,IAAK,IAAIqE,IAVM,CAAC9F,IAChB,MAAMyB,EAAkBzB,EAAOI,YAAYqB,gBACrCsE,EAAkB,OAAH,UAAQtE,GAC7BV,OAAOC,KAAK+E,GAAiBC,SAAQC,GAAKF,EAAgBE,GAAK,KAC/D,MAAMC,EAAa,OAAH,wBAAQH,GAAoB/F,EAAOI,YAAYa,WAC/D,OAAOF,OAAOC,KAAKkF,IAKFC,CAASnG,GAAS,CACjC,GAAIyB,EACF,GAA0C,MAAtCA,EAAgB,EAAAvB,YAAY4F,IAC9BrE,EAAgB,EAAAvB,YAAY4F,IAAS,OAChC,CACL,MAAMM,EAAcpG,EAAOQ,MAAMsF,IAAS9F,EAAOyF,aAAa,EAAAvF,YAAY4F,IAC9B,mBAAjC9F,EAAOyB,EAAgBqE,KAChC9F,EAAOyB,EAAgBqE,IAAO,CAAEjE,IAAKuE,IAIvCpG,EAAOI,YAAYa,UAAU6E,KAC1B9F,EAAO6F,aAAa,EAAA3F,YAAY4F,MACnC9F,EAAO8F,GAAQ9F,EAAOI,YAAYa,UAAU6E,Q,6FCzDpD,gBAEa,EAAAO,OAAS,IACb,CAACrG,EAAauF,KAkDdvF,EAAOI,YAAYa,YACtBjB,EAAOI,YAAYa,UAAY,IAEjCjB,EAAOI,YAAYa,UAAUsE,GAAY,KACzCxE,OAAOgE,eAAe/E,EAAQuF,EAAU,CAAE9B,IArD1C,WAYE,MAXqB,CAAC8B,IACpB,GAAIxH,KAAK8H,aAAaN,GAAW,CAC/B,MAAMe,EAAYvI,KAAK0H,aAAaF,GACpC,QAAI,oBAAoBgB,KAAKD,KACP,QAAbA,GAAoC,IAAbA,GAKlC,OAAO,GAEFb,CAAaF,IAyCyBhE,IAvC/C,SAAamE,GACX,MAAMtE,EAAWsE,EACjB,GAAa7G,MAAT6G,EACF,cAAeA,GACb,IAAK,UACH,MACF,IAAK,SACC,oBAAoBa,KAAKb,GAC3BA,EAAoB,QAAZtE,GAAkC,IAAZA,GAE9BoF,QAAQC,KAAK,kDAAkDlB,UAAiBG,MAChFA,GAAQ,GAEV,MACF,QACE,KAAM,kDAAmDH,UAAiBG,KAG5E3H,KAAK4D,aACP5D,KAAKyC,MAAM+E,GAAYG,IAAS,EACf,KAAbtE,GAAgC,OAAbA,EACrBrD,KAAK6H,aAAaL,EAAUG,GAExBA,EACF3H,KAAK6H,aAAaL,EAAU,IAE5BxH,KAAK2I,gBAAgBnB,IAIpBxH,KAAK8H,aAAa,EAAA3F,YAAYqF,MACjCxH,KAAKqC,YAAYa,UAAUsE,GAAYG,Q,oNCjDpC,EAAAxF,YAAeyG,GACnBA,EACJC,QAAQ,kBAAmB,SAC3BA,QAAQ,UAAW,KACnBC,cAGQ,EAAArF,YAAemF,GACnBA,EACJE,cACAD,QAAQ,WAAYE,GAAMA,EAAE,GAAGC,gBAGvB,EAAA5B,UAAawB,GACjBA,EAAIC,QAAQ,gBAAiB,OACjCA,QAAQ,sBAAuB,KAC/BC,cAGQ,EAAAlB,YAAeD,GAClBsB,SAAStB,IAAUA,GAA+BuB,MAAtBC,WAAWxB,GAAkBsB,SAAStB,GAASA,G,4FCpBrF,gBAEa,EAAAyB,MAAS3B,GACb,CAACxF,EAAa8E,KACd9E,EAAOI,YAAYqB,kBACtBzB,EAAOI,YAAYqB,gBAAkB,IAEvCzB,EAAOI,YAAYqB,gBAAgB,EAAAvB,YAAYsF,IAAaV,EACvD9E,EAAOI,YAAYa,YACtBjB,EAAOI,YAAYa,UAAY,IAEjCjB,EAAOI,YAAYa,UAAUuE,GAAY,O,SCX7CnI,EAAOD,QAAU,unB,iqCCAjB,eASA,UACA,UAGA,aAgBA,IAAagK,EAAb,cAAqC,EAAA1D,cAkBlCtD,cACGG,QARK,KAAA8G,aAAuB,GAwC/B,KAAAC,2BAA8BC,IAC3B,MAAMC,EAAwBD,EAA6BE,QAAQ,GAAGC,eAChEC,EAAoBJ,EAA6BI,kBACjDC,EAA4BL,EAA6BE,QAAQzJ,KAAK6J,GAClE,QAAO,IAAAC,0BAAyBD,EAAcF,EAAmB5J,KAAKsJ,aAActJ,KAAKgK,sBAChGzJ,KAAK,IAMR,MAAO,oEAJ6C,aAAtBqJ,EACzB,IAAG,IAAAK,mBAAkBjK,KAAKgK,8BAA8BhK,KAAKsJ,eAC7D,IAAG,IAAAW,mBAAkBjK,KAAKgK,8BAA8BhK,KAAKsJ,qBAAqBM,4DAK/EH,sFAEGD,EAA6BU,iHAIhCL,mCAKX,KAAAM,oBAAuBC,GAIb,QAH2BA,EAAuBnK,KAAKuJ,GACpDxJ,KAAKuJ,2BAA2BC,KACvCjJ,KAAK,YAIX,KAAA8J,2BAA6B,KAC1BrK,KAAKsK,mBAAoB,GAhEzBtK,KAAKuK,mCAAqCvK,KAAKuK,mCAAmCC,KAAKxK,MAG1FyK,MAAMvD,GACHlH,KAAK6F,QAAQqB,EAAQwD,WACjBxD,EAAQtH,KACTI,KAAKJ,GAAKsH,EAAQtH,IAIxBmE,oBACG/D,KAAK2K,aAAc,IAAAzE,sBAAqBlG,KAAM,sBAC9CA,KAAK4K,kBAAmB,IAAA1E,sBAAqBlG,KAAM,4BACnDA,KAAK6K,cAAe,IAAA3E,sBAAqBlG,KAAM,yBAE/CA,KAAK4K,iBAAiBtG,UAA8B,OAAlBtE,KAAK8K,SAAoB,SAAW,MAEtE9K,KAAK6K,aAAavG,UAAY,UAE9BtE,KAAK+K,wBAAyB,IAAA7E,sBAAqBlG,KAAM,6BACzDA,KAAK+K,uBAAuB1F,MAAM2F,UAAeC,OAAOC,YAAc,GAAxB,KAC1ClL,KAAK2K,aAAe3K,KAAKsJ,cAC1BtJ,KAAK2K,YAAY9C,aAAa,QAAS7H,KAAKsJ,cAE/ClF,SAASuC,iBAAiB,QAAS3G,KAAKuK,oCAG3CY,uBACG/G,SAASgH,oBAAoB,QAASpL,KAAKuK,oCAuC9CA,mCAAmCc,G,MAChC,MAAMC,EAAgBD,EAAME,eAAe,GAC3C,GAAID,EAAcE,QAAQ,8BAAgCF,EAAcE,QAAQ,sBAAhF,CACG,MAAMC,EAAcH,EAAcE,QAAQ,MACrB,QAAjB,EAAAC,MAAAA,OAAW,EAAXA,EAAaC,YAAI,eAAEpL,SACpBN,KAAKqK,kCAIXrK,KAAKqK,6BAGRsB,eACG3L,KAAKqK,6BACDrK,KAAK4L,gBACN5L,KAAK6L,SAAS5E,KAAK,CAChB6E,OAAQ,CACLC,aAAc/L,KAAKsJ,gBAIzB2B,OAAOe,SAASN,KAAO,IAAG,IAAAzB,mBAAkBjK,KAAKgK,8BAA8BhK,KAAKsJ,eAM1F2C,iBAAiBZ,G,UACVA,EAAMa,KAAqB,UAAdb,EAAMa,MAAoC,QAAjB,EAAAlM,KAAKsJ,oBAAY,eAAEvJ,WAAWO,QACrEN,KAAK2L,eAEL3L,KAAKsJ,cAAsC,QAAvB,EAAgB,QAAhB,EAAAtJ,KAAK2K,mBAAW,eAAEhD,aAAK,eAAE5H,aAAc,GAKjEoM,kBAAkBd,GACfrL,KAAK2L,eAKRS,sBACOpM,KAAK2K,aACN3K,KAAK2K,YAAY9C,aAAa,QAAS7H,KAAKsJ,eAE/C,IAAA+C,4BAA2BrM,KAAKsJ,aAActJ,KAAK8K,SAAU9K,KAAKgK,aAAasC,MAAKlC,IACjFpK,KAAKoK,uBAAyBA,KAKpCmC,kBACOvM,KAAK2K,aACN3K,KAAK2K,YAAY9C,aAAa,aAAgC,OAAlB7H,KAAK8K,SAAoB,0BAA4B,mCAEhG9K,KAAK4K,mBACN5K,KAAK4K,iBAAiB4B,UAA8B,OAAlBxM,KAAK8K,SAAoB,SAAW,OAErE9K,KAAK6K,cACN7K,KAAK6K,aAAahD,aAAa,aAAgC,OAAlB7H,KAAK8K,SAAoB,SAAW,OAMvF2B,2BACGzM,KAAKsK,kBAAoBtK,KAAK+K,uBAAuB2B,UAAUC,IAAI,QAAU3M,KAAK+K,uBAAuB2B,UAAUE,OAAO,QAI7HC,+BACG,MAAMC,EAAgB9M,KAAKoK,wBAA0BpK,KAAKoK,uBAAuB9J,OAASN,KAAKoK,uBAAuB2C,QAAOvD,GACnHA,EAA6BU,SAAW,IAC7C,GACLlK,KAAK+K,uBAAuBzG,UAAYwI,EAAcxM,OAASN,KAAKmK,oBAAoB2C,GAAiB,GACzG9M,KAAKsK,oBAAoBwC,EAAcxM,OAGnC0M,aAAalH,EAAkBoB,GACnC,MAAM+F,GAAU,IAAAhH,YAA4BH,GAExCoB,EAAQgG,SACTD,EAAQtG,iBAAiB,oBAAqBO,EAAQgG,SAErDhG,EAAQiG,SACTF,EAAQ3C,kBAAoBpD,EAAQiG,UA5KlB,EAAAC,gBAAkB,oBAMlC,IAAP,IAAA7F,S,yBACO,IAAP,IAAAA,S,kCACS,IAAT,IAAAe,W,wCACS,IAAT,IAAAA,W,sCACO,IAAP,IAAAf,S,mCACO,IAAP,IAAAA,S,+BACO,IAAP,IAAAA,S,6CACiC,IAAjC,IAAAT,UAAS,yB,oCACwB,IAAjC,IAAAA,UAAS,yB,2CACY,IAArB,IAAAA,UAAS,a,+BAkGV,IADC,IAAAX,QAAO,QAAS,U,qCAUjB,IADC,IAAAA,QAAO,QAAS,0B,sCAOjB,IADC,IAAAiD,OAAM,iB,wCAWP,IADC,IAAAA,OAAM,a,oCAeP,IADC,IAAAA,OAAM,sB,6CAMP,IADC,IAAAA,OAAM,2B,iDA7JGC,EAAe,IAN3B,IAAAtH,WAAU,CACRG,IAAK,oBACLiC,SAAU,QAAF,wBAAS,SACjBkB,MAAO,QAAF,wBAAS,YAGJgE,GAAA,EAAAA,gBAAAA,G,kfC7BA,EAAAgE,qBAAwBrD,GAE1B,uBADiC,QAAhBA,GAAyC,SAAhBA,EAAyBA,EAAc,IAAM,oBAIrF,EAAAsD,mBAAqB,CAACxC,EAAkBd,IAG1C,eAFiC,QAAhBA,GAAyC,SAAhBA,EAAyB,QAAU,iBAC1C,OAAbc,EAAoB,MAAQ,6BAIhD,EAAAyC,eAAiB,CAACzC,EAAmB,KAAMd,EAAsB,MAC1E,MAAMwD,GAAS,IAAAF,oBAAmBxC,EAAUd,GAC5C,OAAOyD,MAAMD,GAAQlB,MAAKoB,GAAOA,EAAIC,SAAQrB,MAAKsB,GACvCA,KAIF,EAAAvB,2BAA6B,CAAON,EAAuB,GAAIjB,EAAmB,KAAMd,EAAsB,KAAO,OAAD,6BAE7H,MAAM6D,EAAsB,CACxBC,QAAS,eAFb/B,EAAeA,EAAahM,+DAGxBgO,OAAQ,eAAehC,qDACvBiC,QAAS,eAAejC,sDACxBkC,aAAc,eAAelC,2DAC7BmC,SAAU,eAAenC,uDACzBoC,SAAU,iBAAiBpC,KAEzBqC,EAAe,CACjBC,QAAS,IAAIC,QAAQ,CACjB,kBAAmBxD,KAK3B,OAAOiB,GAAgBA,EAAazL,aAAekE,QAAQ+J,IAAIvL,OAAOC,KAAK4K,GAAqB5N,KAAW2J,GAAsB,OAAD,6BAC5H,MAAM4E,GAAoB,IAAAnB,sBAAqBrD,GAE/C,OAAOyD,MAAM,GAAGe,KADSX,EAAoBjE,aACsCwE,GAC9E9B,MAAKoB,GAAOA,EAAIC,SAChBrB,MAAKQ,GACK,OAAP,wBACOA,GAAa,CAChBlD,kBAAAA,YAGV,S,oMC3CG,EAAAK,kBAAqBD,GAEvB,uBADiC,QAAhBA,GAAyC,SAAhBA,EAAyBA,EAAc,IAAM,gBAIrF,EAAAyE,eAAiB,CAAC3D,EAAkBd,IAGtC,eAFiC,QAAhBA,GAAyC,SAAhBA,EAAyB,QAAU,iBAC1C,OAAbc,EAAoB,MAAQ,KAIhD,EAAA4D,yBAA4B1E,GAE9B,sBADiC,QAAhBA,GAAyC,SAAhBA,EAAyB,QAAU,gBAMxF,MAAM2E,EAAqB,CAACC,EAAc/F,EAAiBgG,KAGvDD,GADAA,GADAA,EAAOA,EAAK/F,QAAQ,IAAIiG,OAAO,WAAWjG,YAAmB,MAAO,MAAMgG,SAC9DhG,QAAQ,IAAIiG,OAAO,WAAWjG,MAAa,MAAO,MAAMgG,MACxDhG,QAAQ,IAAIiG,OAAO,KAAKjG,YAAmB,MAAO,GAAGgG,SACrDhG,QAAQ,IAAIiG,OAAO,IAAIjG,KAAY,MAAOgG,GAK7C,EAAAE,qBAAuB,CAACH,EAAe,MAE5CA,EAAOA,EAAK9F,cAGZ8F,EAAOD,EAAmBC,EAAM,IAAK,QAarCA,GAHAA,GADAA,GAHAA,GADAA,GADAA,GADAA,GADAA,GADAA,EAAOD,EAAmBC,EAAM,IAAK,SACzB/F,QAAQ,IAAK,OACbA,QAAQ,IAAK,OACbA,QAAQ,IAAK,OACbA,QAAQ,IAAK,OACbA,QAAQ,IAAK,OAGbA,QAAQ,SAAU,MAClBA,QAAQ,SAAU,MAGlBA,QAAQ,gBAAiB,KAGzBA,QAAQ,4BAA6B,KAKzD,MAAMmG,EAA2B,CAACjD,EAAsBkD,KACpD,IAAIA,EAOG,OAAO,EANVA,EAAgB,CACZ5D,MAAO,qBACP6D,SAAU,iBACVC,SAAU,uBACVpD,aAAcA,KAKb,EAAAhC,yBAA2B,CAACD,EAAoCsF,EAAoBrD,EAAsB/B,EAAqBiF,IAClH,aAAfG,EACD,eAAeJ,EAAyBjD,EAAckD,aAA2BnF,EAAauF,eAAiBvF,EAAauF,eAAiB,QAAQvF,EAAawF,YAClK,eAAeN,EAAyBjD,EAAckD,cAA2B,IAAAhF,mBAAkBD,gBAAyB,IAAA+E,sBAAqBjF,EAAawF,UAAUxF,EAAayF,SAASzF,EAAawF,cCrEjNE,EAA2B,GAG/B,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqB5O,IAAjB6O,EACH,OAAOA,EAAatQ,QAGrB,IAAIC,EAASkQ,EAAyBE,GAAY,CACjD9P,GAAI8P,EAEJrQ,QAAS,IAOV,OAHAuQ,EAAoBF,GAAU7I,KAAKvH,EAAOD,QAASC,EAAQA,EAAOD,QAASoQ,GAGpEnQ,EAAOD,Q,OCpBfoQ,EAAoBI,EAAKvQ,IACxB,IAAIwQ,EAASxQ,GAAUA,EAAOyQ,WAC7B,IAAOzQ,EAAiB,QACxB,IAAM,EAEP,OADAmQ,EAAoBO,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,GCLRL,EAAoBO,EAAI,CAAC3Q,EAAS6Q,KACjC,IAAI,IAAIhE,KAAOgE,EACXT,EAAoBU,EAAED,EAAYhE,KAASuD,EAAoBU,EAAE9Q,EAAS6M,IAC5ElJ,OAAOgE,eAAe3H,EAAS6M,EAAK,CAAEkE,YAAY,EAAM1K,IAAKwK,EAAWhE,MCJ3EuD,EAAoBU,EAAI,CAACE,EAAKtI,IAAU/E,OAAOZ,UAAUkO,eAAezJ,KAAKwJ,EAAKtI,GCClF0H,EAAoBc,EAAKlR,IACH,oBAAXmR,QAA0BA,OAAOC,aAC1CzN,OAAOgE,eAAe3H,EAASmR,OAAOC,YAAa,CAAE9I,MAAO,WAE7D3E,OAAOgE,eAAe3H,EAAS,aAAc,CAAEsI,OAAO,KCF7B8H,EAAoB,O","sources":["webpack://geonorge/webpack/universalModuleDefinition","webpack://geonorge/./custom-elements/main-navigation/main-search-field/main-search-field.scss","webpack://geonorge/./custom-elements/main-navigation/main-search-field/main-search-field.html","webpack://geonorge/../node_modules/css-loader/dist/runtime/api.js","webpack://geonorge/../node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://geonorge/../node_modules/super-custom-elements/src/component.ts","webpack://geonorge/../node_modules/super-custom-elements/src/custom-element.ts","webpack://geonorge/../node_modules/super-custom-elements/src/helpers.ts","webpack://geonorge/../node_modules/super-custom-elements/src/index.ts","webpack://geonorge/../node_modules/super-custom-elements/src/listen.ts","webpack://geonorge/../node_modules/super-custom-elements/src/prop.ts","webpack://geonorge/../node_modules/super-custom-elements/src/toggle.ts","webpack://geonorge/../node_modules/super-custom-elements/src/util.ts","webpack://geonorge/../node_modules/super-custom-elements/src/watch.ts","webpack://geonorge/./assets/svg/search-icon.svg","webpack://geonorge/./custom-elements/main-navigation/main-search-field/main-search-field.ts","webpack://geonorge/./functions/apiHelpers.ts","webpack://geonorge/./functions/urlHelpers.ts","webpack://geonorge/webpack/bootstrap","webpack://geonorge/webpack/runtime/compat get default export","webpack://geonorge/webpack/runtime/define property getters","webpack://geonorge/webpack/runtime/hasOwnProperty shorthand","webpack://geonorge/webpack/runtime/make namespace object","webpack://geonorge/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"geonorge\"] = factory();\n\telse\n\t\troot[\"geonorge\"] = root[\"geonorge\"] || {}, root[\"geonorge\"][\"MainSearchField\"] = factory();\n})(self, () => {\nreturn ","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box}div.main-search-field{font-family:\\\"Open Sans\\\",sans-serif;display:flex;height:37px;margin-top:.25em;position:relative;width:100%}@media(min-width: 37.5em){div.main-search-field{margin-top:0}}div.main-search-field .mainSearchLabel{width:0;height:0;overflow:hidden;opacity:0}div.main-search-field input{height:37px;width:100%;outline-offset:-2px;-webkit-appearance:none;background:#fff;border:1px solid #dfdcda;border-right:0;border-radius:2px 0 0 2px;font-size:1.2em;flex:1;margin:0;padding:0 .75em}div.main-search-field button{margin:0;-webkit-appearance:button;background:#fff;border:1px solid #dfdcda;border-left:0;border-radius:0 2px 2px 0;display:inline-block;padding:0 .75em;height:100%}div.main-search-field button svg{height:22px;width:21px}div.search-results-container{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-moz-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;position:absolute;background:#fbfcfd;display:none;top:37px;z-index:1}div.search-results-container.open{display:block;width:100%;overflow-y:auto}div.search-results-container a{color:#3767c7;text-decoration:none}div.search-results-container a:hover{color:#0056b3;text-decoration:underline}div.search-results-container div.search-results-for-type:nth-child(odd){background-color:#fbfcfd}div.search-results-container div.search-results-for-type:nth-child(even){background-color:#f5f6f7}div.search-results-container div.search-results-for-type a.search-results-for-type-title{padding:8px 16px;font-size:1.2em;display:inline-block}div.search-results-container div.search-results-for-type a.search-results-for-type-title span.search-results-for-type-number-badge{-webkit-border-radius:6px;border-radius:6px;padding:2px 4px;color:#fff;background-color:#fe5000;display:inline-block;font-size:.8em;vertical-align:text-bottom}div.search-results-container div.search-results-for-type ul.search-results-for-type-list{list-style:none;padding:0 16px 8px 32px;margin:0}div.search-results-container div.search-results-for-type ul.search-results-for-type-list li a{padding:4px 0;display:block}.hidden{height:0;width:0;position:absolute;color:rgba(0,0,0,0);overflow:hidden}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/main-search-field/main-search-field.scss\",\"webpack://./style/variables/_typography.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/mixins/_box-shadow.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAEA,EACE,qBAAA,CAGF,sBACE,kCCPa,CDQb,YAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,UAAA,CEEM,0BFRR,sBAQI,YAAA,CAAA,CAGF,uCACE,OAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CAGF,4BACE,WAAA,CACA,UAAA,CACA,mBAAA,CACA,uBAAA,CACA,eAAA,CACA,wBAAA,CACA,cAAA,CACA,yBAAA,CACA,eAAA,CACA,MAAA,CACA,QAAA,CACA,eAAA,CAGF,6BACE,QAAA,CACA,yBAAA,CACA,eAAA,CACA,wBAAA,CACA,aAAA,CACA,yBAAA,CACA,oBAAA,CACA,eAAA,CACA,WAAA,CAEA,iCACE,WAAA,CACA,UAAA,CAKN,6BGxDI,8GHyDF,CGxDE,2GHwDF,CGvDE,sGHuDF,CIzDA,iCJ8DuB,CI7DvB,yBJ6DuB,CACvB,iBAAA,CACA,kBAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CAEA,kCACE,aAAA,CACA,UAAA,CACA,eAAA,CAGF,+BACE,aK/DW,CLgEX,oBAAA,CACA,qCACE,aKjEc,CLkEd,yBAAA,CAKF,wEACE,wBAAA,CAEF,yEACE,wBAAA,CAEF,yFACE,gBAAA,CACA,eAAA,CACA,oBAAA,CACA,mII/FJ,yBJgG6B,CI/F7B,iBJ+F6B,CACvB,eAAA,CACA,UAAA,CACA,wBK3FQ,CL4FR,oBAAA,CACA,cAAA,CACA,0BAAA,CAGJ,yFACE,eAAA,CACA,uBAAA,CACA,QAAA,CAEE,8FACE,aAAA,CACA,aAAA,CAOV,QACE,QAAA,CACA,OAAA,CACA,iBAAA,CACA,mBAAA,CACA,eAAA\",\"sourcesContent\":[\"@import \\\"../../../style/all\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\ndiv.main-search-field {\\n font-family: $default-font;\\n display: flex;\\n height: 37px;\\n margin-top: 0.25em;\\n position: relative;\\n width: 100%;\\n @include breakpoint(phablet) {\\n margin-top: 0;\\n }\\n\\n .mainSearchLabel {\\n width: 0;\\n height: 0;\\n overflow: hidden;\\n opacity: 0;\\n }\\n\\n input {\\n height: 37px;\\n width: 100%;\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n background: #fff;\\n border: 1px solid #dfdcda;\\n border-right: 0;\\n border-radius: 2px 0 0 2px;\\n font-size: 1.2em;\\n flex: 1;\\n margin: 0;\\n padding: 0 0.75em;\\n }\\n\\n button {\\n margin: 0;\\n -webkit-appearance: button;\\n background: #fff;\\n border: 1px solid #dfdcda;\\n border-left: 0;\\n border-radius: 0 2px 2px 0;\\n display: inline-block;\\n padding: 0 0.75em;\\n height: 100%;\\n\\n svg {\\n height: 22px;\\n width: 21px;\\n }\\n }\\n}\\n\\ndiv.search-results-container {\\n @include box-shadow(\\n 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12)\\n );\\n @include border-radius(0 0 3px 3px);\\n position: absolute;\\n background: #fbfcfd;\\n display: none;\\n top: 37px;\\n z-index: 1;\\n\\n &.open {\\n display: block;\\n width: 100%;\\n overflow-y: auto;\\n }\\n\\n a {\\n color: $primary-text;\\n text-decoration: none;\\n &:hover {\\n color: $primary-text-hover;\\n text-decoration: underline;\\n }\\n }\\n\\n div.search-results-for-type {\\n &:nth-child(odd) {\\n background-color: #fbfcfd;\\n }\\n &:nth-child(even) {\\n background-color: #f5f6f7;\\n }\\n a.search-results-for-type-title {\\n padding: 8px 16px;\\n font-size: 1.2em;\\n display: inline-block;\\n span.search-results-for-type-number-badge {\\n @include border-radius(6px);\\n padding: 2px 4px;\\n color: #fff;\\n background-color: $primary-brand;\\n display: inline-block;\\n font-size: 0.8em;\\n vertical-align: text-bottom;\\n }\\n }\\n ul.search-results-for-type-list {\\n list-style: none;\\n padding: 0 16px 8px 32px;\\n margin: 0;\\n li {\\n a {\\n padding: 4px 0;\\n display: block;\\n }\\n }\\n }\\n }\\n}\\n\\n.hidden {\\n height: 0;\\n width: 0;\\n position: absolute;\\n color: transparent;\\n overflow: hidden;\\n}\\n\",\"$default-font: \\\"Open Sans\\\", sans-serif;\\n$header-font: \\\"Raleway\\\";\",\"@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: $screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: $screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: $screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: $screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"@mixin box-shadow($shadows...) {\\n -webkit-box-shadow: $shadows;\\n -moz-box-shadow: $shadows;\\n box-shadow: $shadows;\\n}\\n\",\"@mixin border-radius($radius) {\\n -webkit-border-radius: $radius;\\n border-radius: $radius;\\n}\\n\\n// Single side border-radius\\n\\n@mixin border-top-radius($radius) {\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\\n@mixin border-right-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n}\\n@mixin border-bottom-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n}\\n@mixin border-left-radius($radius) {\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\",\"$body-background: #ffffff;\\n$navigation-bar-background: #f7f7f7;\\n$hover-background: rgba(0,0,0,.05);\\n$default-border: #d8d8d8;\\n\\n$default-background: #eee;\\n$default-background-hover: #ddd;\\n$default-text:#2F3940;\\n\\n$primary-brand: #FE5000;\\n$secondary-brand: #7da1c4;\\n\\n$primary-background: #7DA1C4;\\n$primary-background-hover: #FE5000;\\n$primary-text: #3767C7;\\n$primary-text-hover:#0056b3;\\n\\n\\n$success-background: #06A755;\\n$success-background-hover: #009745;\\n$success-text: #06A755;\\n\\n\\n$warning-background: #C38621;\\n$warning-background-hover: #B37611;\\n$warning-text: #C38621;\\n\\n$danger-background: #E00d0D;\\n$danger-background-hover: #D00000;\\n$danger-text: #E00d0D;\\n\\n$disabled-background: #ffffff;\\n$disabled-text: #d8d8d8;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","export default \"<template>\\n <div class=\\\"main-search-field\\\">\\n <label id=\\\"main-search-input-label\\\" for=\\\"main-search-input\\\" class=\\\"hidden\\\">søk</label>\\n <input id=\\\"main-search-input\\\" autocomplete=\\\"off\\\" type=\\\"search\\\" value=\\\"\\\" />\\n <button id=\\\"search-submit-button\\\"></button>\\n <div id=\\\"search-results-container\\\" class=\\\"search-results-container\\\">\\n \\n </div>\\n </div>\\n </template>\";","\"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 (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","import { addEventListeners, ListenerMetadata } from './listen';\r\nimport { initializeProps } from './prop';\r\nimport { ComponentMetadata, KeyValue } from './types';\r\nimport { toKebabCase, toCamelCase } from './util';\r\n\r\nexport const Component = (args: ComponentMetadata) => {\r\n return (target: any) => {\r\n const tag: string = args.tag || toKebabCase(target.prototype.constructor.name);\r\n const customElement: any = class extends (target as { new(): any }) {\r\n protected static __connected: boolean = false;\r\n protected static propsInit: KeyValue;\r\n protected static watchAttributes: KeyValue;\r\n protected static listeners: ListenerMetadata[];\r\n protected static ready: Promise<boolean> = new Promise((resolve, _) => resolve(true));\r\n public props: KeyValue = {};\r\n private showShadowRoot: boolean;\r\n\r\n public static get observedAttributes(): string[] {\r\n return Object.keys(this.propsInit || {}).map(x => toKebabCase(x));\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n this.showShadowRoot = args.shadow == null ? true : args.shadow;\r\n\r\n if (!this.shadowRoot && this.showShadowRoot) {\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n }\r\n\r\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\r\n this.onAttributeChange(name, oldValue, newValue);\r\n }\r\n\r\n public onAttributeChange(name: string, oldValue: string, newValue: string, set: boolean = true): void {\r\n if (oldValue != newValue) {\r\n if (set) { this[toCamelCase(name)] = newValue; }\r\n const watchAttributes: KeyValue = (this.constructor as any).watchAttributes;\r\n if (watchAttributes && watchAttributes[name]) {\r\n const methodToCall: string = watchAttributes[name];\r\n if (this.__connected) {\r\n if (typeof this[methodToCall] == 'function') {\r\n this[methodToCall]({ old: oldValue, new: newValue });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async connectedCallback(): Promise<void> {\r\n await this.render();\r\n super.connectedCallback && super.connectedCallback();\r\n this.__connected = true;\r\n\r\n addEventListeners(this);\r\n initializeProps(this);\r\n }\r\n\r\n private async render(): Promise<void> {\r\n if (this.__connected) {\r\n return;\r\n }\r\n\r\n const template = document.createElement('template');\r\n template.innerHTML = await this.getStyle();\r\n\r\n if (args.template instanceof Promise) {\r\n template.content.appendChild(await this.getExternalTemplate());\r\n } else if (typeof args.template === 'string') {\r\n template.innerHTML += args.template;\r\n }\r\n\r\n (this.showShadowRoot ? this.shadowRoot : this).appendChild(template.content.cloneNode(true));\r\n }\r\n\r\n private async getExternalTemplate(): Promise<DocumentFragment> {\r\n const templateModule = await (args.template as Promise<typeof import('*.html')>);\r\n const markup = templateModule.default.toString();\r\n const fragment = document.createRange().createContextualFragment(markup);\r\n\r\n if (fragment.children.length === 1 && fragment.children[0].nodeName === 'TEMPLATE') {\r\n return (fragment.firstChild as HTMLTemplateElement).content;\r\n }\r\n return fragment;\r\n }\r\n\r\n private async getStyle(): Promise<string> {\r\n let css: string;\r\n\r\n if (args.style instanceof Promise) {\r\n const styleModule = await args.style;\r\n css = styleModule.default.toString();\r\n } else if (typeof args.style === 'string') {\r\n css = args.style;\r\n }\r\n\r\n return `${css ? `<style>${css}</style>` : ''}`\r\n }\r\n };\r\n\r\n if (!customElements.get(tag)) {\r\n customElements.define(tag, customElement);\r\n }\r\n\r\n return customElement;\r\n };\r\n};\r\n\r\n\r\n","import { CustomElementOptions } from \"./types\";\r\n\r\nexport abstract class CustomElement extends HTMLElement {\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected abstract setup(options?: CustomElementOptions): void;\r\n\r\n protected connect(selector: string): void {\r\n if (!this.isConnected) {\r\n document.querySelector(selector).appendChild(this);\r\n }\r\n }\r\n}\r\n","export const getElement = <T extends HTMLElement>(selector: string): T => {\r\n return document.querySelector(selector);\r\n};\r\n\r\nexport const getShadowRootElement = <T extends HTMLElement>(customElement: HTMLElement, selector: string): T => {\r\n return customElement.shadowRoot.querySelector(selector);\r\n};","export * from './component';\r\nexport * from './custom-element';\r\nexport * from './helpers';\r\nexport * from './listen';\r\nexport * from './prop';\r\nexport * from './toggle';\r\nexport * from './types';\r\nexport * from './watch';","import { toDotCase } from './util';\r\n\r\ninterface ListenerMetadata {\r\n eventName: string;\r\n handler: Function;\r\n selector?: string;\r\n}\r\n\r\ninterface CustomEventOptions {\r\n bubbles?: boolean;\r\n composed?: boolean;\r\n detail?: any;\r\n}\r\n\r\ninterface DispatchEmitter {\r\n emit(options?: CustomEventOptions): void;\r\n}\r\n\r\nconst Listen = (eventName: string, selector?: string) => {\r\n return (target: any, methodName: string) => {\r\n if (!target.constructor.listeners) {\r\n target.constructor.listeners = [];\r\n }\r\n target.constructor.listeners.push({ selector: selector, eventName: eventName, handler: target[methodName] });\r\n };\r\n};\r\n\r\nconst addEventListeners = (target: any) => {\r\n if (target.constructor.listeners) {\r\n const targetRoot: any = target.shadowRoot || target;\r\n for (const listener of target.constructor.listeners as Array<ListenerMetadata>) {\r\n const eventTarget = (listener.selector)\r\n ? targetRoot.querySelector(listener.selector)\r\n ? targetRoot.querySelector(listener.selector) : null\r\n : target;\r\n if (eventTarget) {\r\n eventTarget.addEventListener(listener.eventName, (e: CustomEvent) => {\r\n listener.handler.call(target, e);\r\n });\r\n }\r\n }\r\n }\r\n};\r\n\r\nconst Dispatch = (eventName?: string) => {\r\n return (target: HTMLElement, propertyName: string) => {\r\n function get() {\r\n const self: EventTarget = this as EventTarget;\r\n return {\r\n emit(options?: CustomEventOptions) {\r\n const evtName = (eventName) ? eventName : toDotCase(propertyName);\r\n self.dispatchEvent(new CustomEvent(evtName, options));\r\n }\r\n };\r\n }\r\n Object.defineProperty(target, propertyName, { get });\r\n };\r\n};\r\n\r\nexport { Listen, addEventListeners, DispatchEmitter, Dispatch, CustomEventOptions, ListenerMetadata };","import { toKebabCase, tryParseInt } from './util';\r\n\r\nexport const Prop = (): any => {\r\n return (target: any, propName: any) => {\r\n const attrName = toKebabCase(propName);\r\n function get() {\r\n if (this.props[propName]) {\r\n return this.props[propName];\r\n }\r\n return this.getAttribute(attrName);\r\n }\r\n function set(value: any) {\r\n if (this.__connected) {\r\n const oldValue = this.props[propName];\r\n this.props[propName] = tryParseInt(value);\r\n if (typeof value != 'object') {\r\n this.setAttribute(attrName, value);\r\n } else {\r\n this.onAttributeChange(attrName, oldValue, value, false);\r\n }\r\n } else {\r\n if (!this.hasAttribute(toKebabCase(propName))) {\r\n this.constructor.propsInit[propName] = value;\r\n }\r\n }\r\n }\r\n if (!target.constructor.propsInit) {\r\n target.constructor.propsInit = {};\r\n }\r\n target.constructor.propsInit[propName] = null;\r\n Object.defineProperty(target, propName, { get, set });\r\n };\r\n};\r\n\r\nconst getProps = (target: any) => {\r\n const watchAttributes = target.constructor.watchAttributes;\r\n const plainAttributes = { ...watchAttributes };\r\n Object.keys(plainAttributes).forEach(v => plainAttributes[v] = '');\r\n const cycleProps = { ...plainAttributes, ...target.constructor.propsInit };\r\n return Object.keys(cycleProps);\r\n};\r\n\r\nexport const initializeProps = (target: any) => {\r\n const watchAttributes = target.constructor.watchAttributes;\r\n for (let prop of getProps(target)) {\r\n if (watchAttributes) {\r\n if (watchAttributes[toKebabCase(prop)] == null) {\r\n watchAttributes[toKebabCase(prop)] = '';\r\n } else {\r\n const attribValue = target.props[prop] || target.getAttribute(toKebabCase(prop));\r\n if (typeof target[watchAttributes[prop]] == 'function') {\r\n target[watchAttributes[prop]]({ new: attribValue });\r\n }\r\n }\r\n }\r\n if (target.constructor.propsInit[prop]) {\r\n if (!target.hasAttribute(toKebabCase(prop))) {\r\n target[prop] = target.constructor.propsInit[prop];\r\n }\r\n }\r\n }\r\n};","import { toKebabCase } from './util';\r\n\r\nexport const Toggle = (): any => {\r\n return (target: any, propName: any) => {\r\n function get() {\r\n const getAttribute = (propName: string) => {\r\n if (this.hasAttribute(propName)) {\r\n const attrValue = this.getAttribute(propName);\r\n if (/^(true|false|^$)$/.test(attrValue)) {\r\n return attrValue == 'true' || attrValue == '';\r\n } else {\r\n return false;\r\n }\r\n }\r\n return false;\r\n };\r\n return getAttribute(propName);\r\n }\r\n function set(value: any) {\r\n const oldValue = value;\r\n if (value != undefined) {\r\n switch (typeof value) {\r\n case 'boolean':\r\n break;\r\n case 'string':\r\n if (/^(true|false|^$)$/.test(value)) {\r\n value = oldValue == 'true' || oldValue == '';\r\n } else {\r\n console.warn(`TypeError: Cannot set boolean toggle property '${propName}' to '${value}'`);\r\n value = false;\r\n }\r\n break;\r\n default:\r\n throw (`TypeError: Cannot set boolean toggle property '${propName}' to '${value}'`);\r\n }\r\n }\r\n if (this.__connected) {\r\n this.props[propName] = value || false;\r\n if (oldValue !== '' && oldValue !== null) {\r\n this.setAttribute(propName, value);\r\n } else {\r\n if (value) {\r\n this.setAttribute(propName, '');\r\n } else {\r\n this.removeAttribute(propName);\r\n }\r\n }\r\n } else {\r\n if (!this.hasAttribute(toKebabCase(propName))) {\r\n this.constructor.propsInit[propName] = value;\r\n }\r\n }\r\n }\r\n if (!target.constructor.propsInit) {\r\n target.constructor.propsInit = {};\r\n }\r\n target.constructor.propsInit[propName] = null;\r\n Object.defineProperty(target, propName, { get, set });\r\n };\r\n};\r\n","export const toKebabCase = (str: string) => {\r\n return str\r\n .replace(/([a-z])([A-Z])/g, '$1-$2')\r\n .replace(/[\\s_]+/g, '-')\r\n .toLowerCase();\r\n};\r\n\r\nexport const toCamelCase = (str: string) => {\r\n return str\r\n .toLowerCase()\r\n .replace(/(\\-\\w)/g, (m) => m[1].toUpperCase());\r\n};\r\n\r\nexport const toDotCase = (str: string) => {\r\n return str.replace(/(?!^)([A-Z])/g, ' $1')\r\n .replace(/[_\\s]+(?=[a-zA-Z])/g, '.')\r\n .toLowerCase();\r\n};\r\n\r\nexport const tryParseInt = (value: any) => {\r\n return (parseInt(value) == value && parseFloat(value) !== NaN) ? parseInt(value) : value;\r\n};\r\n","import { toKebabCase } from './util';\r\n\r\nexport const Watch = (attrName: string) => {\r\n return (target: any, propertyName: string) => {\r\n if (!target.constructor.watchAttributes) {\r\n target.constructor.watchAttributes = {};\r\n }\r\n target.constructor.watchAttributes[toKebabCase(attrName)] = propertyName;\r\n if (!target.constructor.propsInit) {\r\n target.constructor.propsInit = {};\r\n }\r\n target.constructor.propsInit[attrName] = null;\r\n };\r\n};","module.exports = \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 34 35\\\" style=\\\"enable-background:new 0 0 34 35;\\\" xml:space=\\\"preserve\\\"><style type=\\\"text/css\\\"> .__24nL31r__st0{fill:#B0A9A2;} </style><g><path class=\\\"__24nL31r__st0 \\\" d=\\\"M23.6,22.8c2.2-2.4,3.6-5.7,3.6-9.2C27.2,6.1,21.1,0,13.6,0C6.1,0,0,6.1,0,13.6c0,7.5,6.1,13.6,13.6,13.6 c3.1,0,5.9-1,8.1-2.7l10.1,10.1c0.2,0.2,0.6,0.4,0.9,0.4c0.3,0,0.6-0.1,0.9-0.4c0.5-0.5,0.5-1.3,0-1.7L23.6,22.8z M2.5,13.6 c0-6.1,5-11.1,11.1-11.1c6.1,0,11.1,5,11.1,11.1s-5,11.1-11.1,11.1S2.5,19.7,2.5,13.6L2.5,13.6z\\\"></path></g></svg>\"","import {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n// Interfaces\nimport { SearchResultsForType, SearchResultsResponseForType } from 'interfaces/search';\n\n// Functions\nimport { fetchDropdownSearchResults } from 'functions/apiHelpers';\nimport { renderDropdownResultLink, getKartkatalogUrl } from 'functions/urlHelpers';\n\n// Assets\nimport SearchIcon from 'assets/svg/search-icon.svg';\n\ninterface MainSearchFieldOptions extends CustomElementOptions {\n active?: boolean,\n value?: string,\n onSearchStringChange?: () => void,\n onClick?: () => void,\n onSearch?: () => void\n}\n\n@Component({\n tag: 'main-search-field',\n template: import('./main-search-field.html'),\n style: import('./main-search-field.scss')\n})\n\nexport class MainSearchField extends CustomElement {\n private static readonly elementSelector = 'main-search-field';\n private searchField: HTMLInputElement;\n private searchFieldLabel: HTMLInputElement;\n private searchButton: HTMLInputElement;\n private searchResultsContainer: HTMLInputElement;\n\n @Prop() id: string;\n @Prop() environment: string;\n @Toggle() showSearchResults: boolean;\n @Toggle() preventRedirect: boolean;\n @Prop() searchstring: string = '';\n @Prop() language: string;\n @Prop() searchResultsResponses: Array<SearchResultsResponseForType>;\n @Dispatch('searchResultsChanged') onTextChanged: DispatchEmitter;\n @Dispatch('onSearchStringChange') onSearchStringChange: DispatchEmitter;\n @Dispatch('onSearch') onSearch: DispatchEmitter;\n\n constructor() {\n super();\n this.clickOutsideSearchResultsContainer = this.clickOutsideSearchResultsContainer.bind(this);\n }\n\n setup(options?: MainSearchFieldOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.searchField = getShadowRootElement(this, '#main-search-input');\n this.searchFieldLabel = getShadowRootElement(this, '#main-search-input-label');\n this.searchButton = getShadowRootElement(this, '#search-submit-button');\n\n this.searchFieldLabel.innerHTML = this.language === 'en' ? 'Search' : 'Søk';\n\n this.searchButton.innerHTML = SearchIcon;\n\n this.searchResultsContainer = getShadowRootElement(this, '#search-results-container');\n this.searchResultsContainer.style.maxHeight = `${window.innerHeight - 61}px`;\n if (this.searchField && this.searchstring) {\n this.searchField.setAttribute('value', this.searchstring);\n }\n document.addEventListener('click', this.clickOutsideSearchResultsContainer);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.clickOutsideSearchResultsContainer);\n }\n\n renderSearchResultsForType = (searchResultsResponseForType: SearchResultsResponseForType) => {\n const searchResultsTypeName = searchResultsResponseForType.Results[0].TypeTranslated;\n const searchResultsType = searchResultsResponseForType.searchResultsType;\n const searchResultsListElements = searchResultsResponseForType.Results.map((searchResult: SearchResultsForType) => {\n return `<li>${renderDropdownResultLink(searchResult, searchResultsType, this.searchstring, this.environment)}</li>`;\n }).join('');\n\n const searchResultsTypeLink = searchResultsType === 'articles'\n ? `${getKartkatalogUrl(this.environment)}/articles?text=${this.searchstring}`\n : `${getKartkatalogUrl(this.environment)}/metadata?text=${this.searchstring}&type=${searchResultsType}`;\n\n return `\n <div class=\"search-results-for-type\">\n <a href=\"${searchResultsTypeLink}\" class=\"search-results-for-type-title\">\n ${searchResultsTypeName}\n <span class=\"search-results-for-type-number-badge\">\n ${searchResultsResponseForType.NumFound}\n </span>\n </a>\n <ul class=\"search-results-for-type-list\">\n ${searchResultsListElements}\n </ul>\n </div>`;\n }\n\n renderSearchResults = (searchResultsResponses: Array<SearchResultsResponseForType>) => {\n const searchResultsListElements = searchResultsResponses.map((searchResultsResponseForType: SearchResultsResponseForType) => {\n return this.renderSearchResultsForType(searchResultsResponseForType);\n }).join('');\n return `<div>${searchResultsListElements}</div>`;\n }\n\n hideSearchResultsContainer = () => {\n this.showSearchResults = false;\n }\n\n clickOutsideSearchResultsContainer(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n if (targetElement.closest('#search-results-container') || targetElement.closest('#main-search-input')) {\n const closestLink = targetElement.closest('a');\n if (closestLink?.href?.length) {\n this.hideSearchResultsContainer();\n }\n return\n }\n this.hideSearchResultsContainer();\n }\n\n submitSearch() {\n this.hideSearchResultsContainer();\n if (this.preventRedirect) {\n this.onSearch.emit({\n detail: {\n searchString: this.searchstring\n }\n });\n } else {\n window.location.href = `${getKartkatalogUrl(this.environment)}/metadata?text=${this.searchstring}`\n }\n\n }\n\n @Listen('keyup', 'input')\n searchFieldKeyUp(event: KeyboardEvent) {\n if (event.key && event.key === 'Enter' && this.searchstring?.toString().length) {\n this.submitSearch()\n } else {\n this.searchstring = this.searchField?.value?.toString() || '';\n }\n }\n\n @Listen('click', '#search-submit-button')\n onSearchSubmitted(event: MouseEvent) {\n this.submitSearch();\n }\n\n\n @Watch('searchstring')\n searchStringChanged() {\n if (this.searchField) {\n this.searchField.setAttribute('value', this.searchstring)\n }\n fetchDropdownSearchResults(this.searchstring, this.language, this.environment).then(searchResultsResponses => {\n this.searchResultsResponses = searchResultsResponses;\n });\n }\n\n @Watch('language')\n languageChanged() {\n if (this.searchField) {\n this.searchField.setAttribute('aria-label', this.language === 'en' ? 'Enter your search query' : 'Skriv inn det du vil søke etter');\n }\n if (this.searchFieldLabel) {\n this.searchFieldLabel.innerText = this.language === 'en' ? 'Search' : 'Søk';\n }\n if (this.searchButton) {\n this.searchButton.setAttribute('aria-label', this.language === 'en' ? 'Search' : 'Søk');\n }\n }\n\n\n @Watch('showsearchresults')\n showSearchResultsChanged() {\n this.showSearchResults ? this.searchResultsContainer.classList.add('open') : this.searchResultsContainer.classList.remove('open');\n }\n\n @Watch('searchResultsResponses')\n searchResultsResponseChanged() {\n const searchResults = this.searchResultsResponses && this.searchResultsResponses.length ? this.searchResultsResponses.filter(searchResultsResponseForType => {\n return searchResultsResponseForType.NumFound > 0\n }) : [];\n this.searchResultsContainer.innerHTML = searchResults.length ? this.renderSearchResults(searchResults) : '';\n this.showSearchResults = searchResults.length ? true : false;\n }\n\n public static setup(selector: string, options: MainSearchFieldOptions) {\n const element = getElement<MainSearchField>(selector);\n\n if (options.onClick) {\n element.addEventListener('searchButtonClick', options.onClick);\n }\n if (options.active) {\n element.showSearchResults = options.active;\n }\n }\n}\n","export const getKartkatalogApiUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? environment + '.' : '';\n return `https://kartkatalog.${environmentSlug}geonorge.no/api`;\n};\n\nexport const getGeonorgeMenuUrl = (language: string, environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? 'test.' : '';\n const selectedLanguageSlug = language === 'en' ? 'en/' : '';\n return `https://www.${environmentSlug}geonorge.no/${selectedLanguageSlug}api/menu/get?omitLinks=1`;\n};\n\nexport const fetchMenuItems = (language: string = \"no\", environment: string = \"\") => {\n const apiUrl = getGeonorgeMenuUrl(language, environment);\n return fetch(apiUrl).then(res => res.json()).then(menuItems => {\n return menuItems;\n });\n}\n\nexport const fetchDropdownSearchResults = async (searchString: string = \"\", language: string = \"no\", environment: string = '') => {\n searchString = searchString.toString();\n const urlParameterStrings = {\n dataset: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=dataset`,\n series: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=series`,\n service: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=service`,\n servicelayer: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=servicelayer`,\n software: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=software`,\n articles: `articles?text=${searchString}`\n };\n const fetchOptions = {\n headers: new Headers({\n 'Accept-Language': language\n })\n };\n const limitParameterString = 'limit=5';\n\n return searchString && searchString.length ? await Promise.all(Object.keys(urlParameterStrings).map(async (searchResultsType) => {\n const kartkatalogApiUrl = getKartkatalogApiUrl(environment);\n let urlParameterString = urlParameterStrings[searchResultsType];\n return fetch(`${kartkatalogApiUrl}/${urlParameterString}&${limitParameterString}`, fetchOptions)\n .then(res => res.json())\n .then(searchResults => {\n return {\n ...searchResults,\n searchResultsType\n };\n })\n })) : null;\n};","// Interfaces\nimport { SearchResultsForType } from 'interfaces/search';\n\nexport const getKartkatalogUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? environment + '.' : '';\n return `https://kartkatalog.${environmentSlug}geonorge.no`;\n};\n\nexport const getGeonorgeUrl = (language: string, environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? 'test.' : '';\n const selectedLanguageSlug = language === 'en' ? 'en/' : '';\n return `https://www.${environmentSlug}geonorge.no/${selectedLanguageSlug}`;\n};\n\nexport const getGeonorgeNedlastingUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? 'test.' : '';\n return `https://nedlasting.${environmentSlug}geonorge.no`;\n};\n\n\n\nconst replaceAndAddSpace = (text: string, replace: string, replaceWith: string) => {\n text = text.replace(new RegExp(`([^s])([${replace}])([^s])`, 'ig'), `$1 ${replaceWith} $3`); // Character right before and after\n text = text.replace(new RegExp(`([^s])([${replace}])`, 'ig'), `$1 ${replaceWith}`); // Character right before\n text = text.replace(new RegExp(`([${replace}])([^s])`, 'ig'), `${replaceWith} $2`); // Character right after\n text = text.replace(new RegExp(`[${replace}]`, 'ig'), replaceWith); // No character right before or after\n \n return text;\n }\n\nexport const convertTextToUrlSlug = (text: string = '') => {\n // To lower case\n text = text.toLowerCase();\n\n // Character replace\n text = replaceAndAddSpace(text, \"&\", \"and\");\n text = replaceAndAddSpace(text, \"+\", \"plus\");\n text = text.replace(\"æ\", \"ae\");\n text = text.replace(\"ä\", \"ae\");\n text = text.replace(\"ø\", \"oe\");\n text = text.replace(\"ö\", \"oe\");\n text = text.replace(\"å\", \"aa\");\n\n // Whitespace replace\n text = text.replace(/( - )/g, \"-\");\n text = text.replace(/[\\s]+/g, \"-\");\n\n // Unwated character replace\n text = text.replace(/[^a-z0-9-]+/ig, \"\");\n\n // Remove any character before first and after last A-Z or 0-9\n text = text.replace(/^[^A-Z0-9]*|[^a-z0-9]*$/ig, \"\");\n\n return text;\n}\n\nconst handleSearchResultsClick = (searchString: string, pushToDataLayer?: Function) => {\n if (pushToDataLayer) {\n pushToDataLayer({\n event: 'updateSearchString',\n category: 'metadataSearch',\n activity: 'dropDownResultsClick',\n searchString: searchString\n });\n } else return false;\n}\n\nexport const renderDropdownResultLink = (searchResult: SearchResultsForType, resultType: string, searchString: string, environment: string, pushToDataLayer?: Function) => {\n return resultType === 'articles'\n ? `<a onClick=\"${handleSearchResultsClick(searchString, pushToDataLayer)}\" href=\"${searchResult.ShowDetailsUrl ? searchResult.ShowDetailsUrl : '#'}\">${searchResult.Title}</a>`\n : `<a onClick=\"${handleSearchResultsClick(searchString, pushToDataLayer)}\" href=\"${getKartkatalogUrl(environment)}/metadata/${convertTextToUrlSlug(searchResult.Title)}/${searchResult.Uuid}\">${searchResult.Title}</a>`\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\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].call(module.exports, 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};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(6306);\n"],"names":["root","factory","exports","module","define","amd","self","___CSS_LOADER_EXPORT___","push","id","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","sourceURLs","sources","source","sourceRoot","Component","args","target","tag","toKebabCase","prototype","constructor","name","customElement","super","props","showShadowRoot","shadow","shadowRoot","attachShadow","mode","observedAttributes","Object","keys","propsInit","x","attributeChangedCallback","oldValue","newValue","onAttributeChange","set","toCamelCase","watchAttributes","methodToCall","__connected","old","new","connectedCallback","render","addEventListeners","initializeProps","template","document","createElement","innerHTML","getStyle","Promise","appendChild","getExternalTemplate","cloneNode","markup","default","fragment","createRange","createContextualFragment","children","nodeName","firstChild","css","style","ready","resolve","_","customElements","get","CustomElement","HTMLElement","connect","selector","isConnected","querySelector","getElement","getShadowRootElement","Listen","eventName","methodName","listeners","handler","targetRoot","listener","eventTarget","addEventListener","e","call","Dispatch","propertyName","defineProperty","emit","options","evtName","toDotCase","dispatchEvent","CustomEvent","Prop","propName","attrName","getAttribute","value","tryParseInt","setAttribute","hasAttribute","prop","plainAttributes","forEach","v","cycleProps","getProps","attribValue","Toggle","attrValue","test","console","warn","removeAttribute","str","replace","toLowerCase","m","toUpperCase","parseInt","NaN","parseFloat","Watch","MainSearchField","searchstring","renderSearchResultsForType","searchResultsResponseForType","searchResultsTypeName","Results","TypeTranslated","searchResultsType","searchResultsListElements","searchResult","renderDropdownResultLink","environment","getKartkatalogUrl","NumFound","renderSearchResults","searchResultsResponses","hideSearchResultsContainer","showSearchResults","clickOutsideSearchResultsContainer","bind","setup","container","searchField","searchFieldLabel","searchButton","language","searchResultsContainer","maxHeight","window","innerHeight","disconnectedCallback","removeEventListener","event","targetElement","composedPath","closest","closestLink","href","submitSearch","preventRedirect","onSearch","detail","searchString","location","searchFieldKeyUp","key","onSearchSubmitted","searchStringChanged","fetchDropdownSearchResults","then","languageChanged","innerText","showSearchResultsChanged","classList","add","remove","searchResultsResponseChanged","searchResults","filter","static","element","onClick","active","elementSelector","getKartkatalogApiUrl","getGeonorgeMenuUrl","fetchMenuItems","apiUrl","fetch","res","json","menuItems","urlParameterStrings","dataset","series","service","servicelayer","software","articles","fetchOptions","headers","Headers","all","kartkatalogApiUrl","getGeonorgeUrl","getGeonorgeNedlastingUrl","replaceAndAddSpace","text","replaceWith","RegExp","convertTextToUrlSlug","handleSearchResultsClick","pushToDataLayer","category","activity","resultType","ShowDetailsUrl","Title","Uuid","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","o","enumerable","obj","hasOwnProperty","r","Symbol","toStringTag"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"MainSearchField.js","mappings":"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","sources":["webpack://geonorge/webpack/universalModuleDefinition","webpack://geonorge/./custom-elements/main-navigation/main-search-field/main-search-field.scss","webpack://geonorge/./custom-elements/main-navigation/main-search-field/main-search-field.html","webpack://geonorge/../node_modules/css-loader/dist/runtime/api.js","webpack://geonorge/../node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://geonorge/../node_modules/super-custom-elements/src/component.ts","webpack://geonorge/../node_modules/super-custom-elements/src/custom-element.ts","webpack://geonorge/../node_modules/super-custom-elements/src/helpers.ts","webpack://geonorge/../node_modules/super-custom-elements/src/index.ts","webpack://geonorge/../node_modules/super-custom-elements/src/listen.ts","webpack://geonorge/../node_modules/super-custom-elements/src/prop.ts","webpack://geonorge/../node_modules/super-custom-elements/src/toggle.ts","webpack://geonorge/../node_modules/super-custom-elements/src/util.ts","webpack://geonorge/../node_modules/super-custom-elements/src/watch.ts","webpack://geonorge/./assets/svg/search-icon.svg","webpack://geonorge/./custom-elements/main-navigation/main-search-field/main-search-field.ts","webpack://geonorge/./functions/apiHelpers.ts","webpack://geonorge/./functions/urlHelpers.ts","webpack://geonorge/webpack/bootstrap","webpack://geonorge/webpack/runtime/compat get default export","webpack://geonorge/webpack/runtime/define property getters","webpack://geonorge/webpack/runtime/hasOwnProperty shorthand","webpack://geonorge/webpack/runtime/make namespace object","webpack://geonorge/webpack/startup"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine([], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"geonorge\"] = factory();\n\telse\n\t\troot[\"geonorge\"] = root[\"geonorge\"] || {}, root[\"geonorge\"][\"MainSearchField\"] = factory();\n})(self, () => {\nreturn ","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../node_modules/css-loader/dist/runtime/sourceMaps.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_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \"*{box-sizing:border-box}div.main-search-field{font-family:\\\"Open Sans\\\",sans-serif;display:flex;height:37px;margin-top:.25em;position:relative;width:100%}@media(min-width: 37.5em){div.main-search-field{margin-top:0}}div.main-search-field .mainSearchLabel{width:0;height:0;overflow:hidden;opacity:0}div.main-search-field input{height:37px;width:100%;outline-offset:-2px;-webkit-appearance:none;background:#fff;border:1px solid #dfdcda;border-right:0;border-radius:2px 0 0 2px;font-size:1.2em;flex:1;margin:0;padding:0 .75em}div.main-search-field button{margin:0;-webkit-appearance:button;background:#fff;border:1px solid #dfdcda;border-left:0;border-radius:0 2px 2px 0;display:inline-block;padding:0 .75em;height:100%}div.main-search-field button svg{height:22px;width:21px}div.search-results-container{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-moz-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;position:absolute;background:#fbfcfd;display:none;top:37px;z-index:1}div.search-results-container.open{display:block;width:100%;overflow-y:auto}div.search-results-container a{color:#3767c7;text-decoration:none}div.search-results-container a:hover{color:#0056b3;text-decoration:underline}div.search-results-container div.search-results-for-type:nth-child(odd){background-color:#fbfcfd}div.search-results-container div.search-results-for-type:nth-child(even){background-color:#f5f6f7}div.search-results-container div.search-results-for-type a.search-results-for-type-title{padding:8px 16px;font-size:1.2em;display:inline-block}div.search-results-container div.search-results-for-type a.search-results-for-type-title span.search-results-for-type-number-badge{-webkit-border-radius:6px;border-radius:6px;padding:2px 4px;color:#fff;background-color:#fe5000;display:inline-block;font-size:.8em;vertical-align:text-bottom}div.search-results-container div.search-results-for-type ul.search-results-for-type-list{list-style:none;padding:0 16px 8px 32px;margin:0}div.search-results-container div.search-results-for-type ul.search-results-for-type-list li a{padding:4px 0;display:block}.hidden{height:0;width:0;position:absolute;color:rgba(0,0,0,0);overflow:hidden}\", \"\",{\"version\":3,\"sources\":[\"webpack://./custom-elements/main-navigation/main-search-field/main-search-field.scss\",\"webpack://./style/variables/_typography.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/mixins/_box-shadow.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAEA,EACE,qBAAA,CAGF,sBACE,kCCPa,CDQb,YAAA,CACA,WAAA,CACA,gBAAA,CACA,iBAAA,CACA,UAAA,CEEM,0BFRR,sBAQI,YAAA,CAAA,CAGF,uCACE,OAAA,CACA,QAAA,CACA,eAAA,CACA,SAAA,CAGF,4BACE,WAAA,CACA,UAAA,CACA,mBAAA,CACA,uBAAA,CACA,eAAA,CACA,wBAAA,CACA,cAAA,CACA,yBAAA,CACA,eAAA,CACA,MAAA,CACA,QAAA,CACA,eAAA,CAGF,6BACE,QAAA,CACA,yBAAA,CACA,eAAA,CACA,wBAAA,CACA,aAAA,CACA,yBAAA,CACA,oBAAA,CACA,eAAA,CACA,WAAA,CAEA,iCACE,WAAA,CACA,UAAA,CAKN,6BGxDI,8GHyDF,CGxDE,2GHwDF,CGvDE,sGHuDF,CIzDA,iCJ8DuB,CI7DvB,yBJ6DuB,CACvB,iBAAA,CACA,kBAAA,CACA,YAAA,CACA,QAAA,CACA,SAAA,CAEA,kCACE,aAAA,CACA,UAAA,CACA,eAAA,CAGF,+BACE,aK/DW,CLgEX,oBAAA,CACA,qCACE,aKjEc,CLkEd,yBAAA,CAKF,wEACE,wBAAA,CAEF,yEACE,wBAAA,CAEF,yFACE,gBAAA,CACA,eAAA,CACA,oBAAA,CACA,mII/FJ,yBJgG6B,CI/F7B,iBJ+F6B,CACvB,eAAA,CACA,UAAA,CACA,wBK3FQ,CL4FR,oBAAA,CACA,cAAA,CACA,0BAAA,CAGJ,yFACE,eAAA,CACA,uBAAA,CACA,QAAA,CAEE,8FACE,aAAA,CACA,aAAA,CAOV,QACE,QAAA,CACA,OAAA,CACA,iBAAA,CACA,mBAAA,CACA,eAAA\",\"sourcesContent\":[\"@import \\\"../../../style/all\\\";\\n\\n* {\\n box-sizing: border-box;\\n}\\n\\ndiv.main-search-field {\\n font-family: $default-font;\\n display: flex;\\n height: 37px;\\n margin-top: 0.25em;\\n position: relative;\\n width: 100%;\\n @include breakpoint(phablet) {\\n margin-top: 0;\\n }\\n\\n .mainSearchLabel {\\n width: 0;\\n height: 0;\\n overflow: hidden;\\n opacity: 0;\\n }\\n\\n input {\\n height: 37px;\\n width: 100%;\\n outline-offset: -2px;\\n -webkit-appearance: none;\\n background: #fff;\\n border: 1px solid #dfdcda;\\n border-right: 0;\\n border-radius: 2px 0 0 2px;\\n font-size: 1.2em;\\n flex: 1;\\n margin: 0;\\n padding: 0 0.75em;\\n }\\n\\n button {\\n margin: 0;\\n -webkit-appearance: button;\\n background: #fff;\\n border: 1px solid #dfdcda;\\n border-left: 0;\\n border-radius: 0 2px 2px 0;\\n display: inline-block;\\n padding: 0 0.75em;\\n height: 100%;\\n\\n svg {\\n height: 22px;\\n width: 21px;\\n }\\n }\\n}\\n\\ndiv.search-results-container {\\n @include box-shadow(\\n 0 5px 5px -3px rgba(0, 0, 0, 0.2),\\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\\n 0 3px 14px 2px rgba(0, 0, 0, 0.12)\\n );\\n @include border-radius(0 0 3px 3px);\\n position: absolute;\\n background: #fbfcfd;\\n display: none;\\n top: 37px;\\n z-index: 1;\\n\\n &.open {\\n display: block;\\n width: 100%;\\n overflow-y: auto;\\n }\\n\\n a {\\n color: $primary-text;\\n text-decoration: none;\\n &:hover {\\n color: $primary-text-hover;\\n text-decoration: underline;\\n }\\n }\\n\\n div.search-results-for-type {\\n &:nth-child(odd) {\\n background-color: #fbfcfd;\\n }\\n &:nth-child(even) {\\n background-color: #f5f6f7;\\n }\\n a.search-results-for-type-title {\\n padding: 8px 16px;\\n font-size: 1.2em;\\n display: inline-block;\\n span.search-results-for-type-number-badge {\\n @include border-radius(6px);\\n padding: 2px 4px;\\n color: #fff;\\n background-color: $primary-brand;\\n display: inline-block;\\n font-size: 0.8em;\\n vertical-align: text-bottom;\\n }\\n }\\n ul.search-results-for-type-list {\\n list-style: none;\\n padding: 0 16px 8px 32px;\\n margin: 0;\\n li {\\n a {\\n padding: 4px 0;\\n display: block;\\n }\\n }\\n }\\n }\\n}\\n\\n.hidden {\\n height: 0;\\n width: 0;\\n position: absolute;\\n color: transparent;\\n overflow: hidden;\\n}\\n\",\"$default-font: \\\"Open Sans\\\", sans-serif;\\n$header-font: \\\"Raleway\\\";\",\"@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: $screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: $screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: $screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: $screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"@mixin box-shadow($shadows...) {\\n -webkit-box-shadow: $shadows;\\n -moz-box-shadow: $shadows;\\n box-shadow: $shadows;\\n}\\n\",\"@mixin border-radius($radius) {\\n -webkit-border-radius: $radius;\\n border-radius: $radius;\\n}\\n\\n// Single side border-radius\\n\\n@mixin border-top-radius($radius) {\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\\n@mixin border-right-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-top-right-radius: $radius;\\n border-top-right-radius: $radius;\\n}\\n@mixin border-bottom-radius($radius) {\\n -webkit-border-bottom-right-radius: $radius;\\n border-bottom-right-radius: $radius;\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n}\\n@mixin border-left-radius($radius) {\\n -webkit-border-bottom-left-radius: $radius;\\n border-bottom-left-radius: $radius;\\n -webkit-border-top-left-radius: $radius;\\n border-top-left-radius: $radius;\\n}\",\"$body-background: #ffffff;\\n$navigation-bar-background: #f7f7f7;\\n$hover-background: rgba(0,0,0,.05);\\n$default-border: #d8d8d8;\\n\\n$default-background: #eee;\\n$default-background-hover: #ddd;\\n$default-text:#2F3940;\\n\\n$primary-brand: #FE5000;\\n$secondary-brand: #7da1c4;\\n\\n$primary-background: #7DA1C4;\\n$primary-background-hover: #FE5000;\\n$primary-text: #3767C7;\\n$primary-text-hover:#0056b3;\\n\\n\\n$success-background: #06A755;\\n$success-background-hover: #009745;\\n$success-text: #06A755;\\n\\n\\n$warning-background: #C38621;\\n$warning-background-hover: #B37611;\\n$warning-text: #C38621;\\n\\n$danger-background: #E00d0D;\\n$danger-background-hover: #D00000;\\n$danger-text: #E00d0D;\\n\\n$disabled-background: #ffffff;\\n$disabled-text: #d8d8d8;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","export default \"<template>\\n <div class=\\\"main-search-field\\\">\\n <label id=\\\"main-search-input-label\\\" for=\\\"main-search-input\\\" class=\\\"hidden\\\">søk</label>\\n <input id=\\\"main-search-input\\\" autocomplete=\\\"off\\\" type=\\\"search\\\" value=\\\"\\\" />\\n <button id=\\\"search-submit-button\\\"></button>\\n <div id=\\\"search-results-container\\\" class=\\\"search-results-container\\\">\\n \\n </div>\\n </div>\\n </template>\";","\"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 (item) {\n var content = item[1];\n var cssMapping = item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","import { addEventListeners, ListenerMetadata } from './listen';\r\nimport { initializeProps } from './prop';\r\nimport { ComponentMetadata, KeyValue } from './types';\r\nimport { toKebabCase, toCamelCase } from './util';\r\n\r\nexport const Component = (args: ComponentMetadata) => {\r\n return (target: any) => {\r\n const tag: string = args.tag || toKebabCase(target.prototype.constructor.name);\r\n const customElement: any = class extends (target as { new(): any }) {\r\n protected static __connected: boolean = false;\r\n protected static propsInit: KeyValue;\r\n protected static watchAttributes: KeyValue;\r\n protected static listeners: ListenerMetadata[];\r\n protected static ready: Promise<boolean> = new Promise((resolve, _) => resolve(true));\r\n public props: KeyValue = {};\r\n private showShadowRoot: boolean;\r\n\r\n public static get observedAttributes(): string[] {\r\n return Object.keys(this.propsInit || {}).map(x => toKebabCase(x));\r\n }\r\n\r\n constructor() {\r\n super();\r\n\r\n this.showShadowRoot = args.shadow == null ? true : args.shadow;\r\n\r\n if (!this.shadowRoot && this.showShadowRoot) {\r\n this.attachShadow({ mode: 'open' });\r\n }\r\n }\r\n\r\n public attributeChangedCallback(name: string, oldValue: string, newValue: string): void {\r\n this.onAttributeChange(name, oldValue, newValue);\r\n }\r\n\r\n public onAttributeChange(name: string, oldValue: string, newValue: string, set: boolean = true): void {\r\n if (oldValue != newValue) {\r\n if (set) { this[toCamelCase(name)] = newValue; }\r\n const watchAttributes: KeyValue = (this.constructor as any).watchAttributes;\r\n if (watchAttributes && watchAttributes[name]) {\r\n const methodToCall: string = watchAttributes[name];\r\n if (this.__connected) {\r\n if (typeof this[methodToCall] == 'function') {\r\n this[methodToCall]({ old: oldValue, new: newValue });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n public async connectedCallback(): Promise<void> {\r\n await this.render();\r\n super.connectedCallback && super.connectedCallback();\r\n this.__connected = true;\r\n\r\n addEventListeners(this);\r\n initializeProps(this);\r\n }\r\n\r\n private async render(): Promise<void> {\r\n if (this.__connected) {\r\n return;\r\n }\r\n\r\n const template = document.createElement('template');\r\n template.innerHTML = await this.getStyle();\r\n\r\n if (args.template instanceof Promise) {\r\n template.content.appendChild(await this.getExternalTemplate());\r\n } else if (typeof args.template === 'string') {\r\n template.innerHTML += args.template;\r\n }\r\n\r\n (this.showShadowRoot ? this.shadowRoot : this).appendChild(template.content.cloneNode(true));\r\n }\r\n\r\n private async getExternalTemplate(): Promise<DocumentFragment> {\r\n const templateModule = await (args.template as Promise<typeof import('*.html')>);\r\n const markup = templateModule.default.toString();\r\n const fragment = document.createRange().createContextualFragment(markup);\r\n\r\n if (fragment.children.length === 1 && fragment.children[0].nodeName === 'TEMPLATE') {\r\n return (fragment.firstChild as HTMLTemplateElement).content;\r\n }\r\n return fragment;\r\n }\r\n\r\n private async getStyle(): Promise<string> {\r\n let css: string;\r\n\r\n if (args.style instanceof Promise) {\r\n const styleModule = await args.style;\r\n css = styleModule.default.toString();\r\n } else if (typeof args.style === 'string') {\r\n css = args.style;\r\n }\r\n\r\n return `${css ? `<style>${css}</style>` : ''}`\r\n }\r\n };\r\n\r\n if (!customElements.get(tag)) {\r\n customElements.define(tag, customElement);\r\n }\r\n\r\n return customElement;\r\n };\r\n};\r\n\r\n\r\n","import { CustomElementOptions } from \"./types\";\r\n\r\nexport abstract class CustomElement extends HTMLElement {\r\n constructor() {\r\n super();\r\n }\r\n\r\n protected abstract setup(options?: CustomElementOptions): void;\r\n\r\n protected connect(selector: string): void {\r\n if (!this.isConnected) {\r\n document.querySelector(selector).appendChild(this);\r\n }\r\n }\r\n}\r\n","export const getElement = <T extends HTMLElement>(selector: string): T => {\r\n return document.querySelector(selector);\r\n};\r\n\r\nexport const getShadowRootElement = <T extends HTMLElement>(customElement: HTMLElement, selector: string): T => {\r\n return customElement.shadowRoot.querySelector(selector);\r\n};","export * from './component';\r\nexport * from './custom-element';\r\nexport * from './helpers';\r\nexport * from './listen';\r\nexport * from './prop';\r\nexport * from './toggle';\r\nexport * from './types';\r\nexport * from './watch';","import { toDotCase } from './util';\r\n\r\ninterface ListenerMetadata {\r\n eventName: string;\r\n handler: Function;\r\n selector?: string;\r\n}\r\n\r\ninterface CustomEventOptions {\r\n bubbles?: boolean;\r\n composed?: boolean;\r\n detail?: any;\r\n}\r\n\r\ninterface DispatchEmitter {\r\n emit(options?: CustomEventOptions): void;\r\n}\r\n\r\nconst Listen = (eventName: string, selector?: string) => {\r\n return (target: any, methodName: string) => {\r\n if (!target.constructor.listeners) {\r\n target.constructor.listeners = [];\r\n }\r\n target.constructor.listeners.push({ selector: selector, eventName: eventName, handler: target[methodName] });\r\n };\r\n};\r\n\r\nconst addEventListeners = (target: any) => {\r\n if (target.constructor.listeners) {\r\n const targetRoot: any = target.shadowRoot || target;\r\n for (const listener of target.constructor.listeners as Array<ListenerMetadata>) {\r\n const eventTarget = (listener.selector)\r\n ? targetRoot.querySelector(listener.selector)\r\n ? targetRoot.querySelector(listener.selector) : null\r\n : target;\r\n if (eventTarget) {\r\n eventTarget.addEventListener(listener.eventName, (e: CustomEvent) => {\r\n listener.handler.call(target, e);\r\n });\r\n }\r\n }\r\n }\r\n};\r\n\r\nconst Dispatch = (eventName?: string) => {\r\n return (target: HTMLElement, propertyName: string) => {\r\n function get() {\r\n const self: EventTarget = this as EventTarget;\r\n return {\r\n emit(options?: CustomEventOptions) {\r\n const evtName = (eventName) ? eventName : toDotCase(propertyName);\r\n self.dispatchEvent(new CustomEvent(evtName, options));\r\n }\r\n };\r\n }\r\n Object.defineProperty(target, propertyName, { get });\r\n };\r\n};\r\n\r\nexport { Listen, addEventListeners, DispatchEmitter, Dispatch, CustomEventOptions, ListenerMetadata };","import { toKebabCase, tryParseInt } from './util';\r\n\r\nexport const Prop = (): any => {\r\n return (target: any, propName: any) => {\r\n const attrName = toKebabCase(propName);\r\n function get() {\r\n if (this.props[propName]) {\r\n return this.props[propName];\r\n }\r\n return this.getAttribute(attrName);\r\n }\r\n function set(value: any) {\r\n if (this.__connected) {\r\n const oldValue = this.props[propName];\r\n this.props[propName] = tryParseInt(value);\r\n if (typeof value != 'object') {\r\n this.setAttribute(attrName, value);\r\n } else {\r\n this.onAttributeChange(attrName, oldValue, value, false);\r\n }\r\n } else {\r\n if (!this.hasAttribute(toKebabCase(propName))) {\r\n this.constructor.propsInit[propName] = value;\r\n }\r\n }\r\n }\r\n if (!target.constructor.propsInit) {\r\n target.constructor.propsInit = {};\r\n }\r\n target.constructor.propsInit[propName] = null;\r\n Object.defineProperty(target, propName, { get, set });\r\n };\r\n};\r\n\r\nconst getProps = (target: any) => {\r\n const watchAttributes = target.constructor.watchAttributes;\r\n const plainAttributes = { ...watchAttributes };\r\n Object.keys(plainAttributes).forEach(v => plainAttributes[v] = '');\r\n const cycleProps = { ...plainAttributes, ...target.constructor.propsInit };\r\n return Object.keys(cycleProps);\r\n};\r\n\r\nexport const initializeProps = (target: any) => {\r\n const watchAttributes = target.constructor.watchAttributes;\r\n for (let prop of getProps(target)) {\r\n if (watchAttributes) {\r\n if (watchAttributes[toKebabCase(prop)] == null) {\r\n watchAttributes[toKebabCase(prop)] = '';\r\n } else {\r\n const attribValue = target.props[prop] || target.getAttribute(toKebabCase(prop));\r\n if (typeof target[watchAttributes[prop]] == 'function') {\r\n target[watchAttributes[prop]]({ new: attribValue });\r\n }\r\n }\r\n }\r\n if (target.constructor.propsInit[prop]) {\r\n if (!target.hasAttribute(toKebabCase(prop))) {\r\n target[prop] = target.constructor.propsInit[prop];\r\n }\r\n }\r\n }\r\n};","import { toKebabCase } from './util';\r\n\r\nexport const Toggle = (): any => {\r\n return (target: any, propName: any) => {\r\n function get() {\r\n const getAttribute = (propName: string) => {\r\n if (this.hasAttribute(propName)) {\r\n const attrValue = this.getAttribute(propName);\r\n if (/^(true|false|^$)$/.test(attrValue)) {\r\n return attrValue == 'true' || attrValue == '';\r\n } else {\r\n return false;\r\n }\r\n }\r\n return false;\r\n };\r\n return getAttribute(propName);\r\n }\r\n function set(value: any) {\r\n const oldValue = value;\r\n if (value != undefined) {\r\n switch (typeof value) {\r\n case 'boolean':\r\n break;\r\n case 'string':\r\n if (/^(true|false|^$)$/.test(value)) {\r\n value = oldValue == 'true' || oldValue == '';\r\n } else {\r\n console.warn(`TypeError: Cannot set boolean toggle property '${propName}' to '${value}'`);\r\n value = false;\r\n }\r\n break;\r\n default:\r\n throw (`TypeError: Cannot set boolean toggle property '${propName}' to '${value}'`);\r\n }\r\n }\r\n if (this.__connected) {\r\n this.props[propName] = value || false;\r\n if (oldValue !== '' && oldValue !== null) {\r\n this.setAttribute(propName, value);\r\n } else {\r\n if (value) {\r\n this.setAttribute(propName, '');\r\n } else {\r\n this.removeAttribute(propName);\r\n }\r\n }\r\n } else {\r\n if (!this.hasAttribute(toKebabCase(propName))) {\r\n this.constructor.propsInit[propName] = value;\r\n }\r\n }\r\n }\r\n if (!target.constructor.propsInit) {\r\n target.constructor.propsInit = {};\r\n }\r\n target.constructor.propsInit[propName] = null;\r\n Object.defineProperty(target, propName, { get, set });\r\n };\r\n};\r\n","export const toKebabCase = (str: string) => {\r\n return str\r\n .replace(/([a-z])([A-Z])/g, '$1-$2')\r\n .replace(/[\\s_]+/g, '-')\r\n .toLowerCase();\r\n};\r\n\r\nexport const toCamelCase = (str: string) => {\r\n return str\r\n .toLowerCase()\r\n .replace(/(\\-\\w)/g, (m) => m[1].toUpperCase());\r\n};\r\n\r\nexport const toDotCase = (str: string) => {\r\n return str.replace(/(?!^)([A-Z])/g, ' $1')\r\n .replace(/[_\\s]+(?=[a-zA-Z])/g, '.')\r\n .toLowerCase();\r\n};\r\n\r\nexport const tryParseInt = (value: any) => {\r\n return (parseInt(value) == value && parseFloat(value) !== NaN) ? parseInt(value) : value;\r\n};\r\n","import { toKebabCase } from './util';\r\n\r\nexport const Watch = (attrName: string) => {\r\n return (target: any, propertyName: string) => {\r\n if (!target.constructor.watchAttributes) {\r\n target.constructor.watchAttributes = {};\r\n }\r\n target.constructor.watchAttributes[toKebabCase(attrName)] = propertyName;\r\n if (!target.constructor.propsInit) {\r\n target.constructor.propsInit = {};\r\n }\r\n target.constructor.propsInit[attrName] = null;\r\n };\r\n};","module.exports = \"<svg version=\\\"1.1\\\" xmlns=\\\"http://www.w3.org/2000/svg\\\" xmlns:xlink=\\\"http://www.w3.org/1999/xlink\\\" x=\\\"0px\\\" y=\\\"0px\\\" viewBox=\\\"0 0 34 35\\\" style=\\\"enable-background:new 0 0 34 35;\\\" xml:space=\\\"preserve\\\"><style type=\\\"text/css\\\"> .__24nL31r__st0{fill:#B0A9A2;} </style><g><path class=\\\"__24nL31r__st0 \\\" d=\\\"M23.6,22.8c2.2-2.4,3.6-5.7,3.6-9.2C27.2,6.1,21.1,0,13.6,0C6.1,0,0,6.1,0,13.6c0,7.5,6.1,13.6,13.6,13.6 c3.1,0,5.9-1,8.1-2.7l10.1,10.1c0.2,0.2,0.6,0.4,0.9,0.4c0.3,0,0.6-0.1,0.9-0.4c0.5-0.5,0.5-1.3,0-1.7L23.6,22.8z M2.5,13.6 c0-6.1,5-11.1,11.1-11.1c6.1,0,11.1,5,11.1,11.1s-5,11.1-11.1,11.1S2.5,19.7,2.5,13.6L2.5,13.6z\\\"></path></g></svg>\"","import {\n Component, CustomElement, CustomElementOptions, Prop, Dispatch, DispatchEmitter,\n Listen, Watch, getElement, getShadowRootElement, Toggle\n} from 'super-custom-elements';\n\n// Interfaces\nimport { SearchResultsForType, SearchResultsResponseForType } from 'interfaces/search';\n\n// Functions\nimport { fetchDropdownSearchResults } from 'functions/apiHelpers';\nimport { renderDropdownResultLink, getKartkatalogUrl } from 'functions/urlHelpers';\n\n// Assets\nimport SearchIcon from 'assets/svg/search-icon.svg';\n\ninterface MainSearchFieldOptions extends CustomElementOptions {\n active?: boolean,\n value?: string,\n onSearchStringChange?: () => void,\n onClick?: () => void,\n onSearch?: () => void\n}\n\n@Component({\n tag: 'main-search-field',\n template: import('./main-search-field.html'),\n style: import('./main-search-field.scss')\n})\n\nexport class MainSearchField extends CustomElement {\n private static readonly elementSelector = 'main-search-field';\n private searchField: HTMLInputElement;\n private searchFieldLabel: HTMLInputElement;\n private searchButton: HTMLInputElement;\n private searchResultsContainer: HTMLInputElement;\n\n @Prop() id: string;\n @Prop() environment: string;\n @Toggle() showSearchResults: boolean;\n @Toggle() preventRedirect: boolean;\n @Prop() searchstring: string = '';\n @Prop() language: string;\n @Prop() searchResultsResponses: Array<SearchResultsResponseForType>;\n @Dispatch('searchResultsChanged') onTextChanged: DispatchEmitter;\n @Dispatch('onSearchStringChange') onSearchStringChange: DispatchEmitter;\n @Dispatch('onSearch') onSearch: DispatchEmitter;\n\n constructor() {\n super();\n this.clickOutsideSearchResultsContainer = this.clickOutsideSearchResultsContainer.bind(this);\n }\n\n setup(options?: MainSearchFieldOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.searchField = getShadowRootElement(this, '#main-search-input');\n this.searchFieldLabel = getShadowRootElement(this, '#main-search-input-label');\n this.searchButton = getShadowRootElement(this, '#search-submit-button');\n\n this.searchFieldLabel.innerHTML = this.language === 'en' ? 'Search' : 'Søk';\n\n this.searchButton.innerHTML = SearchIcon;\n\n this.searchResultsContainer = getShadowRootElement(this, '#search-results-container');\n this.searchResultsContainer.style.maxHeight = `${window.innerHeight - 61}px`;\n if (this.searchField && this.searchstring) {\n this.searchField.setAttribute('value', this.searchstring);\n }\n document.addEventListener('click', this.clickOutsideSearchResultsContainer);\n }\n\n disconnectedCallback() {\n document.removeEventListener('click', this.clickOutsideSearchResultsContainer);\n }\n\n renderSearchResultsForType = (searchResultsResponseForType: SearchResultsResponseForType) => {\n const searchResultsTypeName = searchResultsResponseForType.Results[0].TypeTranslated;\n const searchResultsType = searchResultsResponseForType.searchResultsType;\n const searchResultsListElements = searchResultsResponseForType.Results.map((searchResult: SearchResultsForType) => {\n return `<li>${renderDropdownResultLink(searchResult, searchResultsType, this.searchstring, this.environment)}</li>`;\n }).join('');\n\n const searchResultsTypeLink = searchResultsType === 'articles'\n ? `${getKartkatalogUrl(this.environment)}/articles?text=${this.searchstring}`\n : `${getKartkatalogUrl(this.environment)}/metadata?text=${this.searchstring}&type=${searchResultsType}`;\n\n return `\n <div class=\"search-results-for-type\">\n <a href=\"${searchResultsTypeLink}\" class=\"search-results-for-type-title\">\n ${searchResultsTypeName}\n <span class=\"search-results-for-type-number-badge\">\n ${searchResultsResponseForType.NumFound}\n </span>\n </a>\n <ul class=\"search-results-for-type-list\">\n ${searchResultsListElements}\n </ul>\n </div>`;\n }\n\n renderSearchResults = (searchResultsResponses: Array<SearchResultsResponseForType>) => {\n const searchResultsListElements = searchResultsResponses.map((searchResultsResponseForType: SearchResultsResponseForType) => {\n return this.renderSearchResultsForType(searchResultsResponseForType);\n }).join('');\n return `<div>${searchResultsListElements}</div>`;\n }\n\n hideSearchResultsContainer = () => {\n this.showSearchResults = false;\n }\n\n clickOutsideSearchResultsContainer(event: MouseEvent) {\n const targetElement = event.composedPath()[0] as Element;\n if (targetElement.closest('#search-results-container') || targetElement.closest('#main-search-input')) {\n const closestLink = targetElement.closest('a');\n if (closestLink?.href?.length) {\n this.hideSearchResultsContainer();\n }\n return\n }\n this.hideSearchResultsContainer();\n }\n\n submitSearch() {\n this.hideSearchResultsContainer();\n if (this.preventRedirect) {\n this.onSearch.emit({\n detail: {\n searchString: this.searchstring\n }\n });\n } else {\n window.location.href = `${getKartkatalogUrl(this.environment)}/metadata?text=${this.searchstring}`\n }\n\n }\n\n @Listen('keyup', 'input')\n searchFieldKeyUp(event: KeyboardEvent) {\n if (event.key && event.key === 'Enter' && this.searchstring?.toString().length) {\n this.submitSearch()\n } else {\n this.searchstring = this.searchField?.value?.toString() || '';\n }\n }\n\n @Listen('click', '#search-submit-button')\n onSearchSubmitted(event: MouseEvent) {\n this.submitSearch();\n }\n\n\n @Watch('searchstring')\n searchStringChanged() {\n if (this.searchField) {\n this.searchField.setAttribute('value', this.searchstring)\n }\n fetchDropdownSearchResults(this.searchstring, this.language, this.environment).then(searchResultsResponses => {\n this.searchResultsResponses = searchResultsResponses;\n });\n }\n\n @Watch('language')\n languageChanged() {\n if (this.searchField) {\n this.searchField.setAttribute('aria-label', this.language === 'en' ? 'Enter your search query' : 'Skriv inn det du vil søke etter');\n }\n if (this.searchFieldLabel) {\n this.searchFieldLabel.innerText = this.language === 'en' ? 'Search' : 'Søk';\n }\n if (this.searchButton) {\n this.searchButton.setAttribute('aria-label', this.language === 'en' ? 'Search' : 'Søk');\n }\n }\n\n\n @Watch('showsearchresults')\n showSearchResultsChanged() {\n this.showSearchResults ? this.searchResultsContainer.classList.add('open') : this.searchResultsContainer.classList.remove('open');\n }\n\n @Watch('searchResultsResponses')\n searchResultsResponseChanged() {\n const searchResults = this.searchResultsResponses && this.searchResultsResponses.length ? this.searchResultsResponses.filter(searchResultsResponseForType => {\n return searchResultsResponseForType.NumFound > 0\n }) : [];\n this.searchResultsContainer.innerHTML = searchResults.length ? this.renderSearchResults(searchResults) : '';\n this.showSearchResults = searchResults.length ? true : false;\n }\n\n public static setup(selector: string, options: MainSearchFieldOptions) {\n const element = getElement<MainSearchField>(selector);\n\n if (options.onClick) {\n element.addEventListener('searchButtonClick', options.onClick);\n }\n if (options.active) {\n element.showSearchResults = options.active;\n }\n }\n}\n","export const getKartkatalogApiUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? environment + '.' : '';\n return `https://kartkatalog.${environmentSlug}geonorge.no/api`;\n};\n\nexport const getGeonorgeMenuUrl = (language: string, environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? 'test.' : '';\n const selectedLanguageSlug = language === 'en' ? 'en/' : '';\n return `https://www.${environmentSlug}geonorge.no/${selectedLanguageSlug}api/menu/get?omitLinks=1`;\n};\n\nexport const fetchMenuItems = (language: string = \"no\", environment: string = \"\") => {\n const apiUrl = getGeonorgeMenuUrl(language, environment);\n return fetch(apiUrl).then(res => res.json()).then(menuItems => {\n return menuItems;\n });\n}\n\nexport const fetchDropdownSearchResults = async (searchString: string = \"\", language: string = \"no\", environment: string = '') => {\n searchString = searchString.toString();\n const urlParameterStrings = {\n dataset: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=dataset`,\n series: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=series`,\n service: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=service`,\n servicelayer: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=servicelayer`,\n software: `search?text=${searchString}&facets%5B1%5Dname=type&facets%5B1%5Dvalue=software`,\n articles: `articles?text=${searchString}`\n };\n const fetchOptions = {\n headers: new Headers({\n 'Accept-Language': language\n })\n };\n const limitParameterString = 'limit=5';\n\n return searchString && searchString.length ? await Promise.all(Object.keys(urlParameterStrings).map(async (searchResultsType) => {\n const kartkatalogApiUrl = getKartkatalogApiUrl(environment);\n let urlParameterString = urlParameterStrings[searchResultsType];\n return fetch(`${kartkatalogApiUrl}/${urlParameterString}&${limitParameterString}`, fetchOptions)\n .then(res => res.json())\n .then(searchResults => {\n return {\n ...searchResults,\n searchResultsType\n };\n })\n })) : null;\n};","// Interfaces\nimport { SearchResultsForType } from 'interfaces/search';\n\nexport const getKartkatalogUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? environment + '.' : '';\n return `https://kartkatalog.${environmentSlug}geonorge.no`;\n};\n\nexport const getGeonorgeUrl = (language: string, environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? 'test.' : '';\n const selectedLanguageSlug = language === 'en' ? 'en/' : '';\n return `https://www.${environmentSlug}geonorge.no/${selectedLanguageSlug}`;\n};\n\nexport const getGeonorgeNedlastingUrl = (environment: string) => {\n const environmentSlug = environment === 'dev' || environment === 'test' ? 'test.' : '';\n return `https://nedlasting.${environmentSlug}geonorge.no`;\n};\n\n\n\nconst replaceAndAddSpace = (text: string, replace: string, replaceWith: string) => {\n text = text.replace(new RegExp(`([^s])([${replace}])([^s])`, 'ig'), `$1 ${replaceWith} $3`); // Character right before and after\n text = text.replace(new RegExp(`([^s])([${replace}])`, 'ig'), `$1 ${replaceWith}`); // Character right before\n text = text.replace(new RegExp(`([${replace}])([^s])`, 'ig'), `${replaceWith} $2`); // Character right after\n text = text.replace(new RegExp(`[${replace}]`, 'ig'), replaceWith); // No character right before or after\n \n return text;\n }\n\nexport const convertTextToUrlSlug = (text: string = '') => {\n // To lower case\n text = text.toLowerCase();\n\n // Character replace\n text = replaceAndAddSpace(text, \"&\", \"and\");\n text = replaceAndAddSpace(text, \"+\", \"plus\");\n text = text.replace(\"æ\", \"ae\");\n text = text.replace(\"ä\", \"ae\");\n text = text.replace(\"ø\", \"oe\");\n text = text.replace(\"ö\", \"oe\");\n text = text.replace(\"å\", \"aa\");\n\n // Whitespace replace\n text = text.replace(/( - )/g, \"-\");\n text = text.replace(/[\\s]+/g, \"-\");\n\n // Unwated character replace\n text = text.replace(/[^a-z0-9-]+/ig, \"\");\n\n // Remove any character before first and after last A-Z or 0-9\n text = text.replace(/^[^A-Z0-9]*|[^a-z0-9]*$/ig, \"\");\n\n return text;\n}\n\nconst handleSearchResultsClick = (searchString: string, pushToDataLayer?: Function) => {\n if (pushToDataLayer) {\n pushToDataLayer({\n event: 'updateSearchString',\n category: 'metadataSearch',\n activity: 'dropDownResultsClick',\n searchString: searchString\n });\n } else return false;\n}\n\nexport const renderDropdownResultLink = (searchResult: SearchResultsForType, resultType: string, searchString: string, environment: string, pushToDataLayer?: Function) => {\n return resultType === 'articles'\n ? `<a onClick=\"${handleSearchResultsClick(searchString, pushToDataLayer)}\" href=\"${searchResult.ShowDetailsUrl ? searchResult.ShowDetailsUrl : '#'}\">${searchResult.Title}</a>`\n : `<a onClick=\"${handleSearchResultsClick(searchString, pushToDataLayer)}\" href=\"${getKartkatalogUrl(environment)}/metadata/${convertTextToUrlSlug(searchResult.Title)}/${searchResult.Uuid}\">${searchResult.Title}</a>`\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\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].call(module.exports, 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};","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(6306);\n"],"names":["root","factory","exports","module","define","amd","self","___CSS_LOADER_EXPORT___","push","id","cssWithMappingToString","list","toString","this","map","item","content","needLayer","concat","length","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","_k","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","sourceURLs","sources","source","sourceRoot","Component","args","target","tag","toKebabCase","prototype","constructor","name","customElement","super","props","showShadowRoot","shadow","shadowRoot","attachShadow","mode","observedAttributes","Object","keys","propsInit","x","attributeChangedCallback","oldValue","newValue","onAttributeChange","set","toCamelCase","watchAttributes","methodToCall","__connected","old","new","connectedCallback","render","addEventListeners","initializeProps","template","document","createElement","innerHTML","getStyle","Promise","appendChild","getExternalTemplate","cloneNode","markup","default","fragment","createRange","createContextualFragment","children","nodeName","firstChild","css","style","ready","resolve","_","customElements","get","CustomElement","HTMLElement","connect","selector","isConnected","querySelector","getElement","getShadowRootElement","Listen","eventName","methodName","listeners","handler","targetRoot","listener","eventTarget","addEventListener","e","call","Dispatch","propertyName","defineProperty","emit","options","evtName","toDotCase","dispatchEvent","CustomEvent","Prop","propName","attrName","getAttribute","value","tryParseInt","setAttribute","hasAttribute","prop","plainAttributes","forEach","v","cycleProps","getProps","attribValue","Toggle","attrValue","test","console","warn","removeAttribute","str","replace","toLowerCase","m","toUpperCase","parseInt","NaN","parseFloat","Watch","MainSearchField","searchstring","renderSearchResultsForType","searchResultsResponseForType","searchResultsTypeName","Results","TypeTranslated","searchResultsType","searchResultsListElements","searchResult","renderDropdownResultLink","environment","getKartkatalogUrl","NumFound","renderSearchResults","searchResultsResponses","hideSearchResultsContainer","showSearchResults","clickOutsideSearchResultsContainer","bind","setup","container","searchField","searchFieldLabel","searchButton","language","searchResultsContainer","maxHeight","window","innerHeight","disconnectedCallback","removeEventListener","event","targetElement","composedPath","closest","closestLink","href","submitSearch","preventRedirect","onSearch","detail","searchString","location","searchFieldKeyUp","key","onSearchSubmitted","searchStringChanged","fetchDropdownSearchResults","then","languageChanged","innerText","showSearchResultsChanged","classList","add","remove","searchResultsResponseChanged","searchResults","filter","static","element","onClick","active","elementSelector","getKartkatalogApiUrl","getGeonorgeMenuUrl","fetchMenuItems","apiUrl","fetch","res","json","menuItems","urlParameterStrings","dataset","series","service","servicelayer","software","articles","fetchOptions","headers","Headers","all","kartkatalogApiUrl","getGeonorgeUrl","getGeonorgeNedlastingUrl","replaceAndAddSpace","text","replaceWith","RegExp","convertTextToUrlSlug","handleSearchResultsClick","pushToDataLayer","category","activity","resultType","ShowDetailsUrl","Title","Uuid","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","o","enumerable","obj","hasOwnProperty","r","Symbol","toStringTag"],"sourceRoot":""}
|
package/MapItem.js
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.geonorge=e():(t.geonorge=t.geonorge||{},t.geonorge.MapItem=e())}(self,(()=>(()=>{var t={2895:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>s});var i=n(4663),o=n.n(i),r=n(7638),a=n.n(r)()(o());a.push([t.id,"*{box-sizing:border-box}div.map-items-container .icon-toggle-button{-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;border:none;background:rgba(0,0,0,0);color:#7d746d;cursor:pointer;padding:0}@media(min-width: 37.5em){div.map-items-container .icon-toggle-button{padding:0 4px}}div.map-items-container .icon-toggle-button.open{color:#414042}div.map-items-container .icon-toggle-button .counter{background-color:#fe5000;border-radius:50%;color:#fff;margin-top:-0.25em;margin-left:-0.2em;position:absolute;text-align:center;width:1.4em;line-height:1.4;height:1.4em;font-size:.9em}@media(min-width: 37.5em){div.map-items-container .icon-toggle-button .counter{height:1.5em;width:1.5em;line-height:1.5;font-size:1em}}div.map-items-container .icon-toggle-button .counter.hidden{display:none}div.map-items-container .icon-toggle-button .map-icon svg{width:31px;height:32px}@media(min-width: 37.5em){div.map-items-container .icon-toggle-button .map-icon svg{width:36px;height:37px}}div.map-items-container .map-item-list-wrapper{position:absolute}div.map-items-container .map-item-list-wrapper .map-item-list-container{-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;box-sizing:border-box;overflow:hidden;max-height:0;position:relative;top:10px;background-color:#fbfcfd;right:205px;width:260px}@media(min-width: 37.5em){div.map-items-container .map-item-list-wrapper .map-item-list-container{right:245px;width:300px}}@media print{div.map-items-container .map-item-list-wrapper .map-item-list-container{display:none}}div.map-items-container .map-item-list-wrapper .map-item-list-container.open{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-moz-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);height:auto;max-height:300px;overflow:auto}div.map-items-container .map-item-list-wrapper .map-item-list-container .page-link-element{display:block;text-align:center;padding:8px 16px;color:#3767c7;text-decoration:none;cursor:pointer}div.map-items-container .map-item-list-wrapper .map-item-list-container .page-link-element:hover{text-decoration:underline;color:#0056b3}div.map-items-container .map-item-list-wrapper .map-item-list-container ul{list-style:none;padding:0;margin:0}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li{-moz-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;display:flex;align-items:center;justify-content:space-between;padding:8px 16px}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li:hover{background-color:rgba(0,0,0,.05)}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li .list-icon{margin-left:8px;cursor:pointer;background:none;border:none}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li .list-icon svg{color:#e00d0d;width:20px}","",{version:3,sources:["webpack://./custom-elements/main-navigation/map-items/map-items.scss","webpack://./style/mixins/_transition.scss","webpack://./style/mixins/_breakpoints.scss","webpack://./style/variables/_colors.scss","webpack://./style/mixins/_border-radius.scss","webpack://./style/mixins/_box-shadow.scss"],names:[],mappings:"AAEA,EACI,qBAAA,CAIA,4CCNA,mCDOI,CCNJ,iCDMI,CCLJ,sCDKI,CCJJ,8BDII,CACA,WAAA,CACA,wBAAA,CACA,aAAA,CACA,cAAA,CACA,SAAA,CECA,0BFPJ,4CAQQ,aAAA,CAAA,CAEJ,iDACI,aAAA,CAEJ,qDACI,wBGZI,CHaJ,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,kBAAA,CACA,iBAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,YAAA,CACA,cAAA,CEjBJ,0BFMA,qDAaQ,YAAA,CACA,WAAA,CACA,eAAA,CACA,aAAA,CAAA,CAEJ,4DACI,YAAA,CAIJ,0DACI,UAAA,CACA,WAAA,CE/BR,0BF6BI,0DAIQ,UAAA,CACA,WAAA,CAAA,CAKhB,+CACI,iBAAA,CACA,wEItDN,iCJuDiC,CItDjC,yBJsDiC,CCvD/B,mCDwDQ,CCvDR,iCDuDQ,CCtDR,sCDsDQ,CCrDR,8BDqDQ,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,iBAAA,CACA,QAAA,CACA,wBAAA,CACA,WAAA,CACA,WAAA,CEnDJ,0BFyCA,wEAYQ,WAAA,CACA,WAAA,CAAA,CAEJ,aAfJ,wEAgBQ,YAAA,CAAA,CAEJ,6EKxER,8GLyEY,CKxEZ,2GLwEY,CKvEZ,sGLuEY,CAKA,WAAA,CACA,gBAAA,CACA,aAAA,CAEJ,2FACI,aAAA,CACA,iBAAA,CACA,gBAAA,CACA,aGzED,CH0EC,oBAAA,CACA,cAAA,CACA,iGACI,yBAAA,CACA,aG7EA,CHgFR,2EACI,eAAA,CACA,SAAA,CACA,QAAA,CACA,8EClGZ,oCDmGgB,CClGhB,kCDkGgB,CCjGhB,uCDiGgB,CChGhB,+BDgGgB,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,gBAAA,CACA,oFACI,gCGxGL,CH0GC,yFACI,eAAA,CACA,cAAA,CACA,eAAA,CACA,WAAA,CACA,6FACI,aGrFd,CHsFc,UAAA",sourcesContent:['@import "../../../style/all";\n\n* {\n box-sizing: border-box;\n}\n\ndiv.map-items-container {\n .icon-toggle-button {\n @include transition(all 0.1s ease-in-out);\n border: none;\n background: transparent;\n color: #7d746d;\n cursor: pointer;\n padding: 0;\n @include breakpoint(phablet) {\n padding: 0 4px;\n }\n &.open {\n color: #414042;\n }\n .counter {\n background-color: $primary-brand;\n border-radius: 50%;\n color: #fff;\n margin-top: -0.25em;\n margin-left: -0.2em;\n position: absolute;\n text-align: center;\n width: 1.4em;\n line-height: 1.4;\n height: 1.4em;\n font-size: 0.9em;\n @include breakpoint(phablet) {\n height: 1.5em;\n width: 1.5em;\n line-height: 1.5;\n font-size: 1em;\n }\n &.hidden {\n display: none;\n }\n }\n .map-icon {\n svg {\n width: 31px;\n height: 32px;\n @include breakpoint(phablet) {\n width: 36px;\n height: 37px;\n }\n }\n }\n }\n .map-item-list-wrapper {\n position: absolute;\n .map-item-list-container {\n @include border-radius(0 0 3px 3px);\n @include transition(all 0.1s ease-in-out);\n box-sizing: border-box;\n overflow: hidden;\n max-height: 0;\n position: relative;\n top: 10px;\n background-color: #fbfcfd;\n right: 205px;\n width: 260px;\n @include breakpoint(phablet) {\n right: 245px;\n width: 300px;\n }\n @media print {\n display: none;\n }\n &.open {\n @include box-shadow(\n 0 5px 5px -3px rgba(0, 0, 0, 0.2),\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\n 0 3px 14px 2px rgba(0, 0, 0, 0.12)\n );\n height: auto;\n max-height: 300px;\n overflow: auto;\n }\n .page-link-element {\n display: block;\n text-align: center;\n padding: 8px 16px;\n color: $primary-text;\n text-decoration: none;\n cursor: pointer;\n &:hover {\n text-decoration: underline;\n color: $primary-text-hover;\n }\n }\n ul {\n list-style: none;\n padding: 0;\n margin: 0;\n li {\n @include transition(all 0.15s ease-in-out);\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 16px;\n &:hover {\n background-color: $hover-background;\n }\n .list-icon {\n margin-left: 8px;\n cursor: pointer;\n background: none;\n border: none;\n svg {\n color: $danger-text;\n width: 20px;\n }\n }\n }\n }\n }\n }\n}\n',"\ufeff@mixin transition($transition...) {\n -moz-transition: $transition;\n -o-transition: $transition;\n -webkit-transition: $transition;\n transition: $transition;\n}\n\n@mixin transition-property($property...) {\n -moz-transition-property: $property;\n -o-transition-property: $property;\n -webkit-transition-property: $property;\n transition-property: $property;\n}\n\n@mixin transition-duration($duration...) {\n -moz-transition-property: $duration;\n -o-transition-property: $duration;\n -webkit-transition-property: $duration;\n transition-property: $duration;\n}\n\n@mixin transition-timing-function($timing...) {\n -moz-transition-timing-function: $timing;\n -o-transition-timing-function: $timing;\n -webkit-transition-timing-function: $timing;\n transition-timing-function: $timing;\n}\n\n@mixin transition-delay($delay...) {\n -moz-transition-delay: $delay;\n -o-transition-delay: $delay;\n -webkit-transition-delay: $delay;\n transition-delay: $delay;\n}\n","@mixin breakpoint($point) {\n @if $point == desktop {\n @media (min-width: $screen-desktop) {\n @content;\n }\n } @else if $point == laptop {\n @media (min-width: $screen-laptop) {\n @content;\n }\n } @else if $point == tablet {\n @media (min-width: $screen-tablet) {\n @content;\n }\n } @else if $point == phablet {\n @media (min-width: $screen-phablet) {\n @content;\n }\n }\n}\n","$body-background: #ffffff;\n$navigation-bar-background: #f7f7f7;\n$hover-background: rgba(0,0,0,.05);\n$default-border: #d8d8d8;\n\n$default-background: #eee;\n$default-background-hover: #ddd;\n$default-text:#2F3940;\n\n$primary-brand: #FE5000;\n$secondary-brand: #7da1c4;\n\n$primary-background: #7DA1C4;\n$primary-background-hover: #FE5000;\n$primary-text: #3767C7;\n$primary-text-hover:#0056b3;\n\n\n$success-background: #06A755;\n$success-background-hover: #009745;\n$success-text: #06A755;\n\n\n$warning-background: #C38621;\n$warning-background-hover: #B37611;\n$warning-text: #C38621;\n\n$danger-background: #E00d0D;\n$danger-background-hover: #D00000;\n$danger-text: #E00d0D;\n\n$disabled-background: #ffffff;\n$disabled-text: #d8d8d8;\n","@mixin border-radius($radius) {\n -webkit-border-radius: $radius;\n border-radius: $radius;\n}\n\n// Single side border-radius\n\n@mixin border-top-radius($radius) {\n -webkit-border-top-right-radius: $radius;\n border-top-right-radius: $radius;\n -webkit-border-top-left-radius: $radius;\n border-top-left-radius: $radius;\n}\n@mixin border-right-radius($radius) {\n -webkit-border-bottom-right-radius: $radius;\n border-bottom-right-radius: $radius;\n -webkit-border-top-right-radius: $radius;\n border-top-right-radius: $radius;\n}\n@mixin border-bottom-radius($radius) {\n -webkit-border-bottom-right-radius: $radius;\n border-bottom-right-radius: $radius;\n -webkit-border-bottom-left-radius: $radius;\n border-bottom-left-radius: $radius;\n}\n@mixin border-left-radius($radius) {\n -webkit-border-bottom-left-radius: $radius;\n border-bottom-left-radius: $radius;\n -webkit-border-top-left-radius: $radius;\n border-top-left-radius: $radius;\n}","\ufeff@mixin box-shadow($shadows...) {\n -webkit-box-shadow: $shadows;\n -moz-box-shadow: $shadows;\n box-shadow: $shadows;\n}\n"],sourceRoot:""}]);const s=a},7814:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>i});const i='<template>\n <div class="map-items-container">\n <button id="map-toggle-button" class="icon-toggle-button">\n <span id="map-toggle-button-counter" class="counter"></span>\n <span id="map-toggle-button-icon" class="map-icon"></span>\n </button>\n <div class="map-item-list-wrapper">\n <div id="map-item-list-container" class="map-item-list-container"></div>\n </div>\n </div>\n</template>'},7638:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",i=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),i&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),i&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,i,o,r){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(i)for(var s=0;s<this.length;s++){var p=this[s][0];null!=p&&(a[p]=!0)}for(var c=0;c<t.length;c++){var l=[].concat(t[c]);i&&a[l[0]]||(void 0!==r&&(void 0===l[5]||(l[1]="@layer".concat(l[5].length>0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=r),n&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=n):l[2]=n),o&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=o):l[4]="".concat(o)),e.push(l))}},e}},4663:t=>{"use strict";t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if("function"==typeof btoa){var i=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),o="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(i),r="/*# ".concat(o," */"),a=n.sources.map((function(t){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(t," */")}));return[e].concat(a).concat([r]).join("\n")}return[e].join("\n")}},1397:function(t,e,n){"use strict";var i=this&&this.__awaiter||function(t,e,n,i){return new(n||(n=Promise))((function(o,r){function a(t){try{p(i.next(t))}catch(t){r(t)}}function s(t){try{p(i.throw(t))}catch(t){r(t)}}function p(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}p((i=i.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.Component=void 0;const o=n(5969),r=n(5773),a=n(3804);e.Component=t=>e=>{var n;const s=t.tag||a.toKebabCase(e.prototype.constructor.name),p=((n=class extends e{constructor(){super(),this.props={},this.showShadowRoot=null==t.shadow||t.shadow,!this.shadowRoot&&this.showShadowRoot&&this.attachShadow({mode:"open"})}static get observedAttributes(){return Object.keys(this.propsInit||{}).map((t=>a.toKebabCase(t)))}attributeChangedCallback(t,e,n){this.onAttributeChange(t,e,n)}onAttributeChange(t,e,n,i=!0){if(e!=n){i&&(this[a.toCamelCase(t)]=n);const o=this.constructor.watchAttributes;if(o&&o[t]){const i=o[t];this.__connected&&"function"==typeof this[i]&&this[i]({old:e,new:n})}}}connectedCallback(){const t=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return i(this,void 0,void 0,(function*(){yield this.render(),t.connectedCallback&&t.connectedCallback.call(this),this.__connected=!0,o.addEventListeners(this),r.initializeProps(this)}))}render(){return i(this,void 0,void 0,(function*(){if(this.__connected)return;const e=document.createElement("template");e.innerHTML=yield this.getStyle(),t.template instanceof Promise?e.content.appendChild(yield this.getExternalTemplate()):"string"==typeof t.template&&(e.innerHTML+=t.template),(this.showShadowRoot?this.shadowRoot:this).appendChild(e.content.cloneNode(!0))}))}getExternalTemplate(){return i(this,void 0,void 0,(function*(){const e=(yield t.template).default.toString(),n=document.createRange().createContextualFragment(e);return 1===n.children.length&&"TEMPLATE"===n.children[0].nodeName?n.firstChild.content:n}))}getStyle(){return i(this,void 0,void 0,(function*(){let e;return t.style instanceof Promise?e=(yield t.style).default.toString():"string"==typeof t.style&&(e=t.style),e?`<style>${e}</style>`:""}))}}).__connected=!1,n.ready=new Promise(((t,e)=>t(!0))),n);return customElements.get(s)||customElements.define(s,p),p}},985:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CustomElement=void 0;class n extends HTMLElement{constructor(){super()}connect(t){this.isConnected||document.querySelector(t).appendChild(this)}}e.CustomElement=n},265:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getShadowRootElement=e.getElement=void 0,e.getElement=t=>document.querySelector(t),e.getShadowRootElement=(t,e)=>t.shadowRoot.querySelector(e)},406:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n),Object.defineProperty(t,i,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||i(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),o(n(1397),e),o(n(985),e),o(n(265),e),o(n(5969),e),o(n(5773),e),o(n(4271),e),o(n(9766),e),o(n(4938),e)},5969:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Dispatch=e.addEventListeners=e.Listen=void 0;const i=n(3804);e.Listen=(t,e)=>(n,i)=>{n.constructor.listeners||(n.constructor.listeners=[]),n.constructor.listeners.push({selector:e,eventName:t,handler:n[i]})},e.addEventListeners=t=>{if(t.constructor.listeners){const e=t.shadowRoot||t;for(const n of t.constructor.listeners){const i=n.selector?e.querySelector(n.selector)?e.querySelector(n.selector):null:t;i&&i.addEventListener(n.eventName,(e=>{n.handler.call(t,e)}))}}},e.Dispatch=t=>(e,n)=>{Object.defineProperty(e,n,{get:function(){const e=this;return{emit(o){const r=t||i.toDotCase(n);e.dispatchEvent(new CustomEvent(r,o))}}}})}},5773:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.initializeProps=e.Prop=void 0;const i=n(3804);e.Prop=()=>(t,e)=>{const n=i.toKebabCase(e);t.constructor.propsInit||(t.constructor.propsInit={}),t.constructor.propsInit[e]=null,Object.defineProperty(t,e,{get:function(){return this.props[e]?this.props[e]:this.getAttribute(n)},set:function(t){if(this.__connected){const o=this.props[e];this.props[e]=i.tryParseInt(t),"object"!=typeof t?this.setAttribute(n,t):this.onAttributeChange(n,o,t,!1)}else this.hasAttribute(i.toKebabCase(e))||(this.constructor.propsInit[e]=t)}})},e.initializeProps=t=>{const e=t.constructor.watchAttributes;for(let n of(t=>{const e=t.constructor.watchAttributes,n=Object.assign({},e);Object.keys(n).forEach((t=>n[t]=""));const i=Object.assign(Object.assign({},n),t.constructor.propsInit);return Object.keys(i)})(t)){if(e)if(null==e[i.toKebabCase(n)])e[i.toKebabCase(n)]="";else{const o=t.props[n]||t.getAttribute(i.toKebabCase(n));"function"==typeof t[e[n]]&&t[e[n]]({new:o})}t.constructor.propsInit[n]&&(t.hasAttribute(i.toKebabCase(n))||(t[n]=t.constructor.propsInit[n]))}}},4271:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Toggle=void 0;const i=n(3804);e.Toggle=()=>(t,e)=>{t.constructor.propsInit||(t.constructor.propsInit={}),t.constructor.propsInit[e]=null,Object.defineProperty(t,e,{get:function(){return(t=>{if(this.hasAttribute(t)){const e=this.getAttribute(t);return!!/^(true|false|^$)$/.test(e)&&("true"==e||""==e)}return!1})(e)},set:function(t){const n=t;if(null!=t)switch(typeof t){case"boolean":break;case"string":/^(true|false|^$)$/.test(t)?t="true"==n||""==n:(console.warn(`TypeError: Cannot set boolean toggle property '${e}' to '${t}'`),t=!1);break;default:throw`TypeError: Cannot set boolean toggle property '${e}' to '${t}'`}this.__connected?(this.props[e]=t||!1,""!==n&&null!==n?this.setAttribute(e,t):t?this.setAttribute(e,""):this.removeAttribute(e)):this.hasAttribute(i.toKebabCase(e))||(this.constructor.propsInit[e]=t)}})}},9766:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},3804:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.tryParseInt=e.toDotCase=e.toCamelCase=e.toKebabCase=void 0,e.toKebabCase=t=>t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),e.toCamelCase=t=>t.toLowerCase().replace(/(\-\w)/g,(t=>t[1].toUpperCase())),e.toDotCase=t=>t.replace(/(?!^)([A-Z])/g," $1").replace(/[_\s]+(?=[a-zA-Z])/g,".").toLowerCase(),e.tryParseInt=t=>parseInt(t)==t&&NaN!==parseFloat(t)?parseInt(t):t},4938:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Watch=void 0;const i=n(3804);e.Watch=t=>(e,n)=>{e.constructor.watchAttributes||(e.constructor.watchAttributes={}),e.constructor.watchAttributes[i.toKebabCase(t)]=n,e.constructor.propsInit||(e.constructor.propsInit={}),e.constructor.propsInit[t]=null}},2635:t=>{t.exports='<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve"><style type="text/css"> .__158ibJ0__st0{fill:currentColor;} </style><path class="__158ibJ0__st0 " d="M5.2,11.2C4.4,10.1,4,8.8,4,7.3C4,3.3,7.3,0,11.4,0s7.3,3.3,7.3,7.3c0,1.5-0.4,2.8-1.1,3.9L11.4,22L5.2,11.2z M15.5,7.3c0-2.3-1.9-4.2-4.2-4.2S7.2,5.1,7.2,7.3c0,0.8,0.2,1.5,0.7,2.2c0.7,1.1,2,2,3.5,2s2.8-0.7,3.5-2 C15.3,8.9,15.5,8.1,15.5,7.3z"></path></svg>'},2374:t=>{t.exports='<svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="trash" class="__2fgqV-u__svg-inline--fa __2fgqV-u__fa-trash __2fgqV-u__fa-w-14 __2fgqV-u__ " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M432 80h-82.4l-34-56.7A48 48 0 0 0 274.4 0H173.6a48 48 0 0 0-41.2 23.3L98.4 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16l21.2 339a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM173.6 48h100.8l19.2 32H154.4zm173.3 416H101.11l-21-336h287.8z"></path></svg>'},1422:function(t,e,n){"use strict";var i=this&&this.__createBinding||(Object.create?function(t,e,n,i){void 0===i&&(i=n);var o=Object.getOwnPropertyDescriptor(e,n);o&&!("get"in o?!e.__esModule:o.writable||o.configurable)||(o={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,i,o)}:function(t,e,n,i){void 0===i&&(i=n),t[i]=e[n]}),o=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__decorate||function(t,e,n,i){var o,r=arguments.length,a=r<3?e:null===i?i=Object.getOwnPropertyDescriptor(e,n):i;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,i);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(r<3?o(a):r>3?o(e,n,a):o(e,n))||a);return r>3&&a&&Object.defineProperty(e,n,a),a},a=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&i(e,t,n);return o(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MapItems=void 0;const p=n(406),c=s(n(2635)),l=s(n(2374)),d=n(8586),u=n(1406);let m=class extends p.CustomElement{constructor(){super(),this.hideListContainer=()=>{this.showList=!1},this.renderMapItems=t=>{const e=t.map((t=>{if(t){const e=document.createElement("span");e.innerText=t.Title;const n=document.createElement("button");return n.classList.add("list-icon"),n.innerHTML=l.default,n.dataset.mapItem=JSON.stringify(t),n.setAttribute("aria-label","en"===this.language?`Remove ${t.Title} from map`:`Fjern ${t.Title} fra kart`),e.appendChild(n),`<li>${e.innerHTML}</li>`}return null})).filter((t=>t)).join("");let n;this.preventRedirect?(n=document.createElement("span"),n.addEventListener("click",(()=>{this.onOpenEmptyMapItemsList.emit()}))):(n=document.createElement("a"),n.href=`${(0,u.getKartkatalogUrl)(this.environment)}/kart`),n.innerText="en"===this.language?"Show map":"Vis kart",n.classList.add("page-link-element"),this.mapItemListContainer.innerHTML=`<ul>${e}</ul>`,this.mapItemListContainer.prepend(n)},this.clickOutsideMapItemsContainer=this.clickOutsideMapItemsContainer.bind(this),this.updateDomElements=this.updateDomElements.bind(this),this.getUpdatedMapItems=this.getUpdatedMapItems.bind(this)}setup(t){this.connect(t.container),t.id&&(this.id=t.id)}connectedCallback(){this.mapButton=(0,p.getShadowRootElement)(this,"#map-toggle-button"),this.mapIcon=(0,p.getShadowRootElement)(this,"#map-toggle-button-icon"),this.mapIconCounter=(0,p.getShadowRootElement)(this,"#map-toggle-button-counter"),this.mapItemListContainer=(0,p.getShadowRootElement)(this,"#map-item-list-container"),this.getUpdatedMapItems(),this.mapIcon.innerHTML=c.default,this.renderMapItemsCounter(),document.addEventListener("click",this.clickOutsideMapItemsContainer),document.addEventListener("mapItemsChanged",this.updateDomElements)}updateDomElements(){this.getUpdatedMapItems(),this.renderMapItems(this.mapItems),this.renderMapItemsCounter()}getUpdatedMapItems(){this.mapItems=(0,d.getMapItems)()}disconnectedCallback(){document.removeEventListener("click",this.clickOutsideMapItemsContainer)}clickOutsideMapItemsContainer(t){const e=t.composedPath()[0];e.closest("#map-item-list-container")||e.closest("#map-toggle-button")||this.hideListContainer()}renderMapItemsCounter(){const t=(0,d.getMapItemsCount)();t?(this.mapIconCounter.innerHTML=t.toString(),this.mapIconCounter.classList.remove("hidden"),this.mapButton.setAttribute("aria-label","en"===this.language?"Show map item list":"Vis liste med elementer lagt til i kart")):(this.mapIconCounter.innerHTML="",this.mapIconCounter.classList.add("hidden"),this.mapButton.setAttribute("aria-label","en"===this.language?"Show map":"Vis kart"))}buttonClicked(t){this.mapItems&&this.mapItems.length?this.showList=!this.showList:(this.showList=!1,this.preventRedirect?this.onOpenEmptyMapItemsList.emit():window.location.href=`${(0,u.getKartkatalogUrl)(this.environment)}/kart`)}removeMapItemClicked(t){const e=t.composedPath()[0];e.closest("#menu-container");const n=e.closest("button");if(n){const e=n.dataset&&n.dataset.mapItem?JSON.parse(n.dataset.mapItem):null;e&&(t.stopPropagation(),(0,d.removeMapItem)(e),this.getUpdatedMapItems(),this.renderMapItems(this.mapItems),this.renderMapItemsCounter(),this.mapItems&&this.mapItems.length||(this.showList=!1))}}showMenuChanged(){this.showList?this.mapItemListContainer.classList.add("open"):this.mapItemListContainer.classList.remove("open"),this.showList?this.mapButton.classList.add("open"):this.mapButton.classList.remove("open")}mapItemsChanged(){this.mapItems&&this.mapItems.length&&(this.renderMapItems(this.mapItems),this.renderMapItemsCounter())}languageChanged(){this.mapItems&&this.mapItems.length&&(this.renderMapItems(this.mapItems),this.renderMapItemsCounter())}preventRedirectChanged(){this.mapItems&&this.mapItems.length&&(this.renderMapItems(this.mapItems),this.renderMapItemsCounter())}static setup(t,e){const n=(0,p.getElement)(t);e.active&&(n.showList=e.active)}};m.elementSelector="map-items",r([(0,p.Prop)()],m.prototype,"id",void 0),r([(0,p.Prop)()],m.prototype,"environment",void 0),r([(0,p.Prop)()],m.prototype,"language",void 0),r([(0,p.Toggle)()],m.prototype,"showList",void 0),r([(0,p.Toggle)()],m.prototype,"preventRedirect",void 0),r([(0,p.Dispatch)("onOpenEmptyMapItemsList")],m.prototype,"onOpenEmptyMapItemsList",void 0),r([(0,p.Listen)("click","#map-toggle-button")],m.prototype,"buttonClicked",null),r([(0,p.Listen)("click","#map-item-list-container")],m.prototype,"removeMapItemClicked",null),r([(0,p.Watch)("showlist")],m.prototype,"showMenuChanged",null),r([(0,p.Watch)("mapItems")],m.prototype,"mapItemsChanged",null),r([(0,p.Watch)("language")],m.prototype,"languageChanged",null),r([(0,p.Watch)("preventredirect")],m.prototype,"preventRedirectChanged",null),m=r([(0,p.Component)({tag:"map-items",template:Promise.resolve().then((()=>a(n(7814)))),style:Promise.resolve().then((()=>a(n(2895))))})],m),e.MapItems=m},4724:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setLanguage=e.getLanguage=e.setCookie=e.getCookie=void 0,e.getCookie=t=>{const e=`${t}=`,n=decodeURIComponent(document.cookie).split(";");for(var i=0;i<n.length;i++){let t=n[i];for(;" "==t.charAt(0);)t=t.substring(1);if(0==t.indexOf(e))return t.substring(e.length,t.length)}return""},e.setCookie=(t,e,n)=>{let i=new Date;i.setTime(i.getTime()+24*n*60*60*1e3);const o=`expires=${i.toUTCString()}`,r="localhost"===window.location.hostname?"":"domain=-geonorge.no";document.cookie=`${t}=${e};${o};path=/;${r}`},e.getLanguage=()=>(0,e.getCookie)("_culture"),e.setLanguage=t=>{(0,e.setCookie)("_culture",t,7)}},8586:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.removeMapItem=e.getMapItemsCount=e.getMapItems=void 0;const i=n(4724);e.getMapItems=()=>localStorage.mapItems&&Array.isArray(JSON.parse(localStorage.mapItems))?JSON.parse(localStorage.mapItems).filter((t=>t)):[],e.getMapItemsCount=()=>{if(-1!==window.location.hostname.toLowerCase().indexOf("kartkatalog"))return(0,e.getMapItems)().length;{const t=parseInt((0,i.getCookie)("mapItems"));return t&&!isNaN(t)?t:0}},e.removeMapItem=t=>{let e=localStorage.mapItems&&Array.isArray(JSON.parse(localStorage.mapItems))?JSON.parse(localStorage.mapItems):[];localStorage.mapItems=JSON.stringify(e.filter((e=>e.Uuid!==t.Uuid)))}},1406:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.renderDropdownResultLink=e.convertTextToUrlSlug=e.getGeonorgeNedlastingUrl=e.getGeonorgeUrl=e.getKartkatalogUrl=void 0,e.getKartkatalogUrl=t=>`https://kartkatalog.${"dev"===t||"test"===t?t+".":""}geonorge.no`,e.getGeonorgeUrl=(t,e)=>`https://www.${"dev"===e||"test"===e?"test.":""}geonorge.no/${"en"===t?"en/":""}`,e.getGeonorgeNedlastingUrl=t=>`https://nedlasting.${"dev"===t||"test"===t?"test.":""}geonorge.no`;const n=(t,e,n)=>(t=(t=(t=t.replace(new RegExp(`([^s])([${e}])([^s])`,"ig"),`$1 ${n} $3`)).replace(new RegExp(`([^s])([${e}])`,"ig"),`$1 ${n}`)).replace(new RegExp(`([${e}])([^s])`,"ig"),`${n} $2`)).replace(new RegExp(`[${e}]`,"ig"),n);e.convertTextToUrlSlug=(t="")=>(t=t.toLowerCase(),t=n(t,"&","and"),(t=(t=(t=(t=(t=(t=(t=(t=(t=n(t,"+","plus")).replace("æ","ae")).replace("ä","ae")).replace("ø","oe")).replace("ö","oe")).replace("å","aa")).replace(/( - )/g,"-")).replace(/[\s]+/g,"-")).replace(/[^a-z0-9-]+/gi,"")).replace(/^[^A-Z0-9]*|[^a-z0-9]*$/gi,""));const i=(t,e)=>{if(!e)return!1;e({event:"updateSearchString",category:"metadataSearch",activity:"dropDownResultsClick",searchString:t})};e.renderDropdownResultLink=(t,n,o,r,a)=>"articles"===n?`<a onClick="${i(o,a)}" href="${t.ShowDetailsUrl?t.ShowDetailsUrl:"#"}">${t.Title}</a>`:`<a onClick="${i(o,a)}" href="${(0,e.getKartkatalogUrl)(r)}/metadata/${(0,e.convertTextToUrlSlug)(t.Title)}/${t.Uuid}">${t.Title}</a>`}},e={};function n(i){var o=e[i];if(void 0!==o)return o.exports;var r=e[i]={id:i,exports:{}};return t[i].call(r.exports,r,r.exports,n),r.exports}return n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var i in e)n.o(e,i)&&!n.o(t,i)&&Object.defineProperty(t,i,{enumerable:!0,get:e[i]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(1422)})()));
|
|
1
|
+
!function(t,e){"object"==typeof exports&&"object"==typeof module?module.exports=e():"function"==typeof define&&define.amd?define([],e):"object"==typeof exports?exports.geonorge=e():(t.geonorge=t.geonorge||{},t.geonorge.MapItem=e())}(self,(()=>(()=>{var t={2895:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>s});var o=n(4663),i=n.n(o),r=n(7638),a=n.n(r)()(i());a.push([t.id,"*{box-sizing:border-box}div.map-items-container .icon-toggle-button{-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;border:none;background:rgba(0,0,0,0);color:#7d746d;cursor:pointer;padding:0}@media(min-width: 37.5em){div.map-items-container .icon-toggle-button{padding:0 4px}}div.map-items-container .icon-toggle-button.open{color:#414042}div.map-items-container .icon-toggle-button .counter{background-color:#fe5000;border-radius:50%;color:#fff;margin-top:-0.25em;margin-left:-0.2em;position:absolute;text-align:center;width:1.4em;line-height:1.4;height:1.4em;font-size:.9em}@media(min-width: 37.5em){div.map-items-container .icon-toggle-button .counter{height:1.5em;width:1.5em;line-height:1.5;font-size:1em}}div.map-items-container .icon-toggle-button .counter.hidden{display:none}div.map-items-container .icon-toggle-button .map-icon svg{width:31px;height:32px}@media(min-width: 37.5em){div.map-items-container .icon-toggle-button .map-icon svg{width:36px;height:37px}}div.map-items-container .map-item-list-wrapper{position:absolute}div.map-items-container .map-item-list-wrapper .map-item-list-container{-webkit-border-radius:0 0 3px 3px;border-radius:0 0 3px 3px;-moz-transition:all .1s ease-in-out;-o-transition:all .1s ease-in-out;-webkit-transition:all .1s ease-in-out;transition:all .1s ease-in-out;box-sizing:border-box;overflow:hidden;max-height:0;position:relative;top:10px;background-color:#fbfcfd;right:205px;width:260px}@media(min-width: 37.5em){div.map-items-container .map-item-list-wrapper .map-item-list-container{right:245px;width:300px}}@media print{div.map-items-container .map-item-list-wrapper .map-item-list-container{display:none}}div.map-items-container .map-item-list-wrapper .map-item-list-container.open{-webkit-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);-moz-box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);box-shadow:0 5px 5px -3px rgba(0,0,0,.2),0 8px 10px 1px rgba(0,0,0,.14),0 3px 14px 2px rgba(0,0,0,.12);height:auto;max-height:300px;overflow:auto}div.map-items-container .map-item-list-wrapper .map-item-list-container .page-link-element{display:block;text-align:center;padding:8px 16px;color:#3767c7;text-decoration:none;cursor:pointer}div.map-items-container .map-item-list-wrapper .map-item-list-container .page-link-element:hover{text-decoration:underline;color:#0056b3}div.map-items-container .map-item-list-wrapper .map-item-list-container ul{list-style:none;padding:0;margin:0}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li{-moz-transition:all .15s ease-in-out;-o-transition:all .15s ease-in-out;-webkit-transition:all .15s ease-in-out;transition:all .15s ease-in-out;display:flex;align-items:center;justify-content:space-between;padding:8px 16px}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li:hover{background-color:rgba(0,0,0,.05)}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li .list-icon{margin-left:8px;cursor:pointer;background:none;border:none}div.map-items-container .map-item-list-wrapper .map-item-list-container ul li .list-icon svg{color:#e00d0d;width:20px}","",{version:3,sources:["webpack://./custom-elements/main-navigation/map-items/map-items.scss","webpack://./style/mixins/_transition.scss","webpack://./style/mixins/_breakpoints.scss","webpack://./style/variables/_colors.scss","webpack://./style/mixins/_border-radius.scss","webpack://./style/mixins/_box-shadow.scss"],names:[],mappings:"AAEA,EACI,qBAAA,CAIA,4CCNA,mCDOI,CCNJ,iCDMI,CCLJ,sCDKI,CCJJ,8BDII,CACA,WAAA,CACA,wBAAA,CACA,aAAA,CACA,cAAA,CACA,SAAA,CECA,0BFPJ,4CAQQ,aAAA,CAAA,CAEJ,iDACI,aAAA,CAEJ,qDACI,wBGZI,CHaJ,iBAAA,CACA,UAAA,CACA,kBAAA,CACA,kBAAA,CACA,iBAAA,CACA,iBAAA,CACA,WAAA,CACA,eAAA,CACA,YAAA,CACA,cAAA,CEjBJ,0BFMA,qDAaQ,YAAA,CACA,WAAA,CACA,eAAA,CACA,aAAA,CAAA,CAEJ,4DACI,YAAA,CAIJ,0DACI,UAAA,CACA,WAAA,CE/BR,0BF6BI,0DAIQ,UAAA,CACA,WAAA,CAAA,CAKhB,+CACI,iBAAA,CACA,wEItDN,iCJuDiC,CItDjC,yBJsDiC,CCvD/B,mCDwDQ,CCvDR,iCDuDQ,CCtDR,sCDsDQ,CCrDR,8BDqDQ,CACA,qBAAA,CACA,eAAA,CACA,YAAA,CACA,iBAAA,CACA,QAAA,CACA,wBAAA,CACA,WAAA,CACA,WAAA,CEnDJ,0BFyCA,wEAYQ,WAAA,CACA,WAAA,CAAA,CAEJ,aAfJ,wEAgBQ,YAAA,CAAA,CAEJ,6EKxER,8GLyEY,CKxEZ,2GLwEY,CKvEZ,sGLuEY,CAKA,WAAA,CACA,gBAAA,CACA,aAAA,CAEJ,2FACI,aAAA,CACA,iBAAA,CACA,gBAAA,CACA,aGzED,CH0EC,oBAAA,CACA,cAAA,CACA,iGACI,yBAAA,CACA,aG7EA,CHgFR,2EACI,eAAA,CACA,SAAA,CACA,QAAA,CACA,8EClGZ,oCDmGgB,CClGhB,kCDkGgB,CCjGhB,uCDiGgB,CChGhB,+BDgGgB,CACA,YAAA,CACA,kBAAA,CACA,6BAAA,CACA,gBAAA,CACA,oFACI,gCGxGL,CH0GC,yFACI,eAAA,CACA,cAAA,CACA,eAAA,CACA,WAAA,CACA,6FACI,aGrFd,CHsFc,UAAA",sourcesContent:['@import "../../../style/all";\n\n* {\n box-sizing: border-box;\n}\n\ndiv.map-items-container {\n .icon-toggle-button {\n @include transition(all 0.1s ease-in-out);\n border: none;\n background: transparent;\n color: #7d746d;\n cursor: pointer;\n padding: 0;\n @include breakpoint(phablet) {\n padding: 0 4px;\n }\n &.open {\n color: #414042;\n }\n .counter {\n background-color: $primary-brand;\n border-radius: 50%;\n color: #fff;\n margin-top: -0.25em;\n margin-left: -0.2em;\n position: absolute;\n text-align: center;\n width: 1.4em;\n line-height: 1.4;\n height: 1.4em;\n font-size: 0.9em;\n @include breakpoint(phablet) {\n height: 1.5em;\n width: 1.5em;\n line-height: 1.5;\n font-size: 1em;\n }\n &.hidden {\n display: none;\n }\n }\n .map-icon {\n svg {\n width: 31px;\n height: 32px;\n @include breakpoint(phablet) {\n width: 36px;\n height: 37px;\n }\n }\n }\n }\n .map-item-list-wrapper {\n position: absolute;\n .map-item-list-container {\n @include border-radius(0 0 3px 3px);\n @include transition(all 0.1s ease-in-out);\n box-sizing: border-box;\n overflow: hidden;\n max-height: 0;\n position: relative;\n top: 10px;\n background-color: #fbfcfd;\n right: 205px;\n width: 260px;\n @include breakpoint(phablet) {\n right: 245px;\n width: 300px;\n }\n @media print {\n display: none;\n }\n &.open {\n @include box-shadow(\n 0 5px 5px -3px rgba(0, 0, 0, 0.2),\n 0 8px 10px 1px rgba(0, 0, 0, 0.14),\n 0 3px 14px 2px rgba(0, 0, 0, 0.12)\n );\n height: auto;\n max-height: 300px;\n overflow: auto;\n }\n .page-link-element {\n display: block;\n text-align: center;\n padding: 8px 16px;\n color: $primary-text;\n text-decoration: none;\n cursor: pointer;\n &:hover {\n text-decoration: underline;\n color: $primary-text-hover;\n }\n }\n ul {\n list-style: none;\n padding: 0;\n margin: 0;\n li {\n @include transition(all 0.15s ease-in-out);\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: 8px 16px;\n &:hover {\n background-color: $hover-background;\n }\n .list-icon {\n margin-left: 8px;\n cursor: pointer;\n background: none;\n border: none;\n svg {\n color: $danger-text;\n width: 20px;\n }\n }\n }\n }\n }\n }\n}\n',"\ufeff@mixin transition($transition...) {\n -moz-transition: $transition;\n -o-transition: $transition;\n -webkit-transition: $transition;\n transition: $transition;\n}\n\n@mixin transition-property($property...) {\n -moz-transition-property: $property;\n -o-transition-property: $property;\n -webkit-transition-property: $property;\n transition-property: $property;\n}\n\n@mixin transition-duration($duration...) {\n -moz-transition-property: $duration;\n -o-transition-property: $duration;\n -webkit-transition-property: $duration;\n transition-property: $duration;\n}\n\n@mixin transition-timing-function($timing...) {\n -moz-transition-timing-function: $timing;\n -o-transition-timing-function: $timing;\n -webkit-transition-timing-function: $timing;\n transition-timing-function: $timing;\n}\n\n@mixin transition-delay($delay...) {\n -moz-transition-delay: $delay;\n -o-transition-delay: $delay;\n -webkit-transition-delay: $delay;\n transition-delay: $delay;\n}\n","@mixin breakpoint($point) {\n @if $point == desktop {\n @media (min-width: $screen-desktop) {\n @content;\n }\n } @else if $point == laptop {\n @media (min-width: $screen-laptop) {\n @content;\n }\n } @else if $point == tablet {\n @media (min-width: $screen-tablet) {\n @content;\n }\n } @else if $point == phablet {\n @media (min-width: $screen-phablet) {\n @content;\n }\n }\n}\n","$body-background: #ffffff;\n$navigation-bar-background: #f7f7f7;\n$hover-background: rgba(0,0,0,.05);\n$default-border: #d8d8d8;\n\n$default-background: #eee;\n$default-background-hover: #ddd;\n$default-text:#2F3940;\n\n$primary-brand: #FE5000;\n$secondary-brand: #7da1c4;\n\n$primary-background: #7DA1C4;\n$primary-background-hover: #FE5000;\n$primary-text: #3767C7;\n$primary-text-hover:#0056b3;\n\n\n$success-background: #06A755;\n$success-background-hover: #009745;\n$success-text: #06A755;\n\n\n$warning-background: #C38621;\n$warning-background-hover: #B37611;\n$warning-text: #C38621;\n\n$danger-background: #E00d0D;\n$danger-background-hover: #D00000;\n$danger-text: #E00d0D;\n\n$disabled-background: #ffffff;\n$disabled-text: #d8d8d8;\n","@mixin border-radius($radius) {\n -webkit-border-radius: $radius;\n border-radius: $radius;\n}\n\n// Single side border-radius\n\n@mixin border-top-radius($radius) {\n -webkit-border-top-right-radius: $radius;\n border-top-right-radius: $radius;\n -webkit-border-top-left-radius: $radius;\n border-top-left-radius: $radius;\n}\n@mixin border-right-radius($radius) {\n -webkit-border-bottom-right-radius: $radius;\n border-bottom-right-radius: $radius;\n -webkit-border-top-right-radius: $radius;\n border-top-right-radius: $radius;\n}\n@mixin border-bottom-radius($radius) {\n -webkit-border-bottom-right-radius: $radius;\n border-bottom-right-radius: $radius;\n -webkit-border-bottom-left-radius: $radius;\n border-bottom-left-radius: $radius;\n}\n@mixin border-left-radius($radius) {\n -webkit-border-bottom-left-radius: $radius;\n border-bottom-left-radius: $radius;\n -webkit-border-top-left-radius: $radius;\n border-top-left-radius: $radius;\n}","\ufeff@mixin box-shadow($shadows...) {\n -webkit-box-shadow: $shadows;\n -moz-box-shadow: $shadows;\n box-shadow: $shadows;\n}\n"],sourceRoot:""}]);const s=a},7814:(t,e,n)=>{"use strict";n.r(e),n.d(e,{default:()=>o});const o='<template>\n <div class="map-items-container">\n <button id="map-toggle-button" class="icon-toggle-button">\n <span id="map-toggle-button-counter" class="counter"></span>\n <span id="map-toggle-button-icon" class="map-icon"></span>\n </button>\n <div class="map-item-list-wrapper">\n <div id="map-item-list-container" class="map-item-list-container"></div>\n </div>\n </div>\n</template>'},7638:t=>{"use strict";t.exports=function(t){var e=[];return e.toString=function(){return this.map((function(e){var n="",o=void 0!==e[5];return e[4]&&(n+="@supports (".concat(e[4],") {")),e[2]&&(n+="@media ".concat(e[2]," {")),o&&(n+="@layer".concat(e[5].length>0?" ".concat(e[5]):""," {")),n+=t(e),o&&(n+="}"),e[2]&&(n+="}"),e[4]&&(n+="}"),n})).join("")},e.i=function(t,n,o,i,r){"string"==typeof t&&(t=[[null,t,void 0]]);var a={};if(o)for(var s=0;s<this.length;s++){var p=this[s][0];null!=p&&(a[p]=!0)}for(var c=0;c<t.length;c++){var l=[].concat(t[c]);o&&a[l[0]]||(void 0!==r&&(void 0===l[5]||(l[1]="@layer".concat(l[5].length>0?" ".concat(l[5]):""," {").concat(l[1],"}")),l[5]=r),n&&(l[2]?(l[1]="@media ".concat(l[2]," {").concat(l[1],"}"),l[2]=n):l[2]=n),i&&(l[4]?(l[1]="@supports (".concat(l[4],") {").concat(l[1],"}"),l[4]=i):l[4]="".concat(i)),e.push(l))}},e}},4663:t=>{"use strict";t.exports=function(t){var e=t[1],n=t[3];if(!n)return e;if("function"==typeof btoa){var o=btoa(unescape(encodeURIComponent(JSON.stringify(n)))),i="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(o),r="/*# ".concat(i," */"),a=n.sources.map((function(t){return"/*# sourceURL=".concat(n.sourceRoot||"").concat(t," */")}));return[e].concat(a).concat([r]).join("\n")}return[e].join("\n")}},1397:function(t,e,n){"use strict";var o=this&&this.__awaiter||function(t,e,n,o){return new(n||(n=Promise))((function(i,r){function a(t){try{p(o.next(t))}catch(t){r(t)}}function s(t){try{p(o.throw(t))}catch(t){r(t)}}function p(t){var e;t.done?i(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}p((o=o.apply(t,e||[])).next())}))};Object.defineProperty(e,"__esModule",{value:!0}),e.Component=void 0;const i=n(5969),r=n(5773),a=n(3804);e.Component=t=>e=>{var n;const s=t.tag||a.toKebabCase(e.prototype.constructor.name),p=((n=class extends e{constructor(){super(),this.props={},this.showShadowRoot=null==t.shadow||t.shadow,!this.shadowRoot&&this.showShadowRoot&&this.attachShadow({mode:"open"})}static get observedAttributes(){return Object.keys(this.propsInit||{}).map((t=>a.toKebabCase(t)))}attributeChangedCallback(t,e,n){this.onAttributeChange(t,e,n)}onAttributeChange(t,e,n,o=!0){if(e!=n){o&&(this[a.toCamelCase(t)]=n);const i=this.constructor.watchAttributes;if(i&&i[t]){const o=i[t];this.__connected&&"function"==typeof this[o]&&this[o]({old:e,new:n})}}}connectedCallback(){const t=Object.create(null,{connectedCallback:{get:()=>super.connectedCallback}});return o(this,void 0,void 0,(function*(){yield this.render(),t.connectedCallback&&t.connectedCallback.call(this),this.__connected=!0,i.addEventListeners(this),r.initializeProps(this)}))}render(){return o(this,void 0,void 0,(function*(){if(this.__connected)return;const e=document.createElement("template");e.innerHTML=yield this.getStyle(),t.template instanceof Promise?e.content.appendChild(yield this.getExternalTemplate()):"string"==typeof t.template&&(e.innerHTML+=t.template),(this.showShadowRoot?this.shadowRoot:this).appendChild(e.content.cloneNode(!0))}))}getExternalTemplate(){return o(this,void 0,void 0,(function*(){const e=(yield t.template).default.toString(),n=document.createRange().createContextualFragment(e);return 1===n.children.length&&"TEMPLATE"===n.children[0].nodeName?n.firstChild.content:n}))}getStyle(){return o(this,void 0,void 0,(function*(){let e;return t.style instanceof Promise?e=(yield t.style).default.toString():"string"==typeof t.style&&(e=t.style),e?`<style>${e}</style>`:""}))}}).__connected=!1,n.ready=new Promise(((t,e)=>t(!0))),n);return customElements.get(s)||customElements.define(s,p),p}},985:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.CustomElement=void 0;class n extends HTMLElement{constructor(){super()}connect(t){this.isConnected||document.querySelector(t).appendChild(this)}}e.CustomElement=n},265:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.getShadowRootElement=e.getElement=void 0,e.getElement=t=>document.querySelector(t),e.getShadowRootElement=(t,e)=>t.shadowRoot.querySelector(e)},406:function(t,e,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(t,e,n,o){void 0===o&&(o=n),Object.defineProperty(t,o,{enumerable:!0,get:function(){return e[n]}})}:function(t,e,n,o){void 0===o&&(o=n),t[o]=e[n]}),i=this&&this.__exportStar||function(t,e){for(var n in t)"default"===n||Object.prototype.hasOwnProperty.call(e,n)||o(e,t,n)};Object.defineProperty(e,"__esModule",{value:!0}),i(n(1397),e),i(n(985),e),i(n(265),e),i(n(5969),e),i(n(5773),e),i(n(4271),e),i(n(9766),e),i(n(4938),e)},5969:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Dispatch=e.addEventListeners=e.Listen=void 0;const o=n(3804);e.Listen=(t,e)=>(n,o)=>{n.constructor.listeners||(n.constructor.listeners=[]),n.constructor.listeners.push({selector:e,eventName:t,handler:n[o]})},e.addEventListeners=t=>{if(t.constructor.listeners){const e=t.shadowRoot||t;for(const n of t.constructor.listeners){const o=n.selector?e.querySelector(n.selector)?e.querySelector(n.selector):null:t;o&&o.addEventListener(n.eventName,(e=>{n.handler.call(t,e)}))}}},e.Dispatch=t=>(e,n)=>{Object.defineProperty(e,n,{get:function(){const e=this;return{emit(i){const r=t||o.toDotCase(n);e.dispatchEvent(new CustomEvent(r,i))}}}})}},5773:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.initializeProps=e.Prop=void 0;const o=n(3804);e.Prop=()=>(t,e)=>{const n=o.toKebabCase(e);t.constructor.propsInit||(t.constructor.propsInit={}),t.constructor.propsInit[e]=null,Object.defineProperty(t,e,{get:function(){return this.props[e]?this.props[e]:this.getAttribute(n)},set:function(t){if(this.__connected){const i=this.props[e];this.props[e]=o.tryParseInt(t),"object"!=typeof t?this.setAttribute(n,t):this.onAttributeChange(n,i,t,!1)}else this.hasAttribute(o.toKebabCase(e))||(this.constructor.propsInit[e]=t)}})},e.initializeProps=t=>{const e=t.constructor.watchAttributes;for(let n of(t=>{const e=t.constructor.watchAttributes,n=Object.assign({},e);Object.keys(n).forEach((t=>n[t]=""));const o=Object.assign(Object.assign({},n),t.constructor.propsInit);return Object.keys(o)})(t)){if(e)if(null==e[o.toKebabCase(n)])e[o.toKebabCase(n)]="";else{const i=t.props[n]||t.getAttribute(o.toKebabCase(n));"function"==typeof t[e[n]]&&t[e[n]]({new:i})}t.constructor.propsInit[n]&&(t.hasAttribute(o.toKebabCase(n))||(t[n]=t.constructor.propsInit[n]))}}},4271:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Toggle=void 0;const o=n(3804);e.Toggle=()=>(t,e)=>{t.constructor.propsInit||(t.constructor.propsInit={}),t.constructor.propsInit[e]=null,Object.defineProperty(t,e,{get:function(){return(t=>{if(this.hasAttribute(t)){const e=this.getAttribute(t);return!!/^(true|false|^$)$/.test(e)&&("true"==e||""==e)}return!1})(e)},set:function(t){const n=t;if(null!=t)switch(typeof t){case"boolean":break;case"string":/^(true|false|^$)$/.test(t)?t="true"==n||""==n:(console.warn(`TypeError: Cannot set boolean toggle property '${e}' to '${t}'`),t=!1);break;default:throw`TypeError: Cannot set boolean toggle property '${e}' to '${t}'`}this.__connected?(this.props[e]=t||!1,""!==n&&null!==n?this.setAttribute(e,t):t?this.setAttribute(e,""):this.removeAttribute(e)):this.hasAttribute(o.toKebabCase(e))||(this.constructor.propsInit[e]=t)}})}},9766:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0})},3804:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.tryParseInt=e.toDotCase=e.toCamelCase=e.toKebabCase=void 0,e.toKebabCase=t=>t.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").toLowerCase(),e.toCamelCase=t=>t.toLowerCase().replace(/(\-\w)/g,(t=>t[1].toUpperCase())),e.toDotCase=t=>t.replace(/(?!^)([A-Z])/g," $1").replace(/[_\s]+(?=[a-zA-Z])/g,".").toLowerCase(),e.tryParseInt=t=>parseInt(t)==t&&NaN!==parseFloat(t)?parseInt(t):t},4938:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.Watch=void 0;const o=n(3804);e.Watch=t=>(e,n)=>{e.constructor.watchAttributes||(e.constructor.watchAttributes={}),e.constructor.watchAttributes[o.toKebabCase(t)]=n,e.constructor.propsInit||(e.constructor.propsInit={}),e.constructor.propsInit[t]=null}},2635:t=>{t.exports='<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 22 22" style="enable-background:new 0 0 22 22;" xml:space="preserve"><style type="text/css"> .__158ibJ0__st0{fill:currentColor;} </style><path class="__158ibJ0__st0 " d="M5.2,11.2C4.4,10.1,4,8.8,4,7.3C4,3.3,7.3,0,11.4,0s7.3,3.3,7.3,7.3c0,1.5-0.4,2.8-1.1,3.9L11.4,22L5.2,11.2z M15.5,7.3c0-2.3-1.9-4.2-4.2-4.2S7.2,5.1,7.2,7.3c0,0.8,0.2,1.5,0.7,2.2c0.7,1.1,2,2,3.5,2s2.8-0.7,3.5-2 C15.3,8.9,15.5,8.1,15.5,7.3z"></path></svg>'},2374:t=>{t.exports='<svg aria-hidden="true" focusable="false" data-prefix="far" data-icon="trash" class="__2fgqV-u__svg-inline--fa __2fgqV-u__fa-trash __2fgqV-u__fa-w-14 __2fgqV-u__ " role="img" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 448 512"><path fill="currentColor" d="M432 80h-82.4l-34-56.7A48 48 0 0 0 274.4 0H173.6a48 48 0 0 0-41.2 23.3L98.4 80H16A16 16 0 0 0 0 96v16a16 16 0 0 0 16 16h16l21.2 339a48 48 0 0 0 47.9 45h245.8a48 48 0 0 0 47.9-45L416 128h16a16 16 0 0 0 16-16V96a16 16 0 0 0-16-16zM173.6 48h100.8l19.2 32H154.4zm173.3 416H101.11l-21-336h287.8z"></path></svg>'},1422:function(t,e,n){"use strict";var o=this&&this.__createBinding||(Object.create?function(t,e,n,o){void 0===o&&(o=n);var i=Object.getOwnPropertyDescriptor(e,n);i&&!("get"in i?!e.__esModule:i.writable||i.configurable)||(i={enumerable:!0,get:function(){return e[n]}}),Object.defineProperty(t,o,i)}:function(t,e,n,o){void 0===o&&(o=n),t[o]=e[n]}),i=this&&this.__setModuleDefault||(Object.create?function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}:function(t,e){t.default=e}),r=this&&this.__decorate||function(t,e,n,o){var i,r=arguments.length,a=r<3?e:null===o?o=Object.getOwnPropertyDescriptor(e,n):o;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,o);else for(var s=t.length-1;s>=0;s--)(i=t[s])&&(a=(r<3?i(a):r>3?i(e,n,a):i(e,n))||a);return r>3&&a&&Object.defineProperty(e,n,a),a},a=this&&this.__importStar||function(t){if(t&&t.__esModule)return t;var e={};if(null!=t)for(var n in t)"default"!==n&&Object.prototype.hasOwnProperty.call(t,n)&&o(e,t,n);return i(e,t),e},s=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(e,"__esModule",{value:!0}),e.MapItems=void 0;const p=n(406),c=s(n(2635)),l=s(n(2374)),d=n(8586),u=n(1406);let m=class extends p.CustomElement{constructor(){super(),this.hideListContainer=()=>{this.showList=!1},this.renderMapItems=t=>{const e=t.map((t=>{if(t){const e=document.createElement("span");e.innerText=t.Title;const n=document.createElement("button");return n.classList.add("list-icon"),n.innerHTML=l.default,n.dataset.mapItem=JSON.stringify(t),n.setAttribute("aria-label","en"===this.language?`Remove ${t.Title} from map`:`Fjern ${t.Title} fra kart`),e.appendChild(n),`<li>${e.innerHTML}</li>`}return null})).filter((t=>t)).join("");let n;this.preventRedirect?(n=document.createElement("span"),n.addEventListener("click",(()=>{this.onOpenEmptyMapItemsList.emit()}))):(n=document.createElement("a"),n.href=`${(0,u.getKartkatalogUrl)(this.environment)}/kart`),n.innerText="en"===this.language?"Show map":"Vis kart",n.classList.add("page-link-element"),this.mapItemListContainer.innerHTML=`<ul>${e}</ul>`,this.mapItemListContainer.prepend(n)},this.clickOutsideMapItemsContainer=this.clickOutsideMapItemsContainer.bind(this),this.updateDomElements=this.updateDomElements.bind(this),this.getUpdatedMapItems=this.getUpdatedMapItems.bind(this)}setup(t){this.connect(t.container),t.id&&(this.id=t.id)}connectedCallback(){this.mapButton=(0,p.getShadowRootElement)(this,"#map-toggle-button"),this.mapIcon=(0,p.getShadowRootElement)(this,"#map-toggle-button-icon"),this.mapIconCounter=(0,p.getShadowRootElement)(this,"#map-toggle-button-counter"),this.mapItemListContainer=(0,p.getShadowRootElement)(this,"#map-item-list-container"),this.getUpdatedMapItems(),this.mapIcon.innerHTML=c.default,this.renderMapItemsCounter(),document.addEventListener("click",this.clickOutsideMapItemsContainer),document.addEventListener("mapItemsChanged",this.updateDomElements)}updateDomElements(){this.getUpdatedMapItems(),this.renderMapItems(this.mapItems),this.renderMapItemsCounter()}getUpdatedMapItems(){this.mapItems=(0,d.getMapItems)()}disconnectedCallback(){document.removeEventListener("click",this.clickOutsideMapItemsContainer)}clickOutsideMapItemsContainer(t){const e=t.composedPath()[0];e.closest("#map-item-list-container")||e.closest("#map-toggle-button")||this.hideListContainer()}renderMapItemsCounter(){const t=(0,d.getMapItemsCount)();t?(this.mapIconCounter.innerHTML=t.toString(),this.mapIconCounter.classList.remove("hidden"),this.mapButton.setAttribute("aria-label","en"===this.language?"Show map item list":"Vis liste med elementer lagt til i kart")):(this.mapIconCounter.innerHTML="",this.mapIconCounter.classList.add("hidden"),this.mapButton.setAttribute("aria-label","en"===this.language?"Show map":"Vis kart"))}buttonClicked(t){this.mapItems&&this.mapItems.length?this.showList=!this.showList:(this.showList=!1,this.preventRedirect?this.onOpenEmptyMapItemsList.emit():window.location.href=`${(0,u.getKartkatalogUrl)(this.environment)}/kart`)}removeMapItemClicked(t){const e=t.composedPath()[0];e.closest("#menu-container");const n=e.closest("button");if(n){const e=n.dataset&&n.dataset.mapItem?JSON.parse(n.dataset.mapItem):null;e&&(t.stopPropagation(),(0,d.removeMapItem)(e),this.getUpdatedMapItems(),this.renderMapItems(this.mapItems),this.renderMapItemsCounter(),this.mapItems&&this.mapItems.length||(this.showList=!1))}}showMenuChanged(){this.showList?this.mapItemListContainer.classList.add("open"):this.mapItemListContainer.classList.remove("open"),this.showList?this.mapButton.classList.add("open"):this.mapButton.classList.remove("open")}mapItemsChanged(){this.mapItems&&this.mapItems.length&&(this.renderMapItems(this.mapItems),this.renderMapItemsCounter())}languageChanged(){this.mapItems&&this.mapItems.length&&(this.renderMapItems(this.mapItems),this.renderMapItemsCounter())}preventRedirectChanged(){this.mapItems&&this.mapItems.length&&(this.renderMapItems(this.mapItems),this.renderMapItemsCounter())}static setup(t,e){const n=(0,p.getElement)(t);e.active&&(n.showList=e.active)}};m.elementSelector="map-items",r([(0,p.Prop)()],m.prototype,"id",void 0),r([(0,p.Prop)()],m.prototype,"environment",void 0),r([(0,p.Prop)()],m.prototype,"language",void 0),r([(0,p.Toggle)()],m.prototype,"showList",void 0),r([(0,p.Toggle)()],m.prototype,"preventRedirect",void 0),r([(0,p.Dispatch)("onOpenEmptyMapItemsList")],m.prototype,"onOpenEmptyMapItemsList",void 0),r([(0,p.Listen)("click","#map-toggle-button")],m.prototype,"buttonClicked",null),r([(0,p.Listen)("click","#map-item-list-container")],m.prototype,"removeMapItemClicked",null),r([(0,p.Watch)("showlist")],m.prototype,"showMenuChanged",null),r([(0,p.Watch)("mapItems")],m.prototype,"mapItemsChanged",null),r([(0,p.Watch)("language")],m.prototype,"languageChanged",null),r([(0,p.Watch)("preventredirect")],m.prototype,"preventRedirectChanged",null),m=r([(0,p.Component)({tag:"map-items",template:Promise.resolve().then((()=>a(n(7814)))),style:Promise.resolve().then((()=>a(n(2895))))})],m),e.MapItems=m},4724:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.setLanguage=e.getLanguage=e.setCookie=e.getCookie=void 0,e.getCookie=t=>{const e=`${t}=`,n=decodeURIComponent(document.cookie).split(";");for(var o=0;o<n.length;o++){let t=n[o];for(;" "==t.charAt(0);)t=t.substring(1);if(0==t.indexOf(e))return t.substring(e.length,t.length)}return""},e.setCookie=(t,e,n)=>{let o=new Date;o.setTime(o.getTime()+24*n*60*60*1e3);const i=`expires=${o.toUTCString()}`,r="localhost"===window.location.hostname?"":"domain=-geonorge.no";document.cookie=`${t}=${e};${i};path=/;${r}`},e.getLanguage=()=>(0,e.getCookie)("_culture"),e.setLanguage=t=>{(0,e.setCookie)("_culture",t,7)}},8586:(t,e,n)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.removeMapItem=e.getMapItemsCount=e.getMapItems=void 0;const o=n(4724);e.getMapItems=()=>localStorage.mapItems&&Array.isArray(JSON.parse(localStorage.mapItems))?JSON.parse(localStorage.mapItems).filter((t=>t)):[],e.getMapItemsCount=()=>{const t=-1!==window.location.hostname.toLowerCase().indexOf("kartkatalog"),n=window.sessionStorage.isLocalKartkatalogEnvironment;if(t||n)return(0,e.getMapItems)().length;{const t=parseInt((0,o.getCookie)("mapItems"));return t&&!isNaN(t)?t:0}},e.removeMapItem=t=>{let e=localStorage.mapItems&&Array.isArray(JSON.parse(localStorage.mapItems))?JSON.parse(localStorage.mapItems):[];localStorage.mapItems=JSON.stringify(e.filter((e=>e.Uuid!==t.Uuid)))}},1406:(t,e)=>{"use strict";Object.defineProperty(e,"__esModule",{value:!0}),e.renderDropdownResultLink=e.convertTextToUrlSlug=e.getGeonorgeNedlastingUrl=e.getGeonorgeUrl=e.getKartkatalogUrl=void 0,e.getKartkatalogUrl=t=>`https://kartkatalog.${"dev"===t||"test"===t?t+".":""}geonorge.no`,e.getGeonorgeUrl=(t,e)=>`https://www.${"dev"===e||"test"===e?"test.":""}geonorge.no/${"en"===t?"en/":""}`,e.getGeonorgeNedlastingUrl=t=>`https://nedlasting.${"dev"===t||"test"===t?"test.":""}geonorge.no`;const n=(t,e,n)=>(t=(t=(t=t.replace(new RegExp(`([^s])([${e}])([^s])`,"ig"),`$1 ${n} $3`)).replace(new RegExp(`([^s])([${e}])`,"ig"),`$1 ${n}`)).replace(new RegExp(`([${e}])([^s])`,"ig"),`${n} $2`)).replace(new RegExp(`[${e}]`,"ig"),n);e.convertTextToUrlSlug=(t="")=>(t=t.toLowerCase(),t=n(t,"&","and"),(t=(t=(t=(t=(t=(t=(t=(t=(t=n(t,"+","plus")).replace("æ","ae")).replace("ä","ae")).replace("ø","oe")).replace("ö","oe")).replace("å","aa")).replace(/( - )/g,"-")).replace(/[\s]+/g,"-")).replace(/[^a-z0-9-]+/gi,"")).replace(/^[^A-Z0-9]*|[^a-z0-9]*$/gi,""));const o=(t,e)=>{if(!e)return!1;e({event:"updateSearchString",category:"metadataSearch",activity:"dropDownResultsClick",searchString:t})};e.renderDropdownResultLink=(t,n,i,r,a)=>"articles"===n?`<a onClick="${o(i,a)}" href="${t.ShowDetailsUrl?t.ShowDetailsUrl:"#"}">${t.Title}</a>`:`<a onClick="${o(i,a)}" href="${(0,e.getKartkatalogUrl)(r)}/metadata/${(0,e.convertTextToUrlSlug)(t.Title)}/${t.Uuid}">${t.Title}</a>`}},e={};function n(o){var i=e[o];if(void 0!==i)return i.exports;var r=e[o]={id:o,exports:{}};return t[o].call(r.exports,r,r.exports,n),r.exports}return n.n=t=>{var e=t&&t.__esModule?()=>t.default:()=>t;return n.d(e,{a:e}),e},n.d=(t,e)=>{for(var o in e)n.o(e,o)&&!n.o(t,o)&&Object.defineProperty(t,o,{enumerable:!0,get:e[o]})},n.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),n.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})},n(1422)})()));
|
|
2
2
|
//# sourceMappingURL=MapItem.js.map
|