@kartverket/geonorge-web-components 4.0.9 → 4.0.11
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/BodyText.js +1 -1
- package/BodyText.js.map +1 -1
- package/BreadcrumbList.js +1 -1
- package/BreadcrumbList.js.map +1 -1
- package/ContentContainer.js +1 -1
- package/ContentContainer.js.map +1 -1
- package/DownloadItem.js +1 -1
- package/DownloadItem.js.map +1 -1
- package/GeonorgeFooter.js +1 -1
- package/GeonorgeFooter.js.map +1 -1
- package/GnAccordion.js +1 -1
- package/GnAccordion.js.map +1 -1
- package/GnBadgeList.js +1 -1
- package/GnBadgeList.js.map +1 -1
- package/GnBreadcrumbList.js +1 -1
- package/GnBreadcrumbList.js.map +1 -1
- package/GnButton.js +1 -1
- package/GnButton.js.map +1 -1
- package/GnDialog.js +1 -1
- package/GnDialog.js.map +1 -1
- package/GnFieldContainer.js +1 -1
- package/GnFieldContainer.js.map +1 -1
- package/GnIcon.js +1 -1
- package/GnIcon.js.map +1 -1
- package/GnInput.js +1 -1
- package/GnInput.js.map +1 -1
- package/GnLabel.js +1 -1
- package/GnLabel.js.map +1 -1
- package/GnList.js +1 -1
- package/GnList.js.map +1 -1
- package/GnSelect.js +1 -1
- package/GnSelect.js.map +1 -1
- package/GnShortcutButton.js +1 -1
- package/GnShortcutButton.js.map +1 -1
- package/GnSrOnly.js +1 -1
- package/GnSrOnly.js.map +1 -1
- package/GnTable.js +1 -1
- package/GnTable.js.map +1 -1
- package/GnTextarea.js +1 -1
- package/GnTextarea.js.map +1 -1
- package/HeadingText.js +1 -1
- package/HeadingText.js.map +1 -1
- package/MainMenu.js +1 -1
- package/MainMenu.js.map +1 -1
- package/MainNavigation.js +1 -1
- package/MainNavigation.js.map +1 -1
- package/MainSearchField.js +1 -1
- package/MainSearchField.js.map +1 -1
- package/MapItem.js +1 -1
- package/MapItem.js.map +1 -1
- package/NavigationTabContent.js +1 -1
- package/NavigationTabContent.js.map +1 -1
- package/NavigationTabHeading.js +1 -1
- package/NavigationTabHeading.js.map +1 -1
- package/NavigationTabs.js +1 -1
- package/NavigationTabs.js.map +1 -1
- package/SearchTypeSelector.js +1 -1
- package/SearchTypeSelector.js.map +1 -1
- package/UserAccount.js +1 -1
- package/UserAccount.js.map +1 -1
- package/index.css +1 -1
- package/index.css.map +1 -1
- package/index.js +1 -1
- package/index.js.map +1 -1
- package/package.json +6 -1
package/GnShortcutButton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GnShortcutButton.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,CAAC,EAAGA,EAAe,SAAoB,iBAAIC,IACnF,CATD,CASGK,MAAM,I,yzCCRT,gBAWA,UAGA,aAGA,aASO,IAAMC,EAAN,cAAuB,EAAAC,cAM1B,WAAAC,GACIC,QAyBJ,KAAAC,mBAAsBC,IAClB,MAAMC,GAAuB,IAAAC,sBAAqBC,KAAM,mBAGlDC,EAFQD,KAAKE,WAAWC,cAAc,QACTC,mBACeC,MAAMC,KAC3CA,EAAoBC,SAASV,EAAMW,UAE1CC,EAA8BX,EAAqBS,SAASV,EAAMW,SACpEV,GAA0BG,GAAwBQ,GAClDT,KAAKU,YACT,EAGJ,KAAAA,WAAa,KACTV,KAAKW,aAAa,OAAQ,QAAQ,EAWtC,KAAAC,gBAAmBf,IACf,GACS,KADDA,EAAMgB,QAKN,OAAO,KAHPb,KAAKU,YAIb,GAxDA,IAAAI,qBAAoB,mBAAoB,UAC5C,CAEA,iBAAAC,GACI,MAAMC,GAA2B,IAAAjB,sBAAqBC,KAAM,wBAC5DgB,EAAyBC,UAAY,UACrCD,EAAyBE,iBAAiB,QAASlB,KAAKU,aAEzB,IAAAX,sBAAqBC,KAAM,qBACnCkB,iBAAiB,QAASlB,KAAKJ,oBAEtDuB,SAASD,iBAAiB,UAAWlB,KAAKY,iBAAiB,EAC/D,CAEA,oBAAAQ,IACqC,IAAArB,sBAAqBC,KAAM,wBACnCqB,oBAAoB,QAASrB,KAAKU,aAE5B,IAAAX,sBAAqBC,KAAM,qBACnCqB,oBAAoB,QAASrB,KAAKJ,oBAEzDuB,SAASE,oBAAoB,UAAWrB,KAAKY,iBAAiB,EAClE,CAmBA,gBAAAU,CAAiBC,GACb,MAA4B,MAArBA,aAAI,EAAJA,EAAMC,aAA0C,UAArBD,aAAI,EAAJA,EAAMC,WAC5C,CAEA,mBAAAC,CAAoBC,GAChB,MAAiC,MAA1BA,aAAS,EAATA,EAAWF,aAA+C,UAA1BE,aAAS,EAATA,EAAWF,WACtD,CAaA,eAAAG,GACI,MAAML,EAAmBtB,KAAKsB,iBAAiBtB,KAAKuB,MAC9CK,GAAyB,IAAA7B,sBAAqBC,KAAM,qBAC1DsB,EACMM,SAAAA,EAAwBC,UAAUC,IAAI,WACtCF,SAAAA,EAAwBC,UAAUE,OAAO,UACnD,CAGA,gBAAAC,GACI,MAAMP,EAAsBzB,KAAKyB,oBAAoBzB,KAAKiC,WACpDnC,GAAuB,IAAAC,sBAAqBC,KAAM,mBACxDyB,EACM3B,EAAqB+B,UAAUC,IAAI,aACnChC,EAAqB+B,UAAUE,OAAO,YAChD,CAGA,eAAAG,G,MACI,MAAMC,GAAwB,QAAb,EAAAnC,KAAKmC,gBAAQ,eAAEC,QAASpC,KAAKmC,SAAW,WAC5B,IAAApC,sBAAqBC,KAAM,mBACnCqC,MAAMF,SAAWA,CAC1C,CAGA,YAAAG,IACiC,IAAAvC,sBAAqBC,KAAM,mBACnCqC,MAAME,SAAWvC,KAAKwC,KAC/C,CAEA,KAAAC,CAAMC,GAAkC,GAlG/B,EAAAlD,SAAAA,EACC,IAAT,IAAAmD,W,2BACS,IAAT,IAAAA,W,gCACO,IAAP,IAAAC,S,4BACO,IAAP,IAAAA,S,+BAgED,IADC,IAAAC,OAAM,S,oCAUP,IADC,IAAAA,OAAM,c,qCAUP,IADC,IAAAA,OAAM,a,oCAQP,IADC,IAAAA,OAAM,U,4CA5FErD,EAAQ,IALpB,IAAAsD,WAAU,CACPC,IAAK,YACLC,SAAU,QAAF,wBAAS,SACjBX,MAAO,QAAF,wBAAS,YAEL7C,E,uBCrBbJ,EAAOD,QAAU,SAAU8D,GACzB,IAAIC,EAAO,GA4EX,OAzEAA,EAAK1B,SAAW,WACd,OAAOxB,KAAKmD,KAAI,SAAUC,GACxB,IAAIC,EAAU,GACVC,OAA+B,IAAZF,EAAK,GAoB5B,OAnBIA,EAAK,KACPC,GAAW,cAAcE,OAAOH,EAAK,GAAI,QAEvCA,EAAK,KACPC,GAAW,UAAUE,OAAOH,EAAK,GAAI,OAEnCE,IACFD,GAAW,SAASE,OAAOH,EAAK,GAAGhB,OAAS,EAAI,IAAImB,OAAOH,EAAK,IAAM,GAAI,OAE5EC,GAAWJ,EAAuBG,GAC9BE,IACFD,GAAW,KAETD,EAAK,KACPC,GAAW,KAETD,EAAK,KACPC,GAAW,KAENA,CACT,IAAGG,KAAK,GACV,EAGAN,EAAKO,EAAI,SAAWC,EAASC,EAAOC,EAAQC,EAAUC,GAC7B,iBAAZJ,IACTA,EAAU,CAAC,CAAC,KAAMA,OAASK,KAE7B,IAAIC,EAAyB,CAAC,EAC9B,GAAIJ,EACF,IAAK,IAAIK,EAAI,EAAGA,EAAIjE,KAAKoC,OAAQ6B,IAAK,CACpC,IAAIC,EAAKlE,KAAKiE,GAAG,GACP,MAANC,IACFF,EAAuBE,IAAM,EAEjC,CAEF,IAAK,IAAIC,EAAK,EAAGA,EAAKT,EAAQtB,OAAQ+B,IAAM,CAC1C,IAAIf,EAAO,GAAGG,OAAOG,EAAQS,IACzBP,GAAUI,EAAuBZ,EAAK,WAGrB,IAAVU,SACc,IAAZV,EAAK,KAGdA,EAAK,GAAK,SAASG,OAAOH,EAAK,GAAGhB,OAAS,EAAI,IAAImB,OAAOH,EAAK,IAAM,GAAI,MAAMG,OAAOH,EAAK,GAAI,MAF/FA,EAAK,GAAKU,GAMVH,IACGP,EAAK,IAGRA,EAAK,GAAK,UAAUG,OAAOH,EAAK,GAAI,MAAMG,OAAOH,EAAK,GAAI,KAC1DA,EAAK,GAAKO,GAHVP,EAAK,GAAKO,GAMVE,IACGT,EAAK,IAGRA,EAAK,GAAK,cAAcG,OAAOH,EAAK,GAAI,OAAOG,OAAOH,EAAK,GAAI,KAC/DA,EAAK,GAAKS,GAHVT,EAAK,GAAK,GAAGG,OAAOM,IAMxBX,EAAKkB,KAAKhB,GACZ,CACF,EACOF,CACT,C,6HCpFA,gBA2DS,EAAAmB,OAzCM,CAACC,EAAmBC,IAC1B,CAAC/D,EAAagE,KACdhE,EAAOd,YAAY+E,YACtBjE,EAAOd,YAAY+E,UAAY,IAEjCjE,EAAOd,YAAY+E,UAAUL,KAAK,CAAEG,SAAUA,EAAUD,UAAWA,EAAWI,QAASlE,EAAOgE,IAAc,EAoC/F,EAAAG,kBAhCUnE,IACzB,GAAIA,EAAOd,YAAY+E,UAAW,CAChC,MAAMG,EAAkBpE,EAAON,YAAcM,EAC7C,IAAK,MAAMqE,KAAYrE,EAAOd,YAAY+E,UAAsC,CAC9E,MAAMK,EAAeD,EAAiB,SAClCD,EAAWzE,cAAc0E,EAASN,UAChCK,EAAWzE,cAAc0E,EAASN,UAAY,KAChD/D,EACAsE,GACFA,EAAY5D,iBAAiB2D,EAASP,WAAYS,IAChDF,EAASH,QAAQM,KAAKxE,EAAQuE,EAAE,G,IAsBW,EAAAE,SAfnCX,GACT,CAAC9D,EAAqB0E,KAU3BC,OAAOC,eAAe5E,EAAQ0E,EAAc,CAAEG,IAT9C,WACE,MAAM9F,EAAoBS,KAC1B,MAAO,CACL,IAAAsF,CAAK5C,GACH,MAAM6C,EAAU,GAA0B,EAAAC,UAAUN,GACpD3F,EAAKkG,cAAc,IAAIC,YAAYH,EAAS7C,GAC9C,EAEJ,GACoD,C,mnDCtDxD,gBAWA,UACA,QACA,UACA,UACA,UACA,UAGA,UACA,UAGA,aAGA,aAWO,IAAMiD,EAAN,cAA+B,EAAAlG,cAgBlC,WAAAC,GACIC,SACA,IAAAmB,qBAAoB,4BAA6B,UACrD,CAEA,KAAA2B,CAAMC,GACF1C,KAAK4F,QAAQlD,EAAQmD,WACjBnD,EAAQwB,KACRlE,KAAKkE,GAAKxB,EAAQwB,GAE1B,CAEA,iBAAAnD,GACIf,KAAK8F,0BAA2B,IAAA/F,sBAAqBC,KAAM,wBAC3DA,KAAK+F,6BAA8B,IAAAhG,sBAAqBC,KAAM,2BAC9DA,KAAKgG,2BAA4B,IAAAjG,sBAAqBC,KAAM,yBAC5DA,KAAKiG,6BAA8B,IAAAlG,sBAAqBC,KAAM,2BAC9DA,KAAKkG,gCAAiC,IAAAnG,sBAAqBC,KAAM,+BACjEA,KAAKmG,mCAAoC,IAAApG,sBAAqBC,KAAM,kCAEnD,IAAI,EAAAoG,SACJ,IAAI,EAAA5G,SACI,IAAI,EAAA6G,iBACb,IAAI,EAAAC,QACH,IAAI,EAAAC,SACD,IAAI,EAAAC,YAExBxG,KAAKyG,uBACT,CAEA,oBAAArF,GAAwB,CAElB,eAAAsF,CAAgBC,EAAqBC,G,yCACvC,IAEI,aAD2B,IAAAC,mBAAkBF,EAAaC,EAAOE,OAAOC,SAASC,KAErF,CAAE,MAAOC,GACLC,QAAQD,MAAM,iCAAkCA,EACpD,CACJ,G,CAEA,YAAAE,CAAaP,GACT,MAAMQ,EAAe,CACjBC,KAAMrH,KAAKsH,cAAgBnG,SAASoG,MACpCC,IAAKV,OAAOC,SAASC,OAEzB,IAAAS,kBAAiBzH,KAAK2G,YAAaC,EAAOQ,GACrCM,MAAK,KACF1H,KAAK2H,uBAAsB,EAAK,IAEnCC,OAAOX,IACJC,QAAQD,MAAM,yBAA0BA,EAAM,GAE1D,CAEA,cAAAY,CAAejB,IACX,IAAAkB,oBAAmB9H,KAAK2G,YAAaC,EAAO,CAAEY,IAAKV,OAAOC,SAASC,OAC9DU,MAAK,KACF1H,KAAK2H,uBAAsB,EAAM,IAEpCC,OAAOX,IACJC,QAAQD,MAAM,2BAA4BA,EAAM,GAE5D,CAEA,UAAAc,CAAWC,GACPhI,KAAKiI,yBAAyBC,MAAQ/G,SAASoG,MAC3CS,GACAhI,KAAK+F,4BAA4BpF,aAAa,OAAQ,QACtDX,KAAK+F,4BAA4BpF,aAAa,cAAe,SAC7DX,KAAK8F,yBAAyBqC,gBAAgB,UAE9CnI,KAAK8F,yBAAyBnF,aAAa,OAAQ,QACnDX,KAAK8F,yBAAyBnF,aAAa,cAAe,SAC1DX,KAAK+F,4BAA4BoC,gBAAgB,QAEzD,CAEA,WAAAC,GACIpI,KAAK8F,yBAAyBqC,gBAAgB,QAC9CnI,KAAK8F,yBAAyBnF,aAAa,cAAe,QAC1DX,KAAK+F,4BAA4BoC,gBAAgB,QACjDnI,KAAK+F,4BAA4BpF,aAAa,cAAe,OACjE,CAEA,oBAAA0H,CAAqBL,GACjB,MAAMM,EAAiBnH,SAASoH,cAAc,UA2D9C,OA1DAD,EAAe3H,aAAa,KAAM,sBAClC2H,EAAe3H,aAAa,OAAQ,UACpC2H,EAAe3H,aAAa,eAAgB,SAC5C2H,EAAezG,UAAUC,IAAI,sBAEzBkG,GACAM,EAAerH,UAAY,UAC3BqH,EAAe3H,aACX,aACkB,OAAlBX,KAAKwI,SAAoB,gEAAkE,+EAE/FF,EAAe3H,aAAa,QAA2B,OAAlBX,KAAKwI,SAAoB,kBAAoB,iBAClFF,EAAezG,UAAUC,IAAI,YAE7BwG,EAAerH,UAAY,UAC3BqH,EAAe3H,aACX,aACkB,OAAlBX,KAAKwI,SAAoB,4BAA8B,iCAE3DF,EAAe3H,aAAa,QAA2B,OAAlBX,KAAKwI,SAAoB,eAAiB,iBAC/EF,EAAezG,UAAUE,OAAO,WAIpC/B,KAAKgG,0BAA0ByC,QAAU,KACrC,MAAM7B,EAAQ5G,KAAK0I,eACd9B,IACL5G,KAAKmH,aAAaP,GAClB5G,KAAKoI,cAAa,EAGtBpI,KAAKiG,4BAA4BwC,QAAU,KACvC,MAAM7B,EAAQ5G,KAAK0I,eACd9B,IACL5G,KAAK6H,eAAejB,GACpB5G,KAAKoI,cAAa,EAGtBpI,KAAKkG,+BAA+BuC,QAAU,IAAMzI,KAAKoI,cACzDpI,KAAKmG,kCAAkCsC,QAAU,IAAMzI,KAAKoI,cAE5DE,EAAeG,QAAU,IAAMzI,KAAK+H,WAAWC,GAE/CM,EAAepH,iBAAiB,WAAYrB,IACtB,UAAdA,EAAM8I,KAAiC,MAAd9I,EAAM8I,MAC/B9I,EAAM+I,iBACNN,EAAeO,QACnB,IAGJP,EAAepH,iBAAiB,SAAS,KACrCoH,EAAe3H,aAAa,eAAgB,OAAO,IAGvD2H,EAAepH,iBAAiB,QAAQ,KACpCoH,EAAe3H,aAAa,eAAgB,QAAQ,IAGjD2H,CACX,CAEA,qBAAAX,CAAsBK,GAClB,MAAMc,EAAY9I,KAAKqI,qBAAqBL,GAC5C,GAAIhI,KAAKsI,eACLtI,KAAKsI,eAAeS,YAAYD,OAC7B,CACH,MAAME,GAAe,IAAAC,sBACjBD,GACAA,EAAaE,MAAMJ,EAE3B,CACA9I,KAAKsI,eAAiBQ,CAC1B,CAEA,qCAAAK,CAAsCnB,GAClC,MAAMoB,EAAmBjI,SAASoH,cAAc,OAChDa,EAAiB/G,MAAMgH,QAAU,OACjCD,EAAiB/G,MAAMiH,WAAa,SACpCF,EAAiB/G,MAAMkH,eAAiB,aACxC,MAAMP,GAAe,IAAAC,sBACjBD,GACAA,EAAa3G,MAAMgH,QAAU,eAC7BL,EAAaQ,WAAWC,aAAaL,EAAkBJ,GACvDI,EAAiBM,YAAYV,GAC7BhJ,KAAK2H,sBAAsBK,IAE3Bd,QAAQD,MAAM,8CAEtB,CAEA,qBAAAR,GACIzG,KAAKiI,0BAA2B,IAAAlI,sBAAqBC,KAAM,wBAC3DA,KAAKiI,yBAAyB/G,iBAAiB,SAAS,K,QACpDlB,KAAKsH,aAAetH,KAAKiI,yBAAyBC,MAC9ClI,KAAKsH,aAAaqC,OAC8B,QAAhD,EAAA3J,KAAKgG,0BAA0B4D,yBAAiB,SAAEzB,gBAAgB,YAElB,QAAhD,EAAAnI,KAAKgG,0BAA0B4D,yBAAiB,SAAEjJ,aAAa,WAAY,OAC/E,IAGJX,KAAKiI,yBAAyB/G,iBAAiB,WAAYrB,IACrC,UAAdA,EAAM8I,MACN9I,EAAM+I,iBACF5I,KAAKsH,aAAaqC,QAClB3J,KAAKgG,0BAA0B6C,QAEvC,GAER,CAGM,YAAAgB,G,yCACF,MAAMjD,EAAQ5G,gBAAI,EAAJA,KAAM4G,MACpB,IAAKA,EAED,YADAM,QAAQD,MAAM,kBAIlBjH,KAAKwI,SAAWxI,KAAKwI,UAAY,KAEjC,MACMR,WADqBhI,KAAK0G,gBAAgB1G,KAAK2G,YAAaC,IAGlE5G,KAAKqC,MAAMgH,QAAU,QACrBrJ,KAAKmJ,sCAAsCnB,EAC/C,G,CAEO,YAAOvF,CAAM8B,EAAkB7B,GAClCoH,YAAW,KACP,MAAMC,GAAU,IAAAC,YAA6BzF,GACxCwF,EAIArH,GAAYA,EAAQgG,cAIzBqB,EAAQrB,aAAehG,EAAQgG,aAC/BqB,EAAQnD,MAAQlE,EAAQgG,gBAJpBxB,QAAQD,MAAM,iDAJdC,QAAQD,MAAM,0BAA0B1C,gBAQN,GAE9C,GArPS,EAAAoB,iBAAAA,EASD,IAAP,IAAA/C,S,yBACO,IAAP,IAAAA,S,+BACO,IAAP,IAAAA,S,kCACO,IAAP,IAAAA,S,4BA2MK,IADL,IAAAC,OAAM,U,oDAtNE8C,EAAgB,IAL5B,IAAA7C,WAAU,CACPC,IAAK,qBACLC,SAAU,QAAF,wBAAS,SACjBX,MAAO,QAAF,wBAAS,YAELsD,E,4FCnCTsE,E,MAA0B,GAA4B,KAE1DA,EAAwB7F,KAAK,CAAChF,EAAO8E,GAAI,gvGAAivG,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,6CAA6C,+CAA+C,4CAA4C,MAAQ,GAAG,SAAW,+3BAA+3B,eAAiB,CAAC,4zIAAg6I,6GAAiH,k1BAAk1B,WAAa,MAEptT,S,8FCPA,gBAEa,EAAArB,MAASqH,GACb,CAAC1J,EAAa0E,KACd1E,EAAOd,YAAYyK,kBACtB3J,EAAOd,YAAYyK,gBAAkB,CAAC,GAExC3J,EAAOd,YAAYyK,gBAAgB,EAAAC,YAAYF,IAAahF,EACvD1E,EAAOd,YAAY2K,YACtB7J,EAAOd,YAAY2K,UAAY,CAAC,GAElC7J,EAAOd,YAAY2K,UAAUH,GAAY,IAAI,C,+tCCVjD,gBAiBO,IAAM5D,EAAN,cAAsB,EAAA7G,cAKzB,WAAAC,GACIC,OACJ,CAGA,YAAA2C,IACkC,IAAAvC,sBAAqBC,KAAM,oBACnCqC,MAAMG,MAAQxC,KAAKwC,KAC7C,CAEA,KAAAC,CAAMC,GAAiC,GAf9B,EAAA4D,QAAAA,EACC,IAAT,IAAA3D,W,4BACS,IAAT,IAAAA,W,gCACO,IAAP,IAAAC,S,4BAOD,IADC,IAAAC,OAAM,U,2CATEyD,EAAO,IALnB,IAAAxD,WAAU,CACPC,IAAK,WACLC,SAAU,QAAF,wBAAS,SACjBX,MAAO,QAAF,wBAAS,YAELiE,E,guCCjBb,gBASO,IAAMC,EAAN,cAAuB,EAAA9G,cAC1B,WAAAC,GACIC,OACJ,CAEA,KAAA8C,CAAMC,GAAkC,GAL/B,EAAA6D,SAAAA,E,WAAAA,EAAQ,IALpB,IAAAzD,WAAU,CACPC,IAAK,YACLC,SAAU,QAAF,wBAAS,SACjBX,MAAO,QAAF,wBAAS,YAELkE,E,4DCVb,sD,0ICAa,EAAA6D,YAAeE,GACnBA,EACJC,QAAQ,kBAAmB,SAC3BA,QAAQ,UAAW,KACnBC,cAGQ,EAAAC,YAAeH,GACnBA,EACJE,cACAD,QAAQ,WAAYG,GAAMA,EAAE,GAAGC,gBAGvB,EAAAnF,UAAa8E,GACjBA,EAAIC,QAAQ,gBAAiB,OACjCA,QAAQ,sBAAuB,KAC/BC,cAGQ,EAAAI,YAAe1C,GAClB2C,SAAS3C,IAAUA,GAA+B4C,MAAtBC,WAAW7C,GAAkB2C,SAAS3C,GAASA,C,4FCjBjF+B,E,MAA0B,GAA4B,KAE1DA,EAAwB7F,KAAK,CAAChF,EAAO8E,GAAI,uHAAwH,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,+CAA+C,gDAAgD,MAAQ,GAAG,SAAW,8DAA8D,eAAiB,CAAC,4RAAgS,8GAAkH,WAAa,MAEhyB,S,4DCPA,sD,guCCAA,gBASO,IAAMkC,EAAN,cAAuB,EAAA3G,cAK1B,WAAAC,GACIC,QAkDI,KAAAqL,iBAAoBjG,IACvBA,EAAEkG,cAA8BpJ,UAAUC,IAAI,aAAa,EAGxD,KAAAoJ,iBAAoBnG,IACvBA,EAAEkG,cAA8BpJ,UAAUE,OAAO,aAAa,CAtDnE,CAEA,KAAAU,CAAMC,GACF1C,KAAK4F,QAAQlD,aAAO,EAAPA,EAASmD,YAClBnD,aAAO,EAAPA,EAASwB,MACTlE,KAAKkE,GAAKxB,EAAQwB,IAItBiH,uBAAsB,IAAMnL,KAAKoL,mBACrC,CAGA,aAAAC,GACIrL,KAAKoL,iBACT,CAEQ,eAAAA,G,MACJ,IAAKpL,KAAKsL,SACNtL,KAAKsL,OAAwB,QAAf,EAAAtL,KAAKE,kBAAU,eAAEC,cAAc,SACxCH,KAAKsL,QAAQ,OAGtB,MAAMC,EAAmB,SACAvL,KAAKsL,OAAOlL,iBAAiB,CAAEoL,SAAS,IAEhDC,SAASC,IAEtBA,EAAGrK,oBAAoB,aAAcrB,KAAKgL,kBAC1CU,EAAGrK,oBAAoB,aAAcrB,KAAKkL,kBAG1CQ,EAAG7J,UAAU4J,SAASE,IACdA,EAAIC,WAAWL,IACfG,EAAG7J,UAAUE,OAAO4J,EACxB,IAIA3L,KAAK6L,OACLH,EAAG7J,UAAUC,IAAI,GAAGyJ,IAAmBvL,KAAK6L,SAIhDH,EAAGxK,iBAAiB,aAAclB,KAAKgL,kBACvCU,EAAGxK,iBAAiB,aAAclB,KAAKkL,iBAAiB,GAEhE,GAtDS,EAAA9E,SAAAA,EACD,IAAP,IAAAxD,S,4BAmBD,IADC,IAAAC,OAAM,U,6CAnBEuD,EAAQ,IALpB,IAAAtD,WAAU,CACPC,IAAK,YACLC,SAAU,QAAF,wBAAS,SACjBX,MAAO,QAAF,wBAAS,YAEL+D,E,8ZCTb,aACA,aACA,aACA,YACA,aACA,aACA,aACA,Y,wHCPa,EAAA4D,WAAqCzF,GACzCpD,SAAShB,cAAcoE,GAGnB,EAAAxE,qBAAuB,CAAwB+L,EAA4BvH,IAC/EuH,EAAc5L,WAAWC,cAAcoE,E,WCLhDnF,EAAOD,QAAU,gN,4FCGb8K,E,MAA0B,GAA4B,KAE1DA,EAAwB7F,KAAK,CAAChF,EAAO8E,GAAI,g3DAAi3D,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,8CAA8C,6CAA6C,sCAAsC,4CAA4C,+CAA+C,4CAA4C,MAAQ,GAAG,SAAW,6sBAA6sB,eAAiB,CAAC,o4EAAs5E,ukBAAykB,mLAA8K,4IAAuI,28BAA28B,k1BAAk1B,WAAa,MAEh/P,S,4FCJI+F,E,MAA0B,GAA4B,KAE1DA,EAAwB7F,KAAK,CAAChF,EAAO8E,GAAI,yeAA0e,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,iEAAiE,2CAA2C,6CAA6C,MAAQ,GAAG,SAAW,kPAAkP,eAAiB,CAAC,w0BAA40B,i1BAAi1B,ygCAAogC,WAAa,MAE/oH,S,4FCJI+F,E,MAA0B,GAA4B,KAE1DA,EAAwB7F,KAAK,CAAChF,EAAO8E,GAAI,kFAAmF,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wDAAwD,MAAQ,GAAG,SAAW,qDAAqD,eAAiB,CAAC,4HAA4H,WAAa,MAErb,S,oGCLA,MAAsBzE,UAAsBsM,YAC1C,WAAArM,GACEC,OACF,CAIU,OAAAiG,CAAQrB,GACXvE,KAAKgM,aACR7K,SAAShB,cAAcoE,GAAUmF,YAAY1J,KAEjD,EAXF,iB,4DCFA,sD,+FCAA,gBAEa,EAAA2C,OAAS,IACb,CAACnC,EAAayL,KAkDdzL,EAAOd,YAAY2K,YACtB7J,EAAOd,YAAY2K,UAAY,CAAC,GAElC7J,EAAOd,YAAY2K,UAAU4B,GAAY,KACzC9G,OAAOC,eAAe5E,EAAQyL,EAAU,CAAE5G,IArD1C,WAYE,MAXqB,CAAC4G,IACpB,GAAIjM,KAAKkM,aAAaD,GAAW,CAC/B,MAAME,EAAYnM,KAAKoM,aAAaH,GACpC,QAAI,oBAAoBI,KAAKF,KACP,QAAbA,GAAoC,IAAbA,E,CAKlC,OAAO,CAAK,EAEPC,CAAaH,EACtB,EAwC+CK,IAvC/C,SAAapE,GACX,MAAMqE,EAAWrE,EACjB,GAAanE,MAATmE,EACF,cAAeA,GACb,IAAK,UACH,MACF,IAAK,SACC,oBAAoBmE,KAAKnE,GAC3BA,EAAoB,QAAZqE,GAAkC,IAAZA,GAE9BrF,QAAQsF,KAAK,kDAAkDP,UAAiB/D,MAChFA,GAAQ,GAEV,MACF,QACE,KAAM,kDAAmD+D,UAAiB/D,KAG5ElI,KAAKyM,aACPzM,KAAK0M,MAAMT,GAAY/D,IAAS,EACf,KAAbqE,GAAgC,OAAbA,EACrBvM,KAAKW,aAAasL,EAAU/D,GAExBA,EACFlI,KAAKW,aAAasL,EAAU,IAE5BjM,KAAKmI,gBAAgB8D,IAIpBjM,KAAKkM,aAAa,EAAA9B,YAAY6B,MACjCjM,KAAKN,YAAY2K,UAAU4B,GAAY/D,EAG7C,GAKqD,C,wBCvDzD9I,EAAOD,QAAU,SAAUiE,GACzB,IAAIC,EAAUD,EAAK,GACfuJ,EAAavJ,EAAK,GACtB,IAAKuJ,EACH,OAAOtJ,EAET,GAAoB,mBAATuJ,KAAqB,CAC9B,IAAIC,EAASD,KAAKE,SAASC,mBAAmBC,KAAKC,UAAUN,MACzDO,EAAO,+DAA+D3J,OAAOsJ,GAC7EM,EAAgB,OAAO5J,OAAO2J,EAAM,OACxC,MAAO,CAAC7J,GAASE,OAAO,CAAC4J,IAAgB3J,KAAK,KAChD,CACA,MAAO,CAACH,GAASG,KAAK,KACxB,C,4FCZIyG,E,MAA0B,GAA4B,KAE1DA,EAAwB7F,KAAK,CAAChF,EAAO8E,GAAI,s4CAAu4C,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,8CAA8C,4CAA4C,+CAA+C,+CAA+C,4CAA4C,MAAQ,GAAG,SAAW,0mBAA0mB,eAAiB,CAAC,6nEAAqoE,wgCAAmgC,28BAA28B,6GAAiH,k1BAAk1B,WAAa,MAEp2O,S,4FCJI+F,E,MAA0B,GAA4B,KAE1DA,EAAwB7F,KAAK,CAAChF,EAAO8E,GAAI,gWAAiW,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,gDAAgD,MAAQ,GAAG,SAAW,kDAAkD,eAAiB,CAAC,4NAA4N,WAAa,MAExxB,S,4FCJI+F,E,MAA0B,GAA4B,KAE1DA,EAAwB7F,KAAK,CAAChF,EAAO8E,GAAI,wIAAyI,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wDAAwD,MAAQ,GAAG,SAAW,mEAAmE,eAAiB,CAAC,mMAAmM,WAAa,MAEhkB,S,4FCJI+F,E,MAA0B,GAA4B,KAE1DA,EAAwB7F,KAAK,CAAChF,EAAO8E,GAAI,2iGAA4iG,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,iDAAiD,8CAA8C,MAAQ,GAAG,SAAW,iyBAAiyB,eAAiB,CAAC,8pHAA0rH,wkBAA0kB,WAAa,MAEzyQ,S,qLCPa,EAAAkJ,kCAAqCrD,GACvCA,EAAQsD,iBAAiB,yCAGvB,EAAApE,mBAAqB,KAC9B,IAAIqE,EAAkBnM,SAAShB,cAAc,gBAI7C,OAHKmN,IACDA,EAAkBnM,SAAShB,cAAc,6CAEtCmN,CAAe,EAGb,EAAAxM,oBAAsB,CAACyM,EAAwBC,KACxD,MAAMnL,EAAQlB,SAASoH,cAAc,SACrClG,EAAM1B,aAAa,KAAM4M,GACzBlL,EAAMoL,YAAcD,EACfrM,SAASuM,eAAeH,IACzBpM,SAASwM,KAAKjE,YAAYrH,EAC9B,EAGS,EAAAuL,gBAAmB7D,IAC5B,KAAOA,EAAQ8D,YACP9D,EAAQxJ,SAASwJ,EAAQ8D,aACzB9D,EAAQ+D,YAAY/D,EAAQ8D,WAKpC,C,4DC7BJ,8H,4DCAA,kS,+GCAA,gBAEa,EAAAjL,KAAO,IACX,CAACpC,EAAayL,KACnB,MAAM/B,EAAW,EAAAE,YAAY6B,GAsBxBzL,EAAOd,YAAY2K,YACtB7J,EAAOd,YAAY2K,UAAY,CAAC,GAElC7J,EAAOd,YAAY2K,UAAU4B,GAAY,KACzC9G,OAAOC,eAAe5E,EAAQyL,EAAU,CAAE5G,IAzB1C,WACE,OAAIrF,KAAK0M,MAAMT,GACNjM,KAAK0M,MAAMT,GAEbjM,KAAKoM,aAAalC,EAC3B,EAoB+CoC,IAnB/C,SAAapE,GACX,GAAIlI,KAAKyM,YAAa,CACpB,MAAMF,EAAWvM,KAAK0M,MAAMT,GAC5BjM,KAAK0M,MAAMT,GAAY,EAAArB,YAAY1C,GACf,iBAATA,EACTlI,KAAKW,aAAauJ,EAAUhC,GAE5BlI,KAAK+N,kBAAkB7D,EAAUqC,EAAUrE,GAAO,E,MAG/ClI,KAAKkM,aAAa,EAAA9B,YAAY6B,MACjCjM,KAAKN,YAAY2K,UAAU4B,GAAY/D,EAG7C,GAKqD,EAY5C,EAAA8F,gBAAmBxN,IAC9B,MAAM2J,EAAkB3J,EAAOd,YAAYyK,gBAC3C,IAAK,IAAI8D,IAVM,CAACzN,IAChB,MAAM2J,EAAkB3J,EAAOd,YAAYyK,gBACrC+D,EAAkB,OAAH,UAAQ/D,GAC7BhF,OAAOgJ,KAAKD,GAAiBzC,SAAQ2C,GAAKF,EAAgBE,GAAK,KAC/D,MAAMC,EAAa,OAAH,wBAAQH,GAAoB1N,EAAOd,YAAY2K,WAC/D,OAAOlF,OAAOgJ,KAAKE,EAAW,EAKbC,CAAS9N,GAAS,CACjC,GAAI2J,EACF,GAA0C,MAAtCA,EAAgB,EAAAC,YAAY6D,IAC9B9D,EAAgB,EAAAC,YAAY6D,IAAS,OAChC,CACL,MAAMM,EAAc/N,EAAOkM,MAAMuB,IAASzN,EAAO4L,aAAa,EAAAhC,YAAY6D,IAC9B,mBAAjCzN,EAAO2J,EAAgB8D,KAChCzN,EAAO2J,EAAgB8D,IAAO,CAAEO,IAAKD,G,CAIvC/N,EAAOd,YAAY2K,UAAU4D,KAC1BzN,EAAO0L,aAAa,EAAA9B,YAAY6D,MACnCzN,EAAOyN,GAAQzN,EAAOd,YAAY2K,UAAU4D,I,8DCzDpD,sD,4DCAA,+tD,muCCCA,gBASO,IAAMzH,EAAN,cAA0B,EAAA/G,cAK7B,WAAAC,GACIC,OACJ,CAEA,iBAAAoB,G,MACI,MAAM0N,EAAsB,QAAf,EAAAzO,KAAKE,kBAAU,eAAEC,cAAc,QAEtCuO,EAA+C,OAA9B1O,KAAK2O,QAAQ,aAEpC,GAAIF,EAAM,CACN,MAAMG,EAAiB,KACMH,EAAKrO,iBAAiB,CAAEoL,SAAS,IACzCC,SAASC,IAClB,YAAYW,KAAKX,EAAGmD,UACpBnD,EAAG7J,UAAUC,IAAI,UACrB,GACF,EAEAgN,EAAgB,KACOL,EAAKrO,iBAAiB,CAAEoL,SAAS,IACzCC,SAASC,IAClB,YAAYW,KAAKX,EAAGmD,UACpBnD,EAAG7J,UAAUC,IAAI,YACrB,GACF,EAIN8M,IACIF,GACAI,IAIJL,EAAKvN,iBAAiB,cAAc,KAChC0N,IACIF,GACAI,GACJ,GAER,CACJ,CAEA,KAAArM,CAAMC,GAAqC,GAhDlC,EAAA8D,YAAAA,EACD,IAAP,IAAA5D,S,2BACO,IAAP,IAAAA,S,0BACS,IAAT,IAAAD,W,8CAHQ6D,EAAW,IALvB,IAAA1D,WAAU,CACPC,IAAK,eACLC,SAAU,QAAF,wBAAS,SACjBX,MAAO,QAAF,wBAAS,YAELmE,E,waCVb,eACA,UAEA,UAEa,EAAA1D,UAAaiM,GAChBvO,I,MACN,MAAMuC,EAAcgM,EAAKhM,KAAO,EAAAqH,YAAY5J,EAAOwO,UAAUtP,YAAY2H,MACnEyE,IAAa,EAAQ,cAAetL,EAaxC,WAAAd,GACEC,QARK,KAAA+M,MAAkB,CAAC,EAUxB1M,KAAKiP,eAAgC,MAAfF,EAAKG,QAAwBH,EAAKG,QAEnDlP,KAAKE,YAAcF,KAAKiP,gBAC3BjP,KAAKmP,aAAa,CAAEC,KAAM,QAE9B,CAZO,6BAAWC,GAChB,OAAOlK,OAAOgJ,KAAKnO,KAAKqK,WAAa,CAAC,GAAGlH,KAAImM,GAAK,EAAAlF,YAAYkF,IAChE,CAYO,wBAAAC,CAAyBlI,EAAckF,EAAkBiD,GAC9DxP,KAAK+N,kBAAkB1G,EAAMkF,EAAUiD,EACzC,CAEO,iBAAAzB,CAAkB1G,EAAckF,EAAkBiD,EAAkBlD,GAAe,GACxF,GAAIC,GAAYiD,EAAU,CACpBlD,IAAOtM,KAAK,EAAAyK,YAAYpD,IAASmI,GACrC,MAAMrF,EAA6BnK,KAAKN,YAAoByK,gBAC5D,GAAIA,GAAmBA,EAAgB9C,GAAO,CAC5C,MAAMoI,EAAuBtF,EAAgB9C,GACzCrH,KAAKyM,aAC0B,mBAAtBzM,KAAKyP,IACdzP,KAAKyP,GAAc,CAAEC,IAAKnD,EAAUiC,IAAKgB,G,EAKnD,CAEa,iBAAAzO,G,iIACLf,KAAK2P,SACX,EAAM5O,mBAAqB,EAAMA,kBAAiB,WAClDf,KAAKyM,aAAc,EAEnB,EAAA9H,kBAAkB3E,MAClB,EAAAgO,gBAAgBhO,KAClB,G,CAEc,MAAA2P,G,yCACZ,GAAI3P,KAAKyM,YACP,OAGF,MAAMzJ,EAAW7B,SAASoH,cAAc,YACxCvF,EAAS/B,gBAAkBjB,KAAK4P,WAE5Bb,EAAK/L,oBAAoB6M,QAC3B7M,EAASK,QAAQqG,kBAAkB1J,KAAK8P,uBACN,iBAAlBf,EAAK/L,WACrBA,EAAS/B,WAAa8N,EAAK/L,WAG5BhD,KAAKiP,eAAiBjP,KAAKE,WAAaF,MAAM0J,YAAY1G,EAASK,QAAQ0M,WAAU,GACxF,G,CAEc,mBAAAD,G,yCACZ,MACME,SADwBjB,EAAK/L,UACLiN,QAAQzO,WAChC0O,EAAW/O,SAASgP,cAAcC,yBAAyBJ,GAEjE,OAAiC,IAA7BE,EAASG,SAASjO,QAAkD,aAAlC8N,EAASG,SAAS,GAAGC,SACjDJ,EAASrC,WAAmCxK,QAE/C6M,CACT,G,CAEc,QAAAN,G,yCACZ,IAAIW,EASJ,OAPIxB,EAAK1M,iBAAiBwN,QAExBU,SAD0BxB,EAAK1M,OACb4N,QAAQzO,WACK,iBAAfuN,EAAK1M,QACrBkO,EAAMxB,EAAK1M,OAGHkO,EAAM,UAAUA,YAAgB,EAC5C,G,IAzFiB9D,aAAuB,EAIvB,EAAA+D,MAA0B,IAAIX,SAAQ,CAACY,EAASC,IAAMD,GAAQ,K,GA4FjF,OAJKE,eAAetL,IAAItC,IACtB4N,eAAetR,OAAO0D,EAAK+I,GAGtBA,CAAa,C,+qBCzGX,EAAA8E,qBAAwBjK,GAE1B,uBADiC,QAAhBA,GAAyC,SAAhBA,EAAyBA,EAAc,IAAM,oBAIrF,EAAAkK,yBAA2B,CAAClK,EAAqBmK,IAGnD,mBAFiC,QAAhBnK,GAAyC,SAAhBA,EAAyBA,EAAc,IAAM,8BACnEmK,aAAW,EAAXA,EAAa1O,QAAS,IAAI,IAAI2O,gBAAgB,CAAEvJ,IAAKsJ,IAAetP,aAAe,KAGrG,EAAAwP,sBAAyBrK,GAE3B,mBADiC,QAAhBA,GAAyC,SAAhBA,EAAyBA,EAAc,IAAM,0BAIrF,EAAAE,kBAAoB,QAAwE,OAAD,2BAAhEF,EAAsB,GAAIC,EAAekK,GAC7E,MAAMG,GAAS,IAAAJ,0BAAyBlK,EAAamK,GAC/CI,EAAe,CACjBC,OAAQ,MACRC,QAAS,IAAIC,QAAQ,CACjBC,cAAe,UAAU1K,OAGjC,IACI,OAAO2K,MAAMN,EAAQC,GAAcxJ,MAAM8J,GAClB,MAAfA,EAAIC,OACGD,EAAIE,OAAOhK,MAAMiK,GACbA,IAGJ,MAGnB,CAAE,MAAO1K,GAEL,OADAC,QAAQD,MAAM,iCAAkCA,GACzC,IACX,CACJ,IAEa,EAAAQ,iBAAmB,QAI3B,OAAD,2BAHAd,EAAsB,GACtBC,EACA+K,GAEA,MAAMV,GAAS,IAAAJ,0BAAyBlK,GAClCuK,EAAe,CACjBC,OAAQ,OACRC,QAAS,IAAIC,QAAQ,CACjBC,cAAe,UAAU1K,IACzB,eAAgB,qBAEpBgL,KAAM5E,KAAKC,UAAU0E,IAEzB,OAAOJ,MAAMN,EAAQC,GAChBxJ,MAAM8J,GAAQA,EAAIE,SAClBhK,MAAMiK,GACIA,GAEnB,IAEa,EAAA7J,mBAAqB,QAAkF,OAAD,2BAA1EnB,EAAsB,GAAIC,EAAe+K,GAC9E,MAAMV,GAAS,IAAAJ,0BAAyBlK,GAClCuK,EAAe,CACjBC,OAAQ,SACRC,QAAS,IAAIC,QAAQ,CACjBC,cAAe,UAAU1K,IACzB,eAAgB,qBAEpBgL,KAAM5E,KAAKC,UAAU0E,IAEzB,OAAOJ,MAAMN,EAAQC,EACzB,IAEa,EAAAW,mBAAqB,CAACrJ,EAAkB7B,IAG7B,QAAhBA,EAA8B,mCACtB,eAH4B,QAAhBA,GAAyC,SAAhBA,EAAyB,QAAU,iBAC1C,OAAb6B,EAAoB,MAAQ,6BAKhD,EAAAsJ,eAAiB,CAACtJ,EAAmB,KAAM7B,EAAsB,MAC1E,MAAMsK,GAAS,IAAAY,oBAAmBrJ,EAAU7B,GAC5C,OAAO4K,MAAMN,GACRvJ,MAAM8J,GAAQA,EAAIE,SAClBhK,MAAMqK,GACIA,GACT,EAGG,EAAAC,2BAA6B,QAIrC,OAAD,2BAHAC,EAAuB,GACvBzJ,EAAmB,KACnB7B,EAAsB,IAGtB,MAAMuL,EAAsB,CACxBC,QAAS,eAFbF,EAAeA,EAAazQ,+DAGxB4Q,OAAQ,eAAeH,qDACvBI,QAAS,eAAeJ,sDACxBK,aAAc,eAAeL,2DAC7BM,SAAU,eAAeN,uDACzBO,SAAU,iBAAiBP,KAEzBf,EAAe,CACjBE,QAAS,IAAIC,QAAQ,CACjB,kBAAmB7I,KAK3B,OAAOyJ,GAAgBA,EAAa7P,aACxByN,QAAQ4C,IACVtN,OAAOgJ,KAAK+D,GAAqB/O,KAAWuP,GAAsB,OAAD,6BAC7D,MAAMC,GAAoB,IAAA/B,sBAAqBjK,GAE/C,OAAO4K,MAAM,GAAGoB,KADST,EAAoBQ,aACsCxB,GAC9ExJ,MAAM8J,GAAQA,EAAIE,SAClBhK,MAAMkL,GACI,OAAP,wBACOA,GAAa,CAChBF,uBAGhB,OAEJ,IACV,G,WC9HAtT,EAAOD,QAAU,oM,wuCCCjB,gBASO,IAAMkH,EAAN,cAA+B,EAAA5G,cAClC,WAAAC,GACIC,OACJ,CAEA,KAAA8C,CAAMC,GAA0C,GALvC,EAAA2D,iBAAAA,E,mBAAAA,EAAgB,IAL5B,IAAAvD,WAAU,CACPC,IAAK,qBACLC,SAAU,QAAF,wBAAS,SACjBX,MAAO,QAAF,wBAAS,YAELgE,E,GCTTwM,EAA2B,CAAC,EAGhC,SAASC,EAAoBC,GAE5B,IAAIC,EAAeH,EAAyBE,GAC5C,QAAqBhP,IAAjBiP,EACH,OAAOA,EAAa7T,QAGrB,IAAIC,EAASyT,EAAyBE,GAAY,CACjD7O,GAAI6O,EAEJ5T,QAAS,CAAC,GAOX,OAHA8T,EAAoBF,GAAU/N,KAAK5F,EAAOD,QAASC,EAAQA,EAAOD,QAAS2T,GAGpE1T,EAAOD,OACf,C,OCrBA2T,EAAoBI,EAAK9T,IACxB,IAAI+T,EAAS/T,GAAUA,EAAOgU,WAC7B,IAAOhU,EAAiB,QACxB,IAAM,EAEP,OADA0T,EAAoBO,EAAEF,EAAQ,CAAEG,EAAGH,IAC5BA,CAAM,ECLdL,EAAoBO,EAAI,CAAClU,EAASoU,KACjC,IAAI,IAAI5K,KAAO4K,EACXT,EAAoBU,EAAED,EAAY5K,KAASmK,EAAoBU,EAAErU,EAASwJ,IAC5ExD,OAAOC,eAAejG,EAASwJ,EAAK,CAAE8K,YAAY,EAAMpO,IAAKkO,EAAW5K,IAE1E,ECNDmK,EAAoBU,EAAI,CAACE,EAAKzF,IAAU9I,OAAO6J,UAAU2E,eAAe3O,KAAK0O,EAAKzF,GCClF6E,EAAoBc,EAAKzU,IACH,oBAAX0U,QAA0BA,OAAOC,aAC1C3O,OAAOC,eAAejG,EAAS0U,OAAOC,YAAa,CAAE5L,MAAO,WAE7D/C,OAAOC,eAAejG,EAAS,aAAc,CAAE+I,OAAO,GAAO,ECFpC4K,EAAoB,I","sources":["webpack://geonorge/webpack/universalModuleDefinition","webpack://geonorge/./stories/gn-dialog/gn-dialog.ts","webpack://geonorge/../node_modules/css-loader/dist/runtime/api.js","webpack://geonorge/../node_modules/super-custom-elements/src/listen.ts","webpack://geonorge/./stories/gn-shortcut-button/gn-shortcut-button.ts","webpack://geonorge/./stories/gn-input/template.scss","webpack://geonorge/../node_modules/super-custom-elements/src/watch.ts","webpack://geonorge/./stories/gn-input/gn-input.ts","webpack://geonorge/./stories/body-text/body-text.ts","webpack://geonorge/./stories/gn-field-container/gn-field-container.html","webpack://geonorge/../node_modules/super-custom-elements/src/util.ts","webpack://geonorge/./stories/body-text/body-text.scss","webpack://geonorge/./stories/body-text/body-text.html","webpack://geonorge/./stories/gn-button/gn-button.ts","webpack://geonorge/../node_modules/super-custom-elements/src/index.ts","webpack://geonorge/../node_modules/super-custom-elements/src/helpers.ts","webpack://geonorge/./assets/svg/close-icon-black.svg","webpack://geonorge/./stories/gn-dialog/template.scss","webpack://geonorge/./stories/gn-shortcut-button/gn-shortcut-button.scss","webpack://geonorge/./stories/gn-shortcut-button/template.scss","webpack://geonorge/../node_modules/super-custom-elements/src/custom-element.ts","webpack://geonorge/./stories/heading-text/heading-text.html","webpack://geonorge/../node_modules/super-custom-elements/src/toggle.ts","webpack://geonorge/../node_modules/css-loader/dist/runtime/sourceMaps.js","webpack://geonorge/./stories/gn-button/template.scss","webpack://geonorge/./stories/gn-dialog/gn-dialog.scss","webpack://geonorge/./stories/gn-field-container/template.scss","webpack://geonorge/./stories/heading-text/template.scss","webpack://geonorge/./functions/guiHelpers.ts","webpack://geonorge/./stories/gn-input/gn-input.html","webpack://geonorge/./stories/gn-dialog/gn-dialog.html","webpack://geonorge/../node_modules/super-custom-elements/src/prop.ts","webpack://geonorge/./stories/gn-button/gn-button.html","webpack://geonorge/./stories/gn-shortcut-button/gn-shortcut-button.html","webpack://geonorge/./stories/heading-text/heading-text.ts","webpack://geonorge/../node_modules/super-custom-elements/src/component.ts","webpack://geonorge/./functions/apiHelpers.ts","webpack://geonorge/./assets/svg/star.svg","webpack://geonorge/./stories/gn-field-container/gn-field-container.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\"][\"GnShortcutButton\"] = factory();\n})(self, () => {\nreturn ","// Dependencies\nimport {\n Component,\n CustomElement,\n CustomElementOptions,\n getShadowRootElement,\n Prop,\n Toggle,\n Watch\n} from \"super-custom-elements\";\n\n// Helpers\nimport { addGlobalStylesheet } from \"../../functions/guiHelpers\";\n\n// Assets\nimport CloseIcon from \"../../assets/svg/close-icon-black.svg\";\n\n// Stylesheets\nimport style from \"./gn-dialog.scss\";\n\ninterface GnDialogOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"gn-dialog\",\n template: import(\"./gn-dialog.html\"),\n style: import(\"./template.scss\")\n})\nexport class GnDialog extends CustomElement {\n @Toggle() show: boolean;\n @Toggle() nopadding: boolean;\n @Prop() width: string;\n @Prop() overflow: string;\n\n constructor() {\n super();\n addGlobalStylesheet(\"gn-dialog-styles\", style);\n }\n\n connectedCallback() {\n const closeDialogButtonElement = getShadowRootElement(this, \"#close-dialog-button\");\n closeDialogButtonElement.innerHTML = CloseIcon;\n closeDialogButtonElement.addEventListener(\"click\", this.hideDialog);\n\n const dialogContainerElement = getShadowRootElement(this, \"#dialog-container\");\n dialogContainerElement.addEventListener(\"click\", this.handleClickOutside);\n\n document.addEventListener(\"keydown\", this.keyDownFunction, false);\n }\n\n disconnectedCallback() {\n const closeDialogButtonElement = getShadowRootElement(this, \"#close-dialog-button\");\n closeDialogButtonElement.removeEventListener(\"click\", this.hideDialog);\n\n const dialogContainerElement = getShadowRootElement(this, \"#dialog-container\");\n dialogContainerElement.removeEventListener(\"click\", this.handleClickOutside);\n\n document.removeEventListener(\"keydown\", this.keyDownFunction, false);\n }\n\n handleClickOutside = (event) => {\n const dialogContentElement = getShadowRootElement(this, \"#dialog-content\");\n const slots = this.shadowRoot.querySelector(\"slot\");\n const assignedSlotElements = slots.assignedElements();\n const hasClickedInsideSlot = assignedSlotElements.some((assignedSlotElement) => {\n return !!assignedSlotElement.contains(event.target);\n });\n const hasClickedInsideDialogChild = dialogContentElement.contains(event.target);\n if (dialogContentElement && !(hasClickedInsideSlot || hasClickedInsideDialogChild)) {\n this.hideDialog();\n }\n };\n\n hideDialog = () => {\n this.setAttribute(\"show\", \"false\");\n };\n\n shouldShowDialog(show) {\n return show?.toString() === \"\" || show?.toString() === \"true\";\n }\n\n shouldHaveNoPadding(noPadding) {\n return noPadding?.toString() === \"\" || noPadding?.toString() === \"true\";\n }\n\n keyDownFunction = (event) => {\n switch (event.keyCode) {\n case 27: // Escape\n this.hideDialog();\n break;\n default:\n return null;\n }\n };\n\n @Watch(\"show\")\n showMenuChanged() {\n const shouldShowDialog = this.shouldShowDialog(this.show);\n const dialogContainerElement = getShadowRootElement(this, \"#dialog-container\");\n shouldShowDialog\n ? dialogContainerElement?.classList.add(\"visible\")\n : dialogContainerElement?.classList.remove(\"visible\");\n }\n\n @Watch(\"nopadding\")\n nopaddingChanged() {\n const shouldHaveNoPadding = this.shouldHaveNoPadding(this.nopadding);\n const dialogContentElement = getShadowRootElement(this, \"#dialog-content\");\n shouldHaveNoPadding\n ? dialogContentElement.classList.add(\"noPadding\")\n : dialogContentElement.classList.remove(\"noPadding\");\n }\n\n @Watch(\"overflow\")\n overflowChanged() {\n const overflow = this.overflow?.length ? this.overflow : \"visible\";\n const dialogContentElement = getShadowRootElement(this, \"#dialog-content\");\n dialogContentElement.style.overflow = overflow;\n }\n\n @Watch(\"width\")\n widthChanged() {\n const dialogContentElement = getShadowRootElement(this, \"#dialog-content\");\n dialogContentElement.style.maxWidth = this.width;\n }\n\n setup(options?: GnDialogOptions): void {}\n}\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\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 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 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 list.push(item);\n }\n };\n return list;\n};","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 };","// Dependencies\nimport {\n Component,\n CustomElement,\n CustomElementOptions,\n getElement,\n getShadowRootElement,\n Prop,\n Watch\n} from \"super-custom-elements\";\n\n// Components\nimport { GnButton } from \"../gn-button/gn-button\";\nimport { GnDialog } from \"../gn-dialog/gn-dialog\";\nimport { GnFieldContainer } from \"../gn-field-container/gn-field-container\";\nimport { GnInput } from \"../gn-input/gn-input\";\nimport { BodyText } from \"../body-text/body-text\";\nimport { HeadingText } from \"../heading-text/heading-text\";\n\n// Helpers\nimport { addGlobalStylesheet, getDocumentHeading } from \"../../functions/guiHelpers\";\nimport { deleteShortcutItem, fetchShortcutItem, postShortcutItem } from \"../../functions/apiHelpers\";\n\n// Assets\nimport StarIcon from \"../../assets/svg/star.svg\";\n\n// Stylesheets\nimport style from \"./gn-shortcut-button.scss\";\n\ninterface GnShortcutButtonOptions extends CustomElementOptions {\n getAuthToken?: Function;\n}\n\n@Component({\n tag: \"gn-shortcut-button\",\n template: import(\"./gn-shortcut-button.html\"),\n style: import(\"./template.scss\")\n})\nexport class GnShortcutButton extends CustomElement {\n private shortcutButton: HTMLButtonElement;\n private addShortcutDialogElement: HTMLElement;\n private removeShortcutDialogElement: HTMLElement;\n private saveShortcutButtonElement: HTMLButtonElement;\n private removeShortcutButtonElement: HTMLButtonElement;\n private cancelAddShortcutButtonElement: HTMLButtonElement;\n private cancelRemoveShortcutButtonElement: HTMLButtonElement;\n private shortcutNameInputElement: HTMLInputElement;\n @Prop() id: string;\n @Prop() language: string;\n @Prop() environment: string;\n @Prop() token: string;\n getAuthToken: Function;\n shortcutName: string;\n\n constructor() {\n super();\n addGlobalStylesheet(\"gn-shortcut-button-styles\", style);\n }\n\n setup(options?: GnShortcutButtonOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.addShortcutDialogElement = getShadowRootElement(this, \"#add-shortcut-dialog\");\n this.removeShortcutDialogElement = getShadowRootElement(this, \"#remove-shortcut-dialog\");\n this.saveShortcutButtonElement = getShadowRootElement(this, \"#save-shortcut-button\");\n this.removeShortcutButtonElement = getShadowRootElement(this, \"#remove-shortcut-button\");\n this.cancelAddShortcutButtonElement = getShadowRootElement(this, \"#cancel-add-shortcut-button\");\n this.cancelRemoveShortcutButtonElement = getShadowRootElement(this, \"#cancel-remove-shortcut-button\");\n\n const gnButton = new GnButton();\n const gnDialog = new GnDialog();\n const gnFieldContainer = new GnFieldContainer();\n const gnInput = new GnInput();\n const bodyText = new BodyText();\n const headingText = new HeadingText();\n\n this.initShortcutNameInput();\n }\n\n disconnectedCallback() {}\n\n async getShortcutItem(environment: string, token: string) {\n try {\n const shortcutItem = await fetchShortcutItem(environment, token, window.location.href);\n return shortcutItem;\n } catch (error) {\n console.error(\"Error fetching shortcut items:\", error);\n }\n }\n\n saveShortcut(token: string) {\n const shortcutData = {\n name: this.shortcutName || document.title,\n url: window.location.href\n };\n postShortcutItem(this.environment, token, shortcutData)\n .then(() => {\n this.replaceShortcutButton(true);\n })\n .catch((error) => {\n console.error(\"Error saving shortcut:\", error);\n });\n }\n\n removeShortcut(token: string) {\n deleteShortcutItem(this.environment, token, { url: window.location.href })\n .then(() => {\n this.replaceShortcutButton(false);\n })\n .catch((error) => {\n console.error(\"Error removing shortcut:\", error);\n });\n }\n\n openDialog(shortcutIsAdded: boolean) {\n this.shortcutNameInputElement.value = document.title;\n if (shortcutIsAdded) {\n this.removeShortcutDialogElement.setAttribute(\"show\", \"true\");\n this.removeShortcutDialogElement.setAttribute(\"aria-hidden\", \"false\");\n this.addShortcutDialogElement.removeAttribute(\"show\");\n } else {\n this.addShortcutDialogElement.setAttribute(\"show\", \"true\");\n this.addShortcutDialogElement.setAttribute(\"aria-hidden\", \"false\");\n this.removeShortcutDialogElement.removeAttribute(\"show\");\n }\n }\n\n closeDialog() {\n this.addShortcutDialogElement.removeAttribute(\"show\");\n this.addShortcutDialogElement.setAttribute(\"aria-hidden\", \"true\");\n this.removeShortcutDialogElement.removeAttribute(\"show\");\n this.removeShortcutDialogElement.setAttribute(\"aria-hidden\", \"true\");\n }\n\n renderShortcutButton(shortcutIsAdded: boolean) {\n const shortcutButton = document.createElement(\"button\");\n shortcutButton.setAttribute(\"id\", \"gn-shortcut-button\");\n shortcutButton.setAttribute(\"role\", \"button\");\n shortcutButton.setAttribute(\"aria-pressed\", \"false\");\n shortcutButton.classList.add(\"gn-shortcut-button\");\n\n if (shortcutIsAdded) {\n shortcutButton.innerHTML = StarIcon;\n shortcutButton.setAttribute(\n \"aria-label\",\n this.language === \"en\" ? \"This page is saved as a shortcut. Sure you want to remove it?\" : \"Denne siden er lagret som en snarvei. Er du sikker på at du vil fjerne den?\"\n );\n shortcutButton.setAttribute(\"title\", this.language === \"en\" ? \"Remove shortcut\" : \"Fjern snarvei\");\n shortcutButton.classList.add(\"active\");\n } else {\n shortcutButton.innerHTML = StarIcon;\n shortcutButton.setAttribute(\n \"aria-label\",\n this.language === \"en\" ? \"Add shortcut to this page\" : \"Lagre snarvei for denne siden\"\n );\n shortcutButton.setAttribute(\"title\", this.language === \"en\" ? \"Add shortcut\" : \"Lagre snarvei\");\n shortcutButton.classList.remove(\"active\");\n }\n\n // Dialog event handlers (rebinding each time)\n this.saveShortcutButtonElement.onclick = () => {\n const token = this.getAuthToken();\n if (!token) return;\n this.saveShortcut(token);\n this.closeDialog();\n };\n\n this.removeShortcutButtonElement.onclick = () => {\n const token = this.getAuthToken();\n if (!token) return;\n this.removeShortcut(token);\n this.closeDialog();\n };\n\n this.cancelAddShortcutButtonElement.onclick = () => this.closeDialog();\n this.cancelRemoveShortcutButtonElement.onclick = () => this.closeDialog();\n\n shortcutButton.onclick = () => this.openDialog(shortcutIsAdded);\n\n shortcutButton.addEventListener(\"keydown\", (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n shortcutButton.click();\n }\n });\n\n shortcutButton.addEventListener(\"focus\", () => {\n shortcutButton.setAttribute(\"aria-pressed\", \"true\");\n });\n\n shortcutButton.addEventListener(\"blur\", () => {\n shortcutButton.setAttribute(\"aria-pressed\", \"false\");\n });\n\n return shortcutButton;\n }\n\n replaceShortcutButton(shortcutIsAdded: boolean) {\n const newButton = this.renderShortcutButton(shortcutIsAdded);\n if (this.shortcutButton) {\n this.shortcutButton.replaceWith(newButton);\n } else {\n const firstHeading = getDocumentHeading();\n if (firstHeading) {\n firstHeading.after(newButton);\n }\n }\n this.shortcutButton = newButton;\n }\n\n appendShortcutButtonAfterFirstHeading(shortcutIsAdded: boolean) {\n const headingContainer = document.createElement(\"div\");\n headingContainer.style.display = \"flex\";\n headingContainer.style.alignItems = \"center\";\n headingContainer.style.justifyContent = \"flex-start\";\n const firstHeading = getDocumentHeading();\n if (firstHeading) {\n firstHeading.style.display = \"inline-block\";\n firstHeading.parentNode.insertBefore(headingContainer, firstHeading);\n headingContainer.appendChild(firstHeading);\n this.replaceShortcutButton(shortcutIsAdded);\n } else {\n console.error(\"First heading or shortcut button is missing\");\n }\n }\n\n initShortcutNameInput() {\n this.shortcutNameInputElement = getShadowRootElement(this, \"#shortcut-name-input\"); \n this.shortcutNameInputElement.addEventListener(\"input\", () => {\n this.shortcutName = this.shortcutNameInputElement.value;\n if (this.shortcutName.trim()) {\n this.saveShortcutButtonElement.firstElementChild?.removeAttribute(\"disabled\");\n } else {\n this.saveShortcutButtonElement.firstElementChild?.setAttribute(\"disabled\", \"true\");\n }\n });\n\n this.shortcutNameInputElement.addEventListener(\"keydown\", (event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n if (this.shortcutName.trim()) {\n this.saveShortcutButtonElement.click();\n }\n }\n });\n }\n\n @Watch(\"token\")\n async tokenChanged() {\n const token = this?.token;\n if (!token) {\n console.error(\"No token found\");\n return;\n }\n\n this.language = this.language || \"en\";\n\n const shortcutItem = await this.getShortcutItem(this.environment, token);\n const shortcutIsAdded = !!shortcutItem;\n\n this.style.display = \"block\";\n this.appendShortcutButtonAfterFirstHeading(shortcutIsAdded);\n }\n\n public static setup(selector: string, options: GnShortcutButtonOptions) {\n setTimeout(() => {\n const element = getElement<GnShortcutButton>(selector);\n if (!element) {\n console.error(`Element with selector \"${selector}\" not found.`);\n return;\n }\n if (!options || !options.getAuthToken) {\n console.error(\"getAuthToken function is required in options.\");\n return;\n }\n element.getAuthToken = options.getAuthToken;\n element.token = options.getAuthToken();\n });\n }\n}\n","// 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, `:host([block]){display:block}:host(:not([block])){display:inline-block}:host([fullwidth]){display:block}:host([fullwidth]) ::slotted(input){width:100%}:host([width]) ::slotted(input[type=text]),:host([width]) ::slotted(input[type=number]),:host([width]) ::slotted(input[type=email]),:host([width]) ::slotted(input[type=tel]),:host([width]) ::slotted(input[type=date]),:host([width]) ::slotted(input[type=datetime-local]),:host([width]) ::slotted(input[type=time]),:host([width]) ::slotted(input[type=url]),:host([width]) ::slotted(input[type=search]),:host([width]) ::slotted(input[type=password]),:host([width]) ::slotted(input:not([type])){width:100%}::slotted(input[type=text]),::slotted(input[type=number]),::slotted(input[type=email]),::slotted(input[type=tel]),::slotted(input[type=date]),::slotted(input[type=datetime-local]),::slotted(input[type=time]),::slotted(input[type=url]),::slotted(input[type=search]),::slotted(input[type=password]),::slotted(input:not([type])){-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-border-radius:4px;border-radius:4px;box-sizing:border-box;font-family:\"Open Sans\",sans-serif;font-size:16px;font-size:12pt;padding:0 8px;height:32px;box-shadow:none;position:relative;z-index:1;background-color:#fff;border:1px solid #d8d8d8;color:#2f3940}::slotted(input[type=text]:disabled),::slotted(input[type=number]:disabled),::slotted(input[type=email]:disabled),::slotted(input[type=tel]:disabled),::slotted(input[type=date]:disabled),::slotted(input[type=datetime-local]:disabled),::slotted(input[type=time]:disabled),::slotted(input[type=url]:disabled),::slotted(input[type=search]:disabled),::slotted(input[type=password]:disabled),::slotted(input:not([type]):disabled){background-color:#f4f4f4;color:#707070;border:1px solid #dedede;cursor:not-allowed}::slotted(input[type=checkbox]),::slotted(input[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #2f3940;font:inherit;color:currentColor;width:16px;height:16px;margin:0 6px 0 0}::slotted(input[type=checkbox]:checked),::slotted(input[type=radio]:checked){border-color:#3767c7}::slotted(input[type=checkbox]:focus-visible),::slotted(input[type=radio]:focus-visible){outline:max(2px,.1em) solid #3767c7;outline-offset:max(2px,.1em)}::slotted(input[type=checkbox]){-webkit-border-radius:3px;border-radius:3px;vertical-align:text-top}::slotted(input[type=checkbox]:checked)::before{background-color:#3767c7;content:\"✓\";line-height:13px;color:#fff;display:inline-block;vertical-align:top;width:100%}::slotted(input[type=checkbox]:disabled){background-color:#dedede;border-color:#dedede;cursor:not-allowed}::slotted(input[type=checkbox]:checked:disabled)::before{background-color:#dedede;color:#707070}::slotted(input[type=radio]){-webkit-border-radius:50%;border-radius:50%;transform:translateY(-0.075em);display:inline-grid;place-content:center}::slotted(input[type=radio])::before{-webkit-border-radius:50%;border-radius:50%;content:\"\";width:8px;height:8px;transform:scale(0);transition:120ms transform ease-in-out}::slotted(input[type=radio]:checked)::before{background-color:#3767c7;transform:scale(1)}::slotted(input[type=radio]:disabled){border-color:#dedede}::slotted(input[type=radio]:checked:disabled)::before{background-color:#dedede;transform:scale(1)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-input/template.scss\",\"webpack://./style/variables/_typography.scss\",\"webpack://./style/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAAA,eAKA,aACI,CAAA,qBAGJ,oBACI,CAAA,mBAGJ,aACI,CAAA,oCACA,UACI,CAAA,2eAKJ,UAWI,CAAA,sUAIR,uBAWmC,CAAA,oBAAA,CAAA,eAAA,CAAA,yBACM,CAAA,iBAAA,CAAA,qBACrC,CAAA,kCCjDW,CAAA,cDmDX,CAAA,cACA,CAAA,aACA,CAAA,WACA,CAAA,eACA,CAAA,iBACA,CAAA,SACA,CAAA,qBACA,CAAA,wBACA,CAAA,aEpDU,CAAA,yaFwDd,wBE/BsB,CAAA,aAEN,CAAA,wBF0CZ,CAAA,kBACA,CAAA,6DAGJ,uBAEmC,CAAA,oBAAA,CAAA,eAAA,CAAA,wBAC/B,CAAA,YACA,CAAA,kBACA,CAAA,UACA,CAAA,WACA,CAAA,gBACA,CAAA,6EAGJ,oBE5Ee,CAAA,yFFiFf,mCAEI,CAAA,4BACA,CAAA,gCAGJ,yBACyC,CAAA,iBAAA,CAAA,uBACrC,CAAA,gDAIA,wBE7FW,CAAA,WF+FP,CAAA,gBACA,CAAA,UACA,CAAA,oBACA,CAAA,kBACA,CAAA,UACA,CAAA,yCAIR,wBEtFkB,CAAA,oBAAA,CAAA,kBFyFd,CAAA,yDAIA,wBE7Fc,CAAA,aACF,CAAA,6BFkGhB,yBACyC,CAAA,iBAAA,CAAA,8BACrC,CAAA,mBACA,CAAA,oBACA,CAAA,qCACA,yBACyC,CAAA,iBAAA,CAAA,UACrC,CAAA,SACA,CAAA,UACA,CAAA,kBACA,CAAA,sCACA,CAAA,6CAKJ,wBErIW,CAAA,kBFuIP,CAAA,sCAIR,oBEzHkB,CAAA,sDF8Hd,wBE9Hc,CAAA,kBFgIV\",\"sourcesContent\":[\"@use \\\"../../style/mixins/appearance\\\";\\n@use \\\"../../style/mixins/border-radius\\\";\\n@use \\\"../../style/variables/colors\\\";\\n@use \\\"../../style/variables/typography\\\";\\n\\n:host([block]) {\\n display: block;\\n}\\n\\n:host(:not([block])) {\\n display: inline-block;\\n}\\n\\n:host([fullwidth]) {\\n display: block;\\n ::slotted(input) {\\n width: 100%;\\n }\\n}\\n\\n:host([width]) {\\n ::slotted(input[type=\\\"text\\\"]),\\n ::slotted(input[type=\\\"number\\\"]),\\n ::slotted(input[type=\\\"email\\\"]),\\n ::slotted(input[type=\\\"tel\\\"]),\\n ::slotted(input[type=\\\"date\\\"]),\\n ::slotted(input[type=\\\"datetime-local\\\"]),\\n ::slotted(input[type=\\\"time\\\"]),\\n ::slotted(input[type=\\\"url\\\"]),\\n ::slotted(input[type=\\\"search\\\"]),\\n ::slotted(input[type=\\\"password\\\"]),\\n ::slotted(input:not([type])) {\\n width: 100%;\\n }\\n}\\n\\n::slotted(input[type=\\\"text\\\"]),\\n::slotted(input[type=\\\"number\\\"]),\\n::slotted(input[type=\\\"email\\\"]),\\n::slotted(input[type=\\\"tel\\\"]),\\n::slotted(input[type=\\\"date\\\"]),\\n::slotted(input[type=\\\"datetime-local\\\"]),\\n::slotted(input[type=\\\"time\\\"]),\\n::slotted(input[type=\\\"url\\\"]),\\n::slotted(input[type=\\\"search\\\"]),\\n::slotted(input[type=\\\"password\\\"]),\\n::slotted(input:not([type])) {\\n @include appearance.appearance(none);\\n @include border-radius.border-radius(4px);\\n box-sizing: border-box;\\n font-family: typography.$default-font;\\n font-size: 16px;\\n font-size: 12pt;\\n padding: 0 8px;\\n height: 32px;\\n box-shadow: none;\\n position: relative;\\n z-index: 1;\\n background-color: #fff;\\n border: 1px solid colors.$default-border;\\n color: colors.$default-text;\\n}\\n\\n::slotted(input[type=\\\"text\\\"]:disabled),\\n::slotted(input[type=\\\"number\\\"]:disabled),\\n::slotted(input[type=\\\"email\\\"]:disabled),\\n::slotted(input[type=\\\"tel\\\"]:disabled),\\n::slotted(input[type=\\\"date\\\"]:disabled),\\n::slotted(input[type=\\\"datetime-local\\\"]:disabled),\\n::slotted(input[type=\\\"time\\\"]:disabled),\\n::slotted(input[type=\\\"url\\\"]:disabled),\\n::slotted(input[type=\\\"search\\\"]:disabled),\\n::slotted(input[type=\\\"password\\\"]:disabled),\\n::slotted(input:not([type]):disabled) {\\n background-color: colors.$disabled-background;\\n color: colors.$disabled-text;\\n border: 1px solid colors.$disabled-border;\\n cursor: not-allowed;\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]),\\n::slotted(input[type=\\\"radio\\\"]) {\\n @include appearance.appearance(none);\\n border: 2px solid colors.$default-text;\\n font: inherit;\\n color: currentColor;\\n width: 16px;\\n height: 16px;\\n margin: 0 6px 0 0;\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]:checked),\\n::slotted(input[type=\\\"radio\\\"]:checked) {\\n border-color: colors.$primary-text;\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]:focus-visible),\\n::slotted(input[type=\\\"radio\\\"]:focus-visible) {\\n outline: max(2px, 0.1em) solid colors.$primary-text;\\n outline-offset: max(2px, 0.1em);\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]) {\\n @include border-radius.border-radius(3px);\\n vertical-align: text-top;\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]:checked) {\\n &::before {\\n background-color: colors.$primary-text;\\n content: \\\"✓\\\";\\n line-height: 13px;\\n color: #fff;\\n display: inline-block;\\n vertical-align: top;\\n width: 100%;\\n }\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]:disabled) {\\n background-color: colors.$disabled-border;\\n border-color: colors.$disabled-border;\\n cursor: not-allowed;\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]:checked:disabled) {\\n &::before {\\n background-color: colors.$disabled-border;\\n color: colors.$disabled-text;\\n }\\n}\\n\\n::slotted(input[type=\\\"radio\\\"]) {\\n @include border-radius.border-radius(50%);\\n transform: translateY(-0.075em);\\n display: inline-grid;\\n place-content: center;\\n &::before {\\n @include border-radius.border-radius(50%);\\n content: \\\"\\\";\\n width: 8px;\\n height: 8px;\\n transform: scale(0);\\n transition: 120ms transform ease-in-out;\\n }\\n}\\n\\n::slotted(input[type=\\\"radio\\\"]:checked) {\\n &::before {\\n background-color: colors.$primary-text;\\n transform: scale(1);\\n }\\n}\\n\\n::slotted(input[type=\\\"radio\\\"]:disabled) {\\n border-color: colors.$disabled-border;\\n}\\n\\n::slotted(input[type=\\\"radio\\\"]:checked:disabled) {\\n &::before {\\n background-color: colors.$disabled-border;\\n transform: scale(1);\\n }\\n}\\n\",\"$default-font: \\\"Open Sans\\\", sans-serif;\\n$header-font: \\\"Raleway\\\", sans-serif;\\n$default-font-size: 15px;\\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$light-gray: #f6f5f4;\\n\\n$primary-brand: #FE5000;\\n\\n$primary-background: #3767C7;\\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: #f4f4f4;\\n$disabled-border: #dedede;\\n$disabled-text: #707070;\\n\\n\\n$light-green: #8fff33;\\n$light-yellow: #ffEb3b;\\n$light-red: #ff4a2e;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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};","// Dependencies\nimport {\n Component,\n CustomElement,\n CustomElementOptions,\n Prop,\n Toggle,\n Watch,\n getShadowRootElement\n} from \"super-custom-elements\";\n\ninterface GnInputOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"gn-input\",\n template: import(\"./gn-input.html\"),\n style: import(\"./template.scss\")\n})\nexport class GnInput extends CustomElement {\n @Toggle() block: boolean;\n @Toggle() fullwidth: boolean;\n @Prop() width: string;\n\n constructor() {\n super();\n }\n\n @Watch(\"width\")\n widthChanged() {\n const inputContainerElement = getShadowRootElement(this, \"#input-container\");\n inputContainerElement.style.width = this.width;\n }\n\n setup(options?: GnInputOptions): void {}\n}\n","// Dependencies\nimport { Component, CustomElement, CustomElementOptions } from \"super-custom-elements\";\n\ninterface BodyTextOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"body-text\",\n template: import(\"./body-text.html\"),\n style: import(\"./body-text.scss\")\n})\nexport class BodyText extends CustomElement {\n constructor() {\n super();\n }\n\n setup(options?: BodyTextOptions): void {}\n}\n","export default \"<template>\\n <slot></slot>\\n</template>\\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","// 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, `:host,::slotted(*){font-family:\"Open Sans\",sans-serif;font-size:15px;color:#2f3940;line-height:24px;font-weight:300}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/body-text/body-text.scss\",\"webpack://./style/variables/_typography.scss\"],\"names\":[],\"mappings\":\"AAGA,mBAEI,kCCLW,CDMX,cCJgB,CDKhB,aAAA,CACA,gBAAA,CACA,eAAA\",\"sourcesContent\":[\"@use \\\"../../style/variables/colors\\\";\\n@use \\\"../../style/variables/typography\\\";\\n\\n:host,\\n::slotted(*) {\\n font-family: typography.$default-font;\\n font-size: typography.$default-font-size;\\n color: colors.$default-text;\\n line-height: 24px;\\n font-weight: 300;\\n}\\n\",\"$default-font: \\\"Open Sans\\\", sans-serif;\\n$header-font: \\\"Raleway\\\", sans-serif;\\n$default-font-size: 15px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","export default \"<template>\\n <slot></slot>\\n</template>\\n\";","import { Component, CustomElement, CustomElementOptions, Prop, Watch } from \"super-custom-elements\";\n\ninterface GnButtonOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"gn-button\",\n template: import(\"./gn-button.html\"),\n style: import(\"./template.scss\")\n})\nexport class GnButton extends CustomElement {\n @Prop() color: string;\n\n private slotEl: HTMLSlotElement;\n\n constructor() {\n super();\n }\n\n setup(options?: GnButtonOptions): void {\n this.connect(options?.container);\n if (options?.id) {\n this.id = options.id;\n }\n\n // Wait for slot to be rendered and then apply color\n requestAnimationFrame(() => this.applyColorClass());\n }\n\n @Watch(\"color\")\n onColorChange() {\n this.applyColorClass();\n }\n\n private applyColorClass() {\n if (!this.slotEl) {\n this.slotEl = this.shadowRoot?.querySelector(\"slot\");\n if (!this.slotEl) return;\n }\n\n const colorClassPrefix = \"color-\";\n const assignedElements = this.slotEl.assignedElements({ flatten: true });\n\n assignedElements.forEach((el) => {\n // Clean up any existing listeners first\n el.removeEventListener(\"mouseenter\", this.handleMouseEnter);\n el.removeEventListener(\"mouseleave\", this.handleMouseLeave);\n\n // Remove previous color-* classes\n el.classList.forEach((cls) => {\n if (cls.startsWith(colorClassPrefix)) {\n el.classList.remove(cls);\n }\n });\n\n // Add color class\n if (this.color) {\n el.classList.add(`${colorClassPrefix}${this.color}`);\n }\n\n // Add :hover support via JS\n el.addEventListener(\"mouseenter\", this.handleMouseEnter);\n el.addEventListener(\"mouseleave\", this.handleMouseLeave);\n });\n }\n\n private handleMouseEnter = (e: Event) => {\n (e.currentTarget as HTMLElement).classList.add(\"is-hovered\");\n };\n\n private handleMouseLeave = (e: Event) => {\n (e.currentTarget as HTMLElement).classList.remove(\"is-hovered\");\n };\n}\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';","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};","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 -960 960 960\\\"><path fill=\\\"currentColor\\\" d=\\\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\\\"></path></svg>\"","// 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, `.dialog-container:not(.visible){display:none}.dialog-container.visible{display:flex;flex-wrap:wrap;position:fixed;width:100%;background:rgba(0,0,0,.25);height:100%;top:0;left:0;align-content:center;padding:8px 28px;z-index:2;justify-content:center;box-sizing:border-box}@media(min-width: 992px){.dialog-container.visible{padding:36px}}.dialog-container .dialog-content{max-height:-moz-calc(100% - 128px);max-height:-webkit-calc(100% - 128px);max-height:calc(100% - 128px);-webkit-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);-moz-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);-webkit-border-radius:4px;border-radius:4px;max-width:540px;width:100%;background-color:#fff;position:relative}.dialog-container .dialog-content:not(.noPadding){padding:28px 22px 22px}@media(min-width: 768px){.dialog-container .dialog-content:not(.noPadding){padding:38px 30px 30px}}.dialog-container .dialog-content.noPadding{padding:28px 0 0}@media(min-width: 768px){.dialog-container .dialog-content.noPadding{padding:38px 0 0}}@media(min-width: 992px){.dialog-container .dialog-content{width:-moz-calc(100% - 128px);width:-webkit-calc(100% - 128px);width:calc(100% - 128px);max-height:100%}}.dialog-container .dialog-content .close-dialog-button{background:none;border:none;color:#2f3940;display:inline-block;position:absolute;right:7px;top:4px;text-decoration:underline;font-size:19px;cursor:pointer;padding:0;right:8px;top:5px}@media(min-width: 768px){.dialog-container .dialog-content .close-dialog-button{right:15px;top:10px}}.dialog-container .dialog-content .close-dialog-button:hover{text-decoration:none}.dialog-container .dialog-content .close-dialog-button svg{width:17px;height:17px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-dialog/template.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/mixins/_calc.scss\",\"webpack://./style/mixins/_box-shadow.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAOI,gCACI,YAAA,CAEJ,0BACI,YAAA,CACA,cAAA,CACA,cAAA,CACA,UAAA,CACA,0BAAA,CACA,WAAA,CACA,KAAA,CACA,MAAA,CACA,oBAAA,CACA,gBAAA,CACA,SAAA,CACA,sBAAA,CACA,qBAAA,CCfA,yBDEJ,0BAeQ,YAAA,CAAA,CAGR,kCE3BF,kCAAA,CACA,qCAAA,CACA,6BAAA,CCFE,iHH6BI,CG5BJ,8GH4BI,CG3BJ,yGH2BI,CI7BN,yBJkC2C,CIjC3C,iBJiC2C,CACrC,eAAA,CACA,UAAA,CACA,qBAAA,CACA,iBAAA,CACA,kDACI,sBAAA,CC7BJ,yBD4BA,kDAGQ,sBAAA,CAAA,CAGR,4CACI,gBAAA,CCnCJ,yBDkCA,4CAGQ,gBAAA,CAAA,CCzCR,yBDoBJ,kCE3BF,6BAAA,CACA,gCAAA,CACA,wBAAA,CFmDU,eAAA,CAAA,CAEJ,uDACI,eAAA,CACA,WAAA,CACA,aKpDE,CLqDF,oBAAA,CACA,iBAAA,CACA,SAAA,CACA,OAAA,CACA,yBAAA,CACA,cAAA,CACA,cAAA,CACA,SAAA,CACA,SAAA,CACA,OAAA,CCzDJ,yBD4CA,uDAeQ,UAAA,CACA,QAAA,CAAA,CAEJ,6DACI,oBAAA,CAEJ,2DACI,UAAA,CACA,WAAA\",\"sourcesContent\":[\"@use \\\"../../style/mixins/border-radius\\\";\\n@use \\\"../../style/mixins/box-shadow\\\";\\n@use \\\"../../style/mixins/breakpoints\\\";\\n@use \\\"../../style/mixins/calc\\\";\\n@use \\\"../../style/variables/colors\\\";\\n\\n.dialog-container {\\n &:not(.visible) {\\n display: none;\\n }\\n &.visible {\\n display: flex;\\n flex-wrap: wrap;\\n position: fixed;\\n width: 100%;\\n background: rgba(0, 0, 0, 0.25);\\n height: 100%;\\n top: 0;\\n left: 0;\\n align-content: center;\\n padding: 8px 28px;\\n z-index: 2;\\n justify-content: center;\\n box-sizing: border-box;\\n @include breakpoints.breakpoint(laptop) {\\n padding: 36px;\\n }\\n }\\n .dialog-content {\\n @include calc.calc(\\\"max-height\\\", \\\"100% - 128px\\\");\\n @include box-shadow.box-shadow(\\n 0 11px 15px -7px rgba(0, 0, 0, 0.2),\\n 0 24px 38px 3px rgba(0, 0, 0, 0.14),\\n 0 9px 46px 8px rgba(0, 0, 0, 0.12)\\n );\\n @include border-radius.border-radius(4px);\\n max-width: 540px;\\n width: 100%;\\n background-color: #fff;\\n position: relative;\\n &:not(.noPadding) {\\n padding: 28px 22px 22px;\\n @include breakpoints.breakpoint(tablet) {\\n padding: 38px 30px 30px;\\n }\\n }\\n &.noPadding {\\n padding: 28px 0 0;\\n @include breakpoints.breakpoint(tablet) {\\n padding: 38px 0 0;\\n }\\n }\\n @include breakpoints.breakpoint(laptop) {\\n @include calc.calc(\\\"width\\\", \\\"100% - 128px\\\");\\n max-height: 100%;\\n }\\n .close-dialog-button {\\n background: none;\\n border: none;\\n color: colors.$default-text;\\n display: inline-block;\\n position: absolute;\\n right: 7px;\\n top: 4px;\\n text-decoration: underline;\\n font-size: 19px;\\n cursor: pointer;\\n padding: 0;\\n right: 8px;\\n top: 5px;\\n @include breakpoints.breakpoint(tablet) {\\n right: 15px;\\n top: 10px;\\n }\\n &:hover {\\n text-decoration: none;\\n }\\n svg {\\n width: 17px;\\n height: 17px;\\n }\\n }\\n }\\n}\\n\",\"@use \\\"../variables/breakpoints\\\";\\n\\n@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: breakpoints.$screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: breakpoints.$screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: breakpoints.$screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: breakpoints.$screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"@mixin calc($property, $expression) {\\n #{$property}: -moz-calc(#{$expression});\\n #{$property}: -webkit-calc(#{$expression});\\n #{$property}: calc(#{$expression});\\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$light-gray: #f6f5f4;\\n\\n$primary-brand: #FE5000;\\n\\n$primary-background: #3767C7;\\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: #f4f4f4;\\n$disabled-border: #dedede;\\n$disabled-text: #707070;\\n\\n\\n$light-green: #8fff33;\\n$light-yellow: #ffEb3b;\\n$light-red: #ff4a2e;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `.gn-shortcut-button{width:40px;height:40px;background:none;border:none;cursor:pointer}.gn-shortcut-button svg{width:25px;height:25px;stroke:#2f3940;fill:none;-moz-transition:all .1s linear 0s;-o-transition:all .1s linear 0s;-webkit-transition:all .1s linear 0s;transition:all .1s linear 0s;stroke-width:2px}.gn-shortcut-button:hover svg{stroke:#fe5000;fill:#fe5000}.gn-shortcut-button.active svg{stroke:#fe5000;fill:#fe5000}.gn-shortcut-button.active:hover svg{stroke:#2f3940;fill:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-shortcut-button/gn-shortcut-button.scss\",\"webpack://./style/variables/_colors.scss\",\"webpack://./style/mixins/_transition.scss\"],\"names\":[],\"mappings\":\"AAGA,oBACI,UAAA,CACA,WAAA,CACA,eAAA,CACA,WAAA,CACA,cAAA,CACA,wBACI,UAAA,CACA,WAAA,CACA,cCLM,CDMN,SAAA,CEZJ,iCFaI,CEZJ,+BFYI,CEXJ,oCFWI,CEVJ,4BFUI,CACA,gBAAA,CAGA,8BACI,cCRI,CDSJ,YCTI,CDcR,+BACI,cCfI,CDgBJ,YChBI,CDmBJ,qCACI,cCxBF,CDyBE,SAAA\",\"sourcesContent\":[\"@use \\\"../../style/mixins/transition\\\";\\n@use \\\"../../style/variables/colors\\\";\\n\\n.gn-shortcut-button {\\n width: 40px;\\n height: 40px;\\n background: none;\\n border: none;\\n cursor: pointer;\\n & svg {\\n width: 25px;\\n height: 25px;\\n stroke: colors.$default-text;\\n fill: none;\\n @include transition.transition(all 0.1s linear 0s);\\n stroke-width: 2px;\\n }\\n &:hover {\\n & svg {\\n stroke: colors.$primary-brand;\\n fill: colors.$primary-brand;\\n }\\n }\\n\\n &.active {\\n & svg {\\n stroke: colors.$primary-brand;\\n fill: colors.$primary-brand;\\n }\\n &:hover {\\n & svg {\\n stroke: colors.$default-text;\\n fill: none;\\n }\\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$light-gray: #f6f5f4;\\n\\n$primary-brand: #FE5000;\\n\\n$primary-background: #3767C7;\\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: #f4f4f4;\\n$disabled-border: #dedede;\\n$disabled-text: #707070;\\n\\n\\n$light-green: #8fff33;\\n$light-yellow: #ffEb3b;\\n$light-red: #ff4a2e;\\n\",\"@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\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `:host{display:none}.align-right{display:flex;justify-content:flex-end;gap:.5em}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-shortcut-button/template.scss\"],\"names\":[],\"mappings\":\"AAAA,MACI,YAAA,CAEJ,aACI,YAAA,CACA,wBAAA,CACA,QAAA\",\"sourcesContent\":[\":host {\\n display: none;\\n}\\n.align-right {\\n display: flex;\\n justify-content: flex-end;\\n gap: 0.5em;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\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 default \"<template>\\n <slot></slot>\\n</template>\\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","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\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 return [content].concat([sourceMapping]).join(\"\\n\");\n }\n return [content].join(\"\\n\");\n};","// 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, `::slotted(button),::slotted(a),::slotted(.color-default){-moz-transition:all .35s linear 0s;-o-transition:all .35s linear 0s;-webkit-transition:all .35s linear 0s;transition:all .35s linear 0s;-webkit-border-radius:4px;border-radius:4px;font-family:\"Open Sans\",sans-serif;font-weight:400;font-size:12pt;font-style:normal;text-align:center;vertical-align:middle;border:1px solid rgba(0,0,0,0);cursor:pointer;display:inline-block;height:34px;line-height:16pt;text-decoration:none;background-position:50%;padding:5px 8px;box-sizing:border-box;background-color:#eee;color:#2f3940;border-color:#d8d8d8}::slotted(.is-hovered),::slotted(.color-default.is-hovered){background-color:#ddd}::slotted(.color-primary){text-decoration:none;background-color:#3767c7;color:#fff}::slotted(.color-primary.is-hovered){background-color:#fe5000}::slotted(.color-success){text-decoration:none;background-color:#06a755;color:#fff}::slotted(.color-success.is-hovered){background-color:#009745}::slotted(.color-warning){text-decoration:none;background-color:#c38621;color:#fff}::slotted(.color-warning.is-hovered){background-color:#b37611}::slotted(.color-danger){text-decoration:none;background-color:#e00d0d;color:#fff}::slotted(.color-danger.is-hovered){background-color:#d00000}::slotted(button[disabled]),::slotted(a[disabled]){background-color:#f4f4f4;color:#707070;border:1px solid #dedede;cursor:not-allowed;pointer-events:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-button/template.scss\",\"webpack://./style/mixins/_transition.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/variables/_typography.scss\",\"webpack://./style/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAKA,yDCJI,kCDOA,CCNA,gCDMA,CCLA,qCDKA,CCJA,6BDIA,CEPF,yBFQuC,CEPvC,iBFOuC,CACrC,kCGVW,CHWX,eAAA,CACA,cAAA,CACA,iBAAA,CACA,iBAAA,CACA,qBAAA,CACA,8BAAA,CACA,cAAA,CACA,oBAAA,CACA,WAAA,CACA,gBAAA,CACA,oBAAA,CACA,uBAAA,CACA,eAAA,CACA,qBAAA,CACA,qBIpBiB,CJqBjB,aInBU,CJoBV,oBIxBa,CJ2BjB,4DAEI,qBI1BuB,CJ6B3B,0BACI,oBAAA,CACA,wBIxBiB,CJyBjB,UAAA,CAGJ,qCACI,wBI5BuB,CJ+B3B,0BACI,oBAAA,CACA,wBI5BiB,CJ6BjB,UAAA,CAEJ,qCACI,wBI/BuB,CJkC3B,0BACI,oBAAA,CACA,wBIhCiB,CJiCjB,UAAA,CAEJ,qCACI,wBInCuB,CJqC3B,yBACI,oBAAA,CACA,wBIpCgB,CJqChB,UAAA,CAGJ,oCACI,wBIxCsB,CJ2C1B,mDAEI,wBI1CkB,CJ2ClB,aIzCY,CJ0CZ,wBAAA,CACA,kBAAA,CACA,mBAAA\",\"sourcesContent\":[\"@use \\\"../../style/mixins/border-radius\\\";\\n@use \\\"../../style/mixins/transition\\\";\\n@use \\\"../../style/variables/colors\\\";\\n@use \\\"../../style/variables/typography\\\";\\n\\n::slotted(button),\\n::slotted(a),\\n::slotted(.color-default) {\\n @include transition.transition(all 0.35s linear 0s);\\n @include border-radius.border-radius(4px);\\n font-family: typography.$default-font;\\n font-weight: 400;\\n font-size: 12pt;\\n font-style: normal;\\n text-align: center;\\n vertical-align: middle;\\n border: 1px solid transparent;\\n cursor: pointer;\\n display: inline-block;\\n height: 34px;\\n line-height: 16pt;\\n text-decoration: none;\\n background-position: 50%;\\n padding: 5px 8px;\\n box-sizing: border-box;\\n background-color: colors.$default-background;\\n color: colors.$default-text;\\n border-color: colors.$default-border;\\n}\\n\\n::slotted(.is-hovered),\\n::slotted(.color-default.is-hovered) {\\n background-color: colors.$default-background-hover;\\n}\\n\\n::slotted(.color-primary) {\\n text-decoration: none;\\n background-color: colors.$primary-background;\\n color: #fff;\\n}\\n\\n::slotted(.color-primary.is-hovered) {\\n background-color: colors.$primary-background-hover;\\n}\\n\\n::slotted(.color-success) {\\n text-decoration: none;\\n background-color: colors.$success-background;\\n color: #fff;\\n}\\n::slotted(.color-success.is-hovered) {\\n background-color: colors.$success-background-hover;\\n}\\n\\n::slotted(.color-warning) {\\n text-decoration: none;\\n background-color: colors.$warning-background;\\n color: #fff;\\n}\\n::slotted(.color-warning.is-hovered) {\\n background-color: colors.$warning-background-hover;\\n}\\n::slotted(.color-danger) {\\n text-decoration: none;\\n background-color: colors.$danger-background;\\n color: #fff;\\n}\\n\\n::slotted(.color-danger.is-hovered) {\\n background-color: colors.$danger-background-hover;\\n}\\n\\n::slotted(button[disabled]),\\n::slotted(a[disabled]) {\\n background-color: colors.$disabled-background;\\n color: colors.$disabled-text;\\n border: 1px solid colors.$disabled-border;\\n cursor: not-allowed;\\n pointer-events: none;\\n}\\n\",\"@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 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}\",\"$default-font: \\\"Open Sans\\\", sans-serif;\\n$header-font: \\\"Raleway\\\", sans-serif;\\n$default-font-size: 15px;\\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$light-gray: #f6f5f4;\\n\\n$primary-brand: #FE5000;\\n\\n$primary-background: #3767C7;\\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: #f4f4f4;\\n$disabled-border: #dedede;\\n$disabled-text: #707070;\\n\\n\\n$light-green: #8fff33;\\n$light-yellow: #ffEb3b;\\n$light-red: #ff4a2e;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `gn-dialog{position:absolute}gn-dialog heading-text h1,gn-dialog heading-text h2,gn-dialog heading-text h3,gn-dialog heading-text h4,gn-dialog heading-text h5{margin-top:0}gn-dialog heading-text h1:before,gn-dialog heading-text h2:before,gn-dialog heading-text h3:before,gn-dialog heading-text h4:before,gn-dialog heading-text h5:before{margin-top:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-dialog/gn-dialog.scss\"],\"names\":[],\"mappings\":\"AAAA,UACG,iBAAA,CAEG,kIAKG,YAAA,CACA,qKACG,YAAA\",\"sourcesContent\":[\"gn-dialog {\\n position: absolute;\\n heading-text {\\n h1,\\n h2,\\n h3,\\n h4,\\n h5 {\\n margin-top: 0;\\n &:before {\\n margin-top: 0;\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `:host{margin-bottom:16px}:host([block]){display:block}:host:not([block]){display:inline-block}:host([inlineblock]){margin-right:16px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-field-container/template.scss\"],\"names\":[],\"mappings\":\"AAAA,MACI,kBAAA,CAGJ,eACI,aAAA,CAGJ,mBACI,oBAAA,CAGJ,qBACI,iBAAA\",\"sourcesContent\":[\":host {\\n margin-bottom: 16px;\\n}\\n\\n:host([block]) {\\n display: block;\\n}\\n\\n:host:not([block]) {\\n display: inline-block;\\n}\\n\\n:host([inlineblock]) {\\n margin-right: 16px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `:host h1.heading,:host ::slotted(h1.heading),:host ::slotted(.heading[size=\"1\"]){font-family:\"Raleway\",sans-serif !important;color:#2f3940 !important;font-size:30px !important;font-weight:200 !important}@media(min-width: 768px){:host h1.heading,:host ::slotted(h1.heading),:host ::slotted(.heading[size=\"1\"]){font-size:48px !important;font-weight:100 !important}}:host h1.heading[underline]:after,:host ::slotted(h1.heading[underline]):after,:host ::slotted(.heading[size=\"1\"][underline]):after{content:\"\";display:block;width:75px;border-bottom:3px solid #fe5000;margin:5px 0 15px}@media(min-width: 768px){:host h1.heading[underline]:after,:host ::slotted(h1.heading[underline]):after,:host ::slotted(.heading[size=\"1\"][underline]):after{width:100px;border-bottom:5px solid #fe5000;margin:10px 0 20px}}:host h2.heading,:host ::slotted(h2.heading),:host ::slotted(.heading[size=\"2\"]){font-family:\"Raleway\",sans-serif !important;color:#2f3940 !important;font-size:26px !important;line-height:30px !important;font-weight:300 !important;display:inline !important;margin-bottom:10px !important;margin-top:20px !important}@media(min-width: 768px){:host h2.heading,:host ::slotted(h2.heading),:host ::slotted(.heading[size=\"2\"]){font-size:32px !important;line-height:40px !important}}:host h2.heading:before,:host ::slotted(h2.heading):before,:host ::slotted(.heading[size=\"2\"]):before{content:\"\";display:block;margin-top:46px}:host h2.heading:after,:host ::slotted(h2.heading):after,:host ::slotted(.heading[size=\"2\"]):after{content:\"\";display:block;margin-bottom:15px}:host h2.heading[underline]:after,:host ::slotted(h2.heading[underline]):after,:host ::slotted(.heading[size=\"2\"][underline]):after{content:\"\";display:block;width:25px;border-bottom:2px solid #fe5000}@media(min-width: 768px){:host h2.heading[underline]:after,:host ::slotted(h2.heading[underline]):after,:host ::slotted(.heading[size=\"2\"][underline]):after{width:50px;border-bottom:2px solid #fe5000}}:host h3.heading,:host ::slotted(h3.heading),:host ::slotted(.heading[size=\"3\"]){font-family:\"Open Sans\",sans-serif !important;color:#2f3940 !important;font-size:22px !important;font-weight:300 !important;margin-bottom:0 !important;margin-top:20px !important}@media(min-width: 768px){:host h3.heading,:host ::slotted(h3.heading),:host ::slotted(.heading[size=\"3\"]){font-size:24px !important}}:host h4.heading,:host ::slotted(h4.heading),:host ::slotted(.heading[size=\"4\"]){font-family:\"Open Sans\",sans-serif !important;color:#2f3940 !important;font-size:18px !important;font-weight:300 !important;margin-bottom:0 !important;margin-top:12px !important}:host h5.heading,:host ::slotted(h5.heading),:host ::slotted(.heading[size=\"5\"]){font-family:\"Open Sans\",sans-serif !important;color:#2f3940 !important;font-size:15px !important;font-weight:600 !important;margin-bottom:0 !important;margin-top:8px !important}@media(min-width: 768px){:host h5.heading,:host ::slotted(h5.heading),:host ::slotted(.heading[size=\"5\"]){font-size:16px !important}}:host ::slotted(.heading.no-margin){margin-top:0}:host ::slotted(.heading.no-margin)::before{margin-top:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/heading-text/template.scss\",\"webpack://./style/mixins/_breakpoints.scss\"],\"names\":[],\"mappings\":\"AAKI,iFAGI,2CAAA,CACA,wBAAA,CACA,yBAAA,CACA,0BAAA,CCCA,yBDPJ,iFAQQ,yBAAA,CACA,0BAAA,CAAA,CAOJ,oIACI,UAAA,CACA,aAAA,CACA,UAAA,CACA,+BAAA,CACA,iBAAA,CCdJ,yBDSA,oIAOQ,WAAA,CACA,+BAAA,CACA,kBAAA,CAAA,CAKZ,iFAGI,2CAAA,CACA,wBAAA,CACA,yBAAA,CACA,2BAAA,CACA,0BAAA,CACA,yBAAA,CACA,6BAAA,CACA,0BAAA,CCjCA,yBDuBJ,iFAYQ,yBAAA,CACA,2BAAA,CAAA,CAEJ,sGACI,UAAA,CACA,aAAA,CACA,eAAA,CAEJ,mGACI,UAAA,CACA,aAAA,CACA,kBAAA,CAOJ,oIACI,UAAA,CACA,aAAA,CACA,UAAA,CACA,+BAAA,CCzDJ,yBDqDA,oIAMQ,UAAA,CACA,+BAAA,CAAA,CAKZ,iFAGI,6CAAA,CACA,wBAAA,CACA,yBAAA,CACA,0BAAA,CACA,0BAAA,CACA,0BAAA,CCzEA,yBDiEJ,iFAUQ,yBAAA,CAAA,CAIR,iFAGI,6CAAA,CACA,wBAAA,CACA,yBAAA,CACA,0BAAA,CACA,0BAAA,CACA,0BAAA,CAGJ,iFAGI,6CAAA,CACA,wBAAA,CACA,yBAAA,CACA,0BAAA,CACA,0BAAA,CACA,yBAAA,CClGA,yBD0FJ,iFAUQ,yBAAA,CAAA,CAIR,oCACI,YAAA,CACA,4CACI,YAAA\",\"sourcesContent\":[\"@use \\\"../../style/mixins/breakpoints\\\";\\n@use \\\"../../style/variables/colors\\\";\\n@use \\\"../../style/variables/typography\\\";\\n\\n:host {\\n h1.heading,\\n ::slotted(h1.heading),\\n ::slotted(.heading[size=\\\"1\\\"]) {\\n font-family: typography.$header-font !important;\\n color: colors.$default-text !important;\\n font-size: 30px !important;\\n font-weight: 200 !important;\\n @include breakpoints.breakpoint(tablet) {\\n font-size: 48px !important;\\n font-weight: 100 !important;\\n }\\n }\\n\\n h1.heading[underline],\\n ::slotted(h1.heading[underline]),\\n ::slotted(.heading[size=\\\"1\\\"][underline]) {\\n &:after {\\n content: \\\"\\\";\\n display: block;\\n width: 75px;\\n border-bottom: 3px solid colors.$primary-brand;\\n margin: 5px 0 15px;\\n @include breakpoints.breakpoint(tablet) {\\n width: 100px;\\n border-bottom: 5px solid colors.$primary-brand;\\n margin: 10px 0 20px;\\n }\\n }\\n }\\n\\n h2.heading,\\n ::slotted(h2.heading),\\n ::slotted(.heading[size=\\\"2\\\"]) {\\n font-family: typography.$header-font !important;\\n color: colors.$default-text !important;\\n font-size: 26px !important;\\n line-height: 30px !important;\\n font-weight: 300 !important;\\n display: inline !important;\\n margin-bottom: 10px !important;\\n margin-top: 20px !important;\\n @include breakpoints.breakpoint(tablet) {\\n font-size: 32px !important;\\n line-height: 40px !important;\\n }\\n &:before {\\n content: \\\"\\\";\\n display: block;\\n margin-top: 46px;\\n }\\n &:after {\\n content: \\\"\\\";\\n display: block;\\n margin-bottom: 15px;\\n }\\n }\\n\\n h2.heading[underline],\\n ::slotted(h2.heading[underline]),\\n ::slotted(.heading[size=\\\"2\\\"][underline]) {\\n &:after {\\n content: \\\"\\\";\\n display: block;\\n width: 25px;\\n border-bottom: 2px solid colors.$primary-brand;\\n @include breakpoints.breakpoint(tablet) {\\n width: 50px;\\n border-bottom: 2px solid colors.$primary-brand;\\n }\\n }\\n }\\n\\n h3.heading,\\n ::slotted(h3.heading),\\n ::slotted(.heading[size=\\\"3\\\"]) {\\n font-family: typography.$default-font !important;\\n color: colors.$default-text !important;\\n font-size: 22px !important;\\n font-weight: 300 !important;\\n margin-bottom: 0 !important;\\n margin-top: 20px !important;\\n @include breakpoints.breakpoint(tablet) {\\n font-size: 24px !important;\\n }\\n }\\n\\n h4.heading,\\n ::slotted(h4.heading),\\n ::slotted(.heading[size=\\\"4\\\"]) {\\n font-family: typography.$default-font !important;\\n color: colors.$default-text !important;\\n font-size: 18px !important;\\n font-weight: 300 !important;\\n margin-bottom: 0 !important;\\n margin-top: 12px !important;\\n }\\n\\n h5.heading,\\n ::slotted(h5.heading),\\n ::slotted(.heading[size=\\\"5\\\"]) {\\n font-family: typography.$default-font !important;\\n color: colors.$default-text !important;\\n font-size: 15px !important;\\n font-weight: 600 !important;\\n margin-bottom: 0 !important;\\n margin-top: 8px !important;\\n @include breakpoints.breakpoint(tablet) {\\n font-size: 16px !important;\\n }\\n }\\n\\n ::slotted(.heading.no-margin) {\\n margin-top: 0;\\n &::before {\\n margin-top: 0;\\n }\\n }\\n}\\n\",\"@use \\\"../variables/breakpoints\\\";\\n\\n@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: breakpoints.$screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: breakpoints.$screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: breakpoints.$screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: breakpoints.$screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","export const getFocusableElementsInsideElement = (element: HTMLElement) => {\n return element.querySelectorAll('button, [href], input, [tabindex=\"0\"]');\n};\n\nexport const getDocumentHeading = () => {\n let documentHeading = document.querySelector(\"heading-text\") as HTMLElement | null; // This assumes that the heading is wrapped in a custom element called \"heading-text\"\n if (!documentHeading) {\n documentHeading = document.querySelector(\"h1:not(.sb-nopreview_heading.sb-heading)\") as HTMLElement | null; // Exclude the heading used by Storybook\n }\n return documentHeading;\n};\n\nexport const addGlobalStylesheet = (styleElementId: string, styles: string) => {\n const style = document.createElement(\"style\");\n style.setAttribute(\"id\", styleElementId);\n style.textContent = styles;\n if (!document.getElementById(styleElementId)) {\n document.head.appendChild(style);\n }\n};\n\nexport const removeInnerHTML = (element: HTMLElement) => {\n while (element.firstChild) {\n if (element.contains(element.firstChild)) {\n element.removeChild(element.firstChild);\n } else {\n // If not a child, break to avoid infinite loop\n break;\n }\n }\n};\n","export default \"<template>\\n <div id=\\\"input-container\\\" class=\\\"input-container\\\">\\n <slot></slot>\\n </div>\\n</template>\\n\";","export default \"<template>\\n <div id=\\\"dialog-container\\\" class=\\\"dialog-container\\\">\\n <div id=\\\"dialog-content\\\" class=\\\"dialog-content\\\">\\n <button id=\\\"close-dialog-button\\\" class=\\\"close-dialog-button\\\"></button>\\n <slot></slot>\\n </div>\\n </div>\\n</template>\\n\";","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};","export default \"<template>\\n <slot></slot>\\n</template>\\n\";","export default \"<template>\\n <button id=\\\"gn-shortcut-button\\\" class=\\\"gn-shortcut-button\\\"></button>\\n <gn-dialog id=\\\"add-shortcut-dialog\\\" width=\\\"400px\\\">\\n <body-text>\\n <heading-text>\\n <h2>Lagre snarvei</h2>\\n </heading-text>\\n <gn-field-container block>\\n <span id=\\\"input-description\\\" style=\\\"margin-bottom: 4px; display: block\\\">\\n Velg et navn som gjør det enkelt å huske snarveien, og finn den igjen under Mine snarveier.\\n </span>\\n <gn-input block fullwidth>\\n <input\\n id=\\\"shortcut-name-input\\\"\\n placeholder=\\\"Skriv inn snarveinavn\\\"\\n aria-describedby=\\\"input-description\\\"\\n />\\n </gn-input>\\n </gn-field-container>\\n <div class=\\\"align-right\\\">\\n <gn-button id=\\\"cancel-add-shortcut-button\\\"><button>Avbryt</button></gn-button>\\n <gn-button id=\\\"save-shortcut-button\\\" color=\\\"primary\\\"><button>Lagre</button></gn-button>\\n </div>\\n </body-text>\\n </gn-dialog>\\n <gn-dialog id=\\\"remove-shortcut-dialog\\\" width=\\\"400px\\\">\\n <heading-text>\\n <h2>Fjern snarvei</h2>\\n </heading-text>\\n <body-text>\\n <span style=\\\"margin-bottom: 4px; display: block\\\">Er du sikker på at du vil fjerne snarveien?</span>\\n </body-text>\\n <div class=\\\"align-right\\\">\\n <gn-button id=\\\"cancel-remove-shortcut-button\\\"><button>Avbryt</button></gn-button>\\n <gn-button id=\\\"remove-shortcut-button\\\" color=\\\"primary\\\"><button>Fjern snarvei</button></gn-button>\\n </div>\\n </gn-dialog>\\n</template>\\n\";","// Dependencies\nimport { Component, CustomElement, CustomElementOptions, Prop, Toggle } from \"super-custom-elements\";\n\ninterface HeadingTextOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"heading-text\",\n template: import(\"./heading-text.html\"),\n style: import(\"./template.scss\")\n})\nexport class HeadingText extends CustomElement {\n @Prop() size: string;\n @Prop() tag: string;\n @Toggle() underline: boolean;\n\n constructor() {\n super();\n }\n\n connectedCallback() {\n const slot = this.shadowRoot?.querySelector(\"slot\");\n\n const isInsideDialog = this.closest(\"gn-dialog\") !== null;\n\n if (slot) {\n const applyBaseClass = () => {\n const assignedElements = slot.assignedElements({ flatten: true });\n assignedElements.forEach((el) => {\n if (/^h[1-6]$/i.test(el.tagName)) {\n el.classList.add(\"heading\");\n }\n });\n };\n const applyNoMargin = () => {\n const assignedElements = slot.assignedElements({ flatten: true });\n assignedElements.forEach((el) => {\n if (/^h[1-6]$/i.test(el.tagName)) {\n el.classList.add(\"no-margin\");\n }\n });\n };\n\n // Initial attempt\n applyBaseClass();\n if (isInsideDialog) {\n applyNoMargin();\n }\n\n // In case content is added after render\n slot.addEventListener(\"slotchange\", () => {\n applyBaseClass();\n if (isInsideDialog) {\n applyNoMargin();\n }\n });\n }\n }\n\n setup(options?: HeadingTextOptions): void {}\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","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 getMinSideShortcutApiUrl = (environment: string, shortcutUrl?: string) => {\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? environment + \".\" : \"\";\n const urlParameterString = shortcutUrl?.length ? `?${new URLSearchParams({ url: shortcutUrl }).toString()}` : \"\";\n return `https://minside.${environmentSlug}geonorge.no/api/shortcut${urlParameterString}`;\n};\nexport const getMinSideShortcutUrl = (environment: string) => {\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? environment + \".\" : \"\";\n return `https://minside.${environmentSlug}geonorge.no/shortcuts`;\n};\n\nexport const fetchShortcutItem = async (environment: string = \"\", token: string, shortcutUrl: string) => {\n const apiUrl = getMinSideShortcutApiUrl(environment, shortcutUrl);\n const fetchOptions = {\n method: \"GET\",\n headers: new Headers({\n Authorization: `Bearer ${token}`\n })\n };\n try {\n return fetch(apiUrl, fetchOptions).then((res) => {\n if (res.status === 200) {\n return res.json().then((shortcutItem) => {\n return shortcutItem;\n });\n } else {\n return null;\n }\n });\n } catch (error) {\n console.error(\"Error fetching shortcut items:\", error);\n return null;\n }\n};\n\nexport const postShortcutItem = async (\n environment: string = \"\",\n token: string,\n shortcutItem: { name: string; url: string }\n) => {\n const apiUrl = getMinSideShortcutApiUrl(environment);\n const fetchOptions = {\n method: \"POST\",\n headers: new Headers({\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\"\n }),\n body: JSON.stringify(shortcutItem)\n };\n return fetch(apiUrl, fetchOptions)\n .then((res) => res.json())\n .then((shortcutItem) => {\n return shortcutItem;\n });\n};\n\nexport const deleteShortcutItem = async (environment: string = \"\", token: string, shortcutItem: { url: string }) => {\n const apiUrl = getMinSideShortcutApiUrl(environment);\n const fetchOptions = {\n method: \"DELETE\",\n headers: new Headers({\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\"\n }),\n body: JSON.stringify(shortcutItem)\n };\n return fetch(apiUrl, fetchOptions);\n};\n\nexport const getGeonorgeMenuUrl = (language: string, environment: string) => {\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? \"test.\" : \"\";\n const selectedLanguageSlug = language === \"en\" ? \"en/\" : \"\";\n if (environment === \"dev\") return `https://dev.geonorge.no/menu.xml`;\n else 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)\n .then((res) => res.json())\n .then((menuItems) => {\n return menuItems;\n });\n};\n\nexport const fetchDropdownSearchResults = async (\n searchString: string = \"\",\n language: string = \"no\",\n environment: string = \"\"\n) => {\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\n ? await Promise.all(\n 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 })\n )\n : null;\n};\n","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\"><path d=\\\"M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\\\"></path></svg>\"","// Dependencies\nimport { Component, CustomElement, CustomElementOptions } from \"super-custom-elements\";\n\ninterface GnFieldContainerOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"gn-field-container\",\n template: import(\"./gn-field-container.html\"),\n style: import(\"./template.scss\")\n})\nexport class GnFieldContainer extends CustomElement {\n constructor() {\n super();\n }\n\n setup(options?: GnFieldContainerOptions): void {}\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__(376);\n"],"names":["root","factory","exports","module","define","amd","self","GnDialog","CustomElement","constructor","super","handleClickOutside","event","dialogContentElement","getShadowRootElement","this","hasClickedInsideSlot","shadowRoot","querySelector","assignedElements","some","assignedSlotElement","contains","target","hasClickedInsideDialogChild","hideDialog","setAttribute","keyDownFunction","keyCode","addGlobalStylesheet","connectedCallback","closeDialogButtonElement","innerHTML","addEventListener","document","disconnectedCallback","removeEventListener","shouldShowDialog","show","toString","shouldHaveNoPadding","noPadding","showMenuChanged","dialogContainerElement","classList","add","remove","nopaddingChanged","nopadding","overflowChanged","overflow","length","style","widthChanged","maxWidth","width","setup","options","Toggle","Prop","Watch","Component","tag","template","cssWithMappingToString","list","map","item","content","needLayer","concat","join","i","modules","media","dedupe","supports","layer","undefined","alreadyImportedModules","k","id","_k","push","Listen","eventName","selector","methodName","listeners","handler","addEventListeners","targetRoot","listener","eventTarget","e","call","Dispatch","propertyName","Object","defineProperty","get","emit","evtName","toDotCase","dispatchEvent","CustomEvent","GnShortcutButton","connect","container","addShortcutDialogElement","removeShortcutDialogElement","saveShortcutButtonElement","removeShortcutButtonElement","cancelAddShortcutButtonElement","cancelRemoveShortcutButtonElement","GnButton","GnFieldContainer","GnInput","BodyText","HeadingText","initShortcutNameInput","getShortcutItem","environment","token","fetchShortcutItem","window","location","href","error","console","saveShortcut","shortcutData","name","shortcutName","title","url","postShortcutItem","then","replaceShortcutButton","catch","removeShortcut","deleteShortcutItem","openDialog","shortcutIsAdded","shortcutNameInputElement","value","removeAttribute","closeDialog","renderShortcutButton","shortcutButton","createElement","language","onclick","getAuthToken","key","preventDefault","click","newButton","replaceWith","firstHeading","getDocumentHeading","after","appendShortcutButtonAfterFirstHeading","headingContainer","display","alignItems","justifyContent","parentNode","insertBefore","appendChild","trim","firstElementChild","tokenChanged","setTimeout","element","getElement","___CSS_LOADER_EXPORT___","attrName","watchAttributes","toKebabCase","propsInit","str","replace","toLowerCase","toCamelCase","m","toUpperCase","tryParseInt","parseInt","NaN","parseFloat","handleMouseEnter","currentTarget","handleMouseLeave","requestAnimationFrame","applyColorClass","onColorChange","slotEl","colorClassPrefix","flatten","forEach","el","cls","startsWith","color","customElement","HTMLElement","isConnected","propName","hasAttribute","attrValue","getAttribute","test","set","oldValue","warn","__connected","props","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","getFocusableElementsInsideElement","querySelectorAll","documentHeading","styleElementId","styles","textContent","getElementById","head","removeInnerHTML","firstChild","removeChild","onAttributeChange","initializeProps","prop","plainAttributes","keys","v","cycleProps","getProps","attribValue","new","slot","isInsideDialog","closest","applyBaseClass","tagName","applyNoMargin","args","prototype","showShadowRoot","shadow","attachShadow","mode","observedAttributes","x","attributeChangedCallback","newValue","methodToCall","old","render","getStyle","Promise","getExternalTemplate","cloneNode","markup","default","fragment","createRange","createContextualFragment","children","nodeName","css","ready","resolve","_","customElements","getKartkatalogApiUrl","getMinSideShortcutApiUrl","shortcutUrl","URLSearchParams","getMinSideShortcutUrl","apiUrl","fetchOptions","method","headers","Headers","Authorization","fetch","res","status","json","shortcutItem","body","getGeonorgeMenuUrl","fetchMenuItems","menuItems","fetchDropdownSearchResults","searchString","urlParameterStrings","dataset","series","service","servicelayer","software","articles","all","searchResultsType","kartkatalogApiUrl","searchResults","__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":"GnShortcutButton.js","mappings":"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","sources":["webpack://geonorge/webpack/universalModuleDefinition","webpack://geonorge/./stories/body-text/body-text.scss","webpack://geonorge/./stories/gn-button/template.scss","webpack://geonorge/./stories/gn-dialog/gn-dialog.scss","webpack://geonorge/./stories/gn-dialog/template.scss","webpack://geonorge/./stories/gn-field-container/template.scss","webpack://geonorge/./stories/gn-input/template.scss","webpack://geonorge/./stories/gn-shortcut-button/gn-shortcut-button.scss","webpack://geonorge/./stories/gn-shortcut-button/template.scss","webpack://geonorge/./stories/heading-text/template.scss","webpack://geonorge/./stories/body-text/body-text.html","webpack://geonorge/./stories/gn-button/gn-button.html","webpack://geonorge/./stories/gn-dialog/gn-dialog.html","webpack://geonorge/./stories/gn-field-container/gn-field-container.html","webpack://geonorge/./stories/gn-input/gn-input.html","webpack://geonorge/./stories/gn-shortcut-button/gn-shortcut-button.html","webpack://geonorge/./stories/heading-text/heading-text.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/close-icon-black.svg","webpack://geonorge/./assets/svg/star.svg","webpack://geonorge/./functions/apiHelpers.ts","webpack://geonorge/./functions/guiHelpers.ts","webpack://geonorge/./stories/body-text/body-text.ts","webpack://geonorge/./stories/gn-button/gn-button.ts","webpack://geonorge/./stories/gn-dialog/gn-dialog.ts","webpack://geonorge/./stories/gn-field-container/gn-field-container.ts","webpack://geonorge/./stories/gn-input/gn-input.ts","webpack://geonorge/./stories/gn-shortcut-button/gn-shortcut-button.ts","webpack://geonorge/./stories/heading-text/heading-text.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\"][\"GnShortcutButton\"] = 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, `:host,::slotted(*){font-family:\"Open Sans\",sans-serif;font-size:15px;color:#2f3940;line-height:24px;font-weight:300}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/body-text/body-text.scss\",\"webpack://./style/variables/_typography.scss\"],\"names\":[],\"mappings\":\"AAGA,mBAEI,kCCLW,CDMX,cCJgB,CDKhB,aAAA,CACA,gBAAA,CACA,eAAA\",\"sourcesContent\":[\"@use \\\"../../style/variables/colors\\\";\\n@use \\\"../../style/variables/typography\\\";\\n\\n:host,\\n::slotted(*) {\\n font-family: typography.$default-font;\\n font-size: typography.$default-font-size;\\n color: colors.$default-text;\\n line-height: 24px;\\n font-weight: 300;\\n}\\n\",\"$default-font: \\\"Open Sans\\\", sans-serif;\\n$header-font: \\\"Raleway\\\", sans-serif;\\n$default-font-size: 15px;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `::slotted(button),::slotted(a),::slotted(.color-default){-moz-transition:all .35s linear 0s;-o-transition:all .35s linear 0s;-webkit-transition:all .35s linear 0s;transition:all .35s linear 0s;-webkit-border-radius:4px;border-radius:4px;font-family:\"Open Sans\",sans-serif;font-weight:400;font-size:12pt;font-style:normal;text-align:center;vertical-align:middle;border:1px solid rgba(0,0,0,0);cursor:pointer;display:inline-block;height:34px;line-height:16pt;text-decoration:none;background-position:50%;padding:5px 8px;box-sizing:border-box;background-color:#eee;color:#2f3940;border-color:#d8d8d8}::slotted(.is-hovered),::slotted(.color-default.is-hovered){background-color:#ddd}::slotted(.color-primary){text-decoration:none;background-color:#3767c7;color:#fff}::slotted(.color-primary.is-hovered){background-color:#fe5000}::slotted(.color-success){text-decoration:none;background-color:#06a755;color:#fff}::slotted(.color-success.is-hovered){background-color:#009745}::slotted(.color-warning){text-decoration:none;background-color:#c38621;color:#fff}::slotted(.color-warning.is-hovered){background-color:#b37611}::slotted(.color-danger){text-decoration:none;background-color:#e00d0d;color:#fff}::slotted(.color-danger.is-hovered){background-color:#d00000}::slotted(button[disabled]),::slotted(a[disabled]){background-color:#f4f4f4;color:#707070;border:1px solid #dedede;cursor:not-allowed;pointer-events:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-button/template.scss\",\"webpack://./style/mixins/_transition.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/variables/_typography.scss\",\"webpack://./style/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAKA,yDCJI,kCDOA,CCNA,gCDMA,CCLA,qCDKA,CCJA,6BDIA,CEPF,yBFQuC,CEPvC,iBFOuC,CACrC,kCGVW,CHWX,eAAA,CACA,cAAA,CACA,iBAAA,CACA,iBAAA,CACA,qBAAA,CACA,8BAAA,CACA,cAAA,CACA,oBAAA,CACA,WAAA,CACA,gBAAA,CACA,oBAAA,CACA,uBAAA,CACA,eAAA,CACA,qBAAA,CACA,qBIpBiB,CJqBjB,aInBU,CJoBV,oBIxBa,CJ2BjB,4DAEI,qBI1BuB,CJ6B3B,0BACI,oBAAA,CACA,wBIxBiB,CJyBjB,UAAA,CAGJ,qCACI,wBI5BuB,CJ+B3B,0BACI,oBAAA,CACA,wBI5BiB,CJ6BjB,UAAA,CAEJ,qCACI,wBI/BuB,CJkC3B,0BACI,oBAAA,CACA,wBIhCiB,CJiCjB,UAAA,CAEJ,qCACI,wBInCuB,CJqC3B,yBACI,oBAAA,CACA,wBIpCgB,CJqChB,UAAA,CAGJ,oCACI,wBIxCsB,CJ2C1B,mDAEI,wBI1CkB,CJ2ClB,aIzCY,CJ0CZ,wBAAA,CACA,kBAAA,CACA,mBAAA\",\"sourcesContent\":[\"@use \\\"../../style/mixins/border-radius\\\";\\n@use \\\"../../style/mixins/transition\\\";\\n@use \\\"../../style/variables/colors\\\";\\n@use \\\"../../style/variables/typography\\\";\\n\\n::slotted(button),\\n::slotted(a),\\n::slotted(.color-default) {\\n @include transition.transition(all 0.35s linear 0s);\\n @include border-radius.border-radius(4px);\\n font-family: typography.$default-font;\\n font-weight: 400;\\n font-size: 12pt;\\n font-style: normal;\\n text-align: center;\\n vertical-align: middle;\\n border: 1px solid transparent;\\n cursor: pointer;\\n display: inline-block;\\n height: 34px;\\n line-height: 16pt;\\n text-decoration: none;\\n background-position: 50%;\\n padding: 5px 8px;\\n box-sizing: border-box;\\n background-color: colors.$default-background;\\n color: colors.$default-text;\\n border-color: colors.$default-border;\\n}\\n\\n::slotted(.is-hovered),\\n::slotted(.color-default.is-hovered) {\\n background-color: colors.$default-background-hover;\\n}\\n\\n::slotted(.color-primary) {\\n text-decoration: none;\\n background-color: colors.$primary-background;\\n color: #fff;\\n}\\n\\n::slotted(.color-primary.is-hovered) {\\n background-color: colors.$primary-background-hover;\\n}\\n\\n::slotted(.color-success) {\\n text-decoration: none;\\n background-color: colors.$success-background;\\n color: #fff;\\n}\\n::slotted(.color-success.is-hovered) {\\n background-color: colors.$success-background-hover;\\n}\\n\\n::slotted(.color-warning) {\\n text-decoration: none;\\n background-color: colors.$warning-background;\\n color: #fff;\\n}\\n::slotted(.color-warning.is-hovered) {\\n background-color: colors.$warning-background-hover;\\n}\\n::slotted(.color-danger) {\\n text-decoration: none;\\n background-color: colors.$danger-background;\\n color: #fff;\\n}\\n\\n::slotted(.color-danger.is-hovered) {\\n background-color: colors.$danger-background-hover;\\n}\\n\\n::slotted(button[disabled]),\\n::slotted(a[disabled]) {\\n background-color: colors.$disabled-background;\\n color: colors.$disabled-text;\\n border: 1px solid colors.$disabled-border;\\n cursor: not-allowed;\\n pointer-events: none;\\n}\\n\",\"@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 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}\",\"$default-font: \\\"Open Sans\\\", sans-serif;\\n$header-font: \\\"Raleway\\\", sans-serif;\\n$default-font-size: 15px;\\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$light-gray: #f6f5f4;\\n\\n$primary-brand: #FE5000;\\n\\n$primary-background: #3767C7;\\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: #f4f4f4;\\n$disabled-border: #dedede;\\n$disabled-text: #707070;\\n\\n\\n$light-green: #8fff33;\\n$light-yellow: #ffEb3b;\\n$light-red: #ff4a2e;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `gn-dialog{position:absolute}gn-dialog heading-text h1,gn-dialog heading-text h2,gn-dialog heading-text h3,gn-dialog heading-text h4,gn-dialog heading-text h5{margin-top:0}gn-dialog heading-text h1:before,gn-dialog heading-text h2:before,gn-dialog heading-text h3:before,gn-dialog heading-text h4:before,gn-dialog heading-text h5:before{margin-top:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-dialog/gn-dialog.scss\"],\"names\":[],\"mappings\":\"AAAA,UACG,iBAAA,CAEG,kIAKG,YAAA,CACA,qKACG,YAAA\",\"sourcesContent\":[\"gn-dialog {\\n position: absolute;\\n heading-text {\\n h1,\\n h2,\\n h3,\\n h4,\\n h5 {\\n margin-top: 0;\\n &:before {\\n margin-top: 0;\\n }\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `.dialog-container:not(.visible){display:none}.dialog-container.visible{display:flex;flex-wrap:wrap;position:fixed;width:100%;background:rgba(0,0,0,.25);height:100%;top:0;left:0;align-content:center;padding:8px 28px;z-index:2;justify-content:center;box-sizing:border-box}@media(min-width: 992px){.dialog-container.visible{padding:36px}}.dialog-container .dialog-content{max-height:-moz-calc(100% - 128px);max-height:-webkit-calc(100% - 128px);max-height:calc(100% - 128px);-webkit-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);-moz-box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);box-shadow:0 11px 15px -7px rgba(0,0,0,.2),0 24px 38px 3px rgba(0,0,0,.14),0 9px 46px 8px rgba(0,0,0,.12);-webkit-border-radius:4px;border-radius:4px;max-width:540px;width:100%;background-color:#fff;position:relative}.dialog-container .dialog-content:not(.noPadding){padding:28px 22px 22px}@media(min-width: 768px){.dialog-container .dialog-content:not(.noPadding){padding:38px 30px 30px}}.dialog-container .dialog-content.noPadding{padding:28px 0 0}@media(min-width: 768px){.dialog-container .dialog-content.noPadding{padding:38px 0 0}}@media(min-width: 992px){.dialog-container .dialog-content{width:-moz-calc(100% - 128px);width:-webkit-calc(100% - 128px);width:calc(100% - 128px);max-height:100%}}.dialog-container .dialog-content .close-dialog-button{background:none;border:none;color:#2f3940;display:inline-block;position:absolute;right:7px;top:4px;text-decoration:underline;font-size:19px;cursor:pointer;padding:0;right:8px;top:5px}@media(min-width: 768px){.dialog-container .dialog-content .close-dialog-button{right:15px;top:10px}}.dialog-container .dialog-content .close-dialog-button:hover{text-decoration:none}.dialog-container .dialog-content .close-dialog-button svg{width:17px;height:17px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-dialog/template.scss\",\"webpack://./style/mixins/_breakpoints.scss\",\"webpack://./style/mixins/_calc.scss\",\"webpack://./style/mixins/_box-shadow.scss\",\"webpack://./style/mixins/_border-radius.scss\",\"webpack://./style/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAOI,gCACI,YAAA,CAEJ,0BACI,YAAA,CACA,cAAA,CACA,cAAA,CACA,UAAA,CACA,0BAAA,CACA,WAAA,CACA,KAAA,CACA,MAAA,CACA,oBAAA,CACA,gBAAA,CACA,SAAA,CACA,sBAAA,CACA,qBAAA,CCfA,yBDEJ,0BAeQ,YAAA,CAAA,CAGR,kCE3BF,kCAAA,CACA,qCAAA,CACA,6BAAA,CCFE,iHH6BI,CG5BJ,8GH4BI,CG3BJ,yGH2BI,CI7BN,yBJkC2C,CIjC3C,iBJiC2C,CACrC,eAAA,CACA,UAAA,CACA,qBAAA,CACA,iBAAA,CACA,kDACI,sBAAA,CC7BJ,yBD4BA,kDAGQ,sBAAA,CAAA,CAGR,4CACI,gBAAA,CCnCJ,yBDkCA,4CAGQ,gBAAA,CAAA,CCzCR,yBDoBJ,kCE3BF,6BAAA,CACA,gCAAA,CACA,wBAAA,CFmDU,eAAA,CAAA,CAEJ,uDACI,eAAA,CACA,WAAA,CACA,aKpDE,CLqDF,oBAAA,CACA,iBAAA,CACA,SAAA,CACA,OAAA,CACA,yBAAA,CACA,cAAA,CACA,cAAA,CACA,SAAA,CACA,SAAA,CACA,OAAA,CCzDJ,yBD4CA,uDAeQ,UAAA,CACA,QAAA,CAAA,CAEJ,6DACI,oBAAA,CAEJ,2DACI,UAAA,CACA,WAAA\",\"sourcesContent\":[\"@use \\\"../../style/mixins/border-radius\\\";\\n@use \\\"../../style/mixins/box-shadow\\\";\\n@use \\\"../../style/mixins/breakpoints\\\";\\n@use \\\"../../style/mixins/calc\\\";\\n@use \\\"../../style/variables/colors\\\";\\n\\n.dialog-container {\\n &:not(.visible) {\\n display: none;\\n }\\n &.visible {\\n display: flex;\\n flex-wrap: wrap;\\n position: fixed;\\n width: 100%;\\n background: rgba(0, 0, 0, 0.25);\\n height: 100%;\\n top: 0;\\n left: 0;\\n align-content: center;\\n padding: 8px 28px;\\n z-index: 2;\\n justify-content: center;\\n box-sizing: border-box;\\n @include breakpoints.breakpoint(laptop) {\\n padding: 36px;\\n }\\n }\\n .dialog-content {\\n @include calc.calc(\\\"max-height\\\", \\\"100% - 128px\\\");\\n @include box-shadow.box-shadow(\\n 0 11px 15px -7px rgba(0, 0, 0, 0.2),\\n 0 24px 38px 3px rgba(0, 0, 0, 0.14),\\n 0 9px 46px 8px rgba(0, 0, 0, 0.12)\\n );\\n @include border-radius.border-radius(4px);\\n max-width: 540px;\\n width: 100%;\\n background-color: #fff;\\n position: relative;\\n &:not(.noPadding) {\\n padding: 28px 22px 22px;\\n @include breakpoints.breakpoint(tablet) {\\n padding: 38px 30px 30px;\\n }\\n }\\n &.noPadding {\\n padding: 28px 0 0;\\n @include breakpoints.breakpoint(tablet) {\\n padding: 38px 0 0;\\n }\\n }\\n @include breakpoints.breakpoint(laptop) {\\n @include calc.calc(\\\"width\\\", \\\"100% - 128px\\\");\\n max-height: 100%;\\n }\\n .close-dialog-button {\\n background: none;\\n border: none;\\n color: colors.$default-text;\\n display: inline-block;\\n position: absolute;\\n right: 7px;\\n top: 4px;\\n text-decoration: underline;\\n font-size: 19px;\\n cursor: pointer;\\n padding: 0;\\n right: 8px;\\n top: 5px;\\n @include breakpoints.breakpoint(tablet) {\\n right: 15px;\\n top: 10px;\\n }\\n &:hover {\\n text-decoration: none;\\n }\\n svg {\\n width: 17px;\\n height: 17px;\\n }\\n }\\n }\\n}\\n\",\"@use \\\"../variables/breakpoints\\\";\\n\\n@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: breakpoints.$screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: breakpoints.$screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: breakpoints.$screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: breakpoints.$screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\",\"@mixin calc($property, $expression) {\\n #{$property}: -moz-calc(#{$expression});\\n #{$property}: -webkit-calc(#{$expression});\\n #{$property}: calc(#{$expression});\\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$light-gray: #f6f5f4;\\n\\n$primary-brand: #FE5000;\\n\\n$primary-background: #3767C7;\\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: #f4f4f4;\\n$disabled-border: #dedede;\\n$disabled-text: #707070;\\n\\n\\n$light-green: #8fff33;\\n$light-yellow: #ffEb3b;\\n$light-red: #ff4a2e;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `:host{margin-bottom:16px}:host([block]){display:block}:host:not([block]){display:inline-block}:host([inlineblock]){margin-right:16px}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-field-container/template.scss\"],\"names\":[],\"mappings\":\"AAAA,MACI,kBAAA,CAGJ,eACI,aAAA,CAGJ,mBACI,oBAAA,CAGJ,qBACI,iBAAA\",\"sourcesContent\":[\":host {\\n margin-bottom: 16px;\\n}\\n\\n:host([block]) {\\n display: block;\\n}\\n\\n:host:not([block]) {\\n display: inline-block;\\n}\\n\\n:host([inlineblock]) {\\n margin-right: 16px;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `:host([block]){display:block}:host(:not([block])){display:inline-block}:host([fullwidth]){display:block}:host([fullwidth]) ::slotted(input){width:100%}:host([width]) ::slotted(input[type=text]),:host([width]) ::slotted(input[type=number]),:host([width]) ::slotted(input[type=email]),:host([width]) ::slotted(input[type=tel]),:host([width]) ::slotted(input[type=date]),:host([width]) ::slotted(input[type=datetime-local]),:host([width]) ::slotted(input[type=time]),:host([width]) ::slotted(input[type=url]),:host([width]) ::slotted(input[type=search]),:host([width]) ::slotted(input[type=password]),:host([width]) ::slotted(input:not([type])){width:100%}::slotted(input[type=text]),::slotted(input[type=number]),::slotted(input[type=email]),::slotted(input[type=tel]),::slotted(input[type=date]),::slotted(input[type=datetime-local]),::slotted(input[type=time]),::slotted(input[type=url]),::slotted(input[type=search]),::slotted(input[type=password]),::slotted(input:not([type])){-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-border-radius:4px;border-radius:4px;box-sizing:border-box;font-family:\"Open Sans\",sans-serif;font-size:16px;font-size:12pt;padding:0 8px;height:32px;box-shadow:none;position:relative;z-index:1;background-color:#fff;border:1px solid #d8d8d8;color:#2f3940}::slotted(input[type=text]:disabled),::slotted(input[type=number]:disabled),::slotted(input[type=email]:disabled),::slotted(input[type=tel]:disabled),::slotted(input[type=date]:disabled),::slotted(input[type=datetime-local]:disabled),::slotted(input[type=time]:disabled),::slotted(input[type=url]:disabled),::slotted(input[type=search]:disabled),::slotted(input[type=password]:disabled),::slotted(input:not([type]):disabled){background-color:#f4f4f4;color:#707070;border:1px solid #dedede;cursor:not-allowed}::slotted(input[type=checkbox]),::slotted(input[type=radio]){-webkit-appearance:none;-moz-appearance:none;appearance:none;border:2px solid #2f3940;font:inherit;color:currentColor;width:16px;height:16px;margin:0 6px 0 0}::slotted(input[type=checkbox]:checked),::slotted(input[type=radio]:checked){border-color:#3767c7}::slotted(input[type=checkbox]:focus-visible),::slotted(input[type=radio]:focus-visible){outline:max(2px,.1em) solid #3767c7;outline-offset:max(2px,.1em)}::slotted(input[type=checkbox]){-webkit-border-radius:3px;border-radius:3px;vertical-align:text-top}::slotted(input[type=checkbox]:checked)::before{background-color:#3767c7;content:\"✓\";line-height:13px;color:#fff;display:inline-block;vertical-align:top;width:100%}::slotted(input[type=checkbox]:disabled){background-color:#dedede;border-color:#dedede;cursor:not-allowed}::slotted(input[type=checkbox]:checked:disabled)::before{background-color:#dedede;color:#707070}::slotted(input[type=radio]){-webkit-border-radius:50%;border-radius:50%;transform:translateY(-0.075em);display:inline-grid;place-content:center}::slotted(input[type=radio])::before{-webkit-border-radius:50%;border-radius:50%;content:\"\";width:8px;height:8px;transform:scale(0);transition:120ms transform ease-in-out}::slotted(input[type=radio]:checked)::before{background-color:#3767c7;transform:scale(1)}::slotted(input[type=radio]:disabled){border-color:#dedede}::slotted(input[type=radio]:checked:disabled)::before{background-color:#dedede;transform:scale(1)}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-input/template.scss\",\"webpack://./style/variables/_typography.scss\",\"webpack://./style/variables/_colors.scss\"],\"names\":[],\"mappings\":\"AAAA,eAKA,aACI,CAAA,qBAGJ,oBACI,CAAA,mBAGJ,aACI,CAAA,oCACA,UACI,CAAA,2eAKJ,UAWI,CAAA,sUAIR,uBAWmC,CAAA,oBAAA,CAAA,eAAA,CAAA,yBACM,CAAA,iBAAA,CAAA,qBACrC,CAAA,kCCjDW,CAAA,cDmDX,CAAA,cACA,CAAA,aACA,CAAA,WACA,CAAA,eACA,CAAA,iBACA,CAAA,SACA,CAAA,qBACA,CAAA,wBACA,CAAA,aEpDU,CAAA,yaFwDd,wBE/BsB,CAAA,aAEN,CAAA,wBF0CZ,CAAA,kBACA,CAAA,6DAGJ,uBAEmC,CAAA,oBAAA,CAAA,eAAA,CAAA,wBAC/B,CAAA,YACA,CAAA,kBACA,CAAA,UACA,CAAA,WACA,CAAA,gBACA,CAAA,6EAGJ,oBE5Ee,CAAA,yFFiFf,mCAEI,CAAA,4BACA,CAAA,gCAGJ,yBACyC,CAAA,iBAAA,CAAA,uBACrC,CAAA,gDAIA,wBE7FW,CAAA,WF+FP,CAAA,gBACA,CAAA,UACA,CAAA,oBACA,CAAA,kBACA,CAAA,UACA,CAAA,yCAIR,wBEtFkB,CAAA,oBAAA,CAAA,kBFyFd,CAAA,yDAIA,wBE7Fc,CAAA,aACF,CAAA,6BFkGhB,yBACyC,CAAA,iBAAA,CAAA,8BACrC,CAAA,mBACA,CAAA,oBACA,CAAA,qCACA,yBACyC,CAAA,iBAAA,CAAA,UACrC,CAAA,SACA,CAAA,UACA,CAAA,kBACA,CAAA,sCACA,CAAA,6CAKJ,wBErIW,CAAA,kBFuIP,CAAA,sCAIR,oBEzHkB,CAAA,sDF8Hd,wBE9Hc,CAAA,kBFgIV\",\"sourcesContent\":[\"@use \\\"../../style/mixins/appearance\\\";\\n@use \\\"../../style/mixins/border-radius\\\";\\n@use \\\"../../style/variables/colors\\\";\\n@use \\\"../../style/variables/typography\\\";\\n\\n:host([block]) {\\n display: block;\\n}\\n\\n:host(:not([block])) {\\n display: inline-block;\\n}\\n\\n:host([fullwidth]) {\\n display: block;\\n ::slotted(input) {\\n width: 100%;\\n }\\n}\\n\\n:host([width]) {\\n ::slotted(input[type=\\\"text\\\"]),\\n ::slotted(input[type=\\\"number\\\"]),\\n ::slotted(input[type=\\\"email\\\"]),\\n ::slotted(input[type=\\\"tel\\\"]),\\n ::slotted(input[type=\\\"date\\\"]),\\n ::slotted(input[type=\\\"datetime-local\\\"]),\\n ::slotted(input[type=\\\"time\\\"]),\\n ::slotted(input[type=\\\"url\\\"]),\\n ::slotted(input[type=\\\"search\\\"]),\\n ::slotted(input[type=\\\"password\\\"]),\\n ::slotted(input:not([type])) {\\n width: 100%;\\n }\\n}\\n\\n::slotted(input[type=\\\"text\\\"]),\\n::slotted(input[type=\\\"number\\\"]),\\n::slotted(input[type=\\\"email\\\"]),\\n::slotted(input[type=\\\"tel\\\"]),\\n::slotted(input[type=\\\"date\\\"]),\\n::slotted(input[type=\\\"datetime-local\\\"]),\\n::slotted(input[type=\\\"time\\\"]),\\n::slotted(input[type=\\\"url\\\"]),\\n::slotted(input[type=\\\"search\\\"]),\\n::slotted(input[type=\\\"password\\\"]),\\n::slotted(input:not([type])) {\\n @include appearance.appearance(none);\\n @include border-radius.border-radius(4px);\\n box-sizing: border-box;\\n font-family: typography.$default-font;\\n font-size: 16px;\\n font-size: 12pt;\\n padding: 0 8px;\\n height: 32px;\\n box-shadow: none;\\n position: relative;\\n z-index: 1;\\n background-color: #fff;\\n border: 1px solid colors.$default-border;\\n color: colors.$default-text;\\n}\\n\\n::slotted(input[type=\\\"text\\\"]:disabled),\\n::slotted(input[type=\\\"number\\\"]:disabled),\\n::slotted(input[type=\\\"email\\\"]:disabled),\\n::slotted(input[type=\\\"tel\\\"]:disabled),\\n::slotted(input[type=\\\"date\\\"]:disabled),\\n::slotted(input[type=\\\"datetime-local\\\"]:disabled),\\n::slotted(input[type=\\\"time\\\"]:disabled),\\n::slotted(input[type=\\\"url\\\"]:disabled),\\n::slotted(input[type=\\\"search\\\"]:disabled),\\n::slotted(input[type=\\\"password\\\"]:disabled),\\n::slotted(input:not([type]):disabled) {\\n background-color: colors.$disabled-background;\\n color: colors.$disabled-text;\\n border: 1px solid colors.$disabled-border;\\n cursor: not-allowed;\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]),\\n::slotted(input[type=\\\"radio\\\"]) {\\n @include appearance.appearance(none);\\n border: 2px solid colors.$default-text;\\n font: inherit;\\n color: currentColor;\\n width: 16px;\\n height: 16px;\\n margin: 0 6px 0 0;\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]:checked),\\n::slotted(input[type=\\\"radio\\\"]:checked) {\\n border-color: colors.$primary-text;\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]:focus-visible),\\n::slotted(input[type=\\\"radio\\\"]:focus-visible) {\\n outline: max(2px, 0.1em) solid colors.$primary-text;\\n outline-offset: max(2px, 0.1em);\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]) {\\n @include border-radius.border-radius(3px);\\n vertical-align: text-top;\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]:checked) {\\n &::before {\\n background-color: colors.$primary-text;\\n content: \\\"✓\\\";\\n line-height: 13px;\\n color: #fff;\\n display: inline-block;\\n vertical-align: top;\\n width: 100%;\\n }\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]:disabled) {\\n background-color: colors.$disabled-border;\\n border-color: colors.$disabled-border;\\n cursor: not-allowed;\\n}\\n\\n::slotted(input[type=\\\"checkbox\\\"]:checked:disabled) {\\n &::before {\\n background-color: colors.$disabled-border;\\n color: colors.$disabled-text;\\n }\\n}\\n\\n::slotted(input[type=\\\"radio\\\"]) {\\n @include border-radius.border-radius(50%);\\n transform: translateY(-0.075em);\\n display: inline-grid;\\n place-content: center;\\n &::before {\\n @include border-radius.border-radius(50%);\\n content: \\\"\\\";\\n width: 8px;\\n height: 8px;\\n transform: scale(0);\\n transition: 120ms transform ease-in-out;\\n }\\n}\\n\\n::slotted(input[type=\\\"radio\\\"]:checked) {\\n &::before {\\n background-color: colors.$primary-text;\\n transform: scale(1);\\n }\\n}\\n\\n::slotted(input[type=\\\"radio\\\"]:disabled) {\\n border-color: colors.$disabled-border;\\n}\\n\\n::slotted(input[type=\\\"radio\\\"]:checked:disabled) {\\n &::before {\\n background-color: colors.$disabled-border;\\n transform: scale(1);\\n }\\n}\\n\",\"$default-font: \\\"Open Sans\\\", sans-serif;\\n$header-font: \\\"Raleway\\\", sans-serif;\\n$default-font-size: 15px;\\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$light-gray: #f6f5f4;\\n\\n$primary-brand: #FE5000;\\n\\n$primary-background: #3767C7;\\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: #f4f4f4;\\n$disabled-border: #dedede;\\n$disabled-text: #707070;\\n\\n\\n$light-green: #8fff33;\\n$light-yellow: #ffEb3b;\\n$light-red: #ff4a2e;\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `.gn-shortcut-button{width:40px;height:40px;background:none;border:none;cursor:pointer}.gn-shortcut-button svg{width:25px;height:25px;stroke:#2f3940;fill:none;-moz-transition:all .1s linear 0s;-o-transition:all .1s linear 0s;-webkit-transition:all .1s linear 0s;transition:all .1s linear 0s;stroke-width:2px}.gn-shortcut-button:hover svg{stroke:#fe5000;fill:#fe5000}.gn-shortcut-button.active svg{stroke:#fe5000;fill:#fe5000}.gn-shortcut-button.active:hover svg{stroke:#2f3940;fill:none}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-shortcut-button/gn-shortcut-button.scss\",\"webpack://./style/variables/_colors.scss\",\"webpack://./style/mixins/_transition.scss\"],\"names\":[],\"mappings\":\"AAGA,oBACI,UAAA,CACA,WAAA,CACA,eAAA,CACA,WAAA,CACA,cAAA,CACA,wBACI,UAAA,CACA,WAAA,CACA,cCLM,CDMN,SAAA,CEZJ,iCFaI,CEZJ,+BFYI,CEXJ,oCFWI,CEVJ,4BFUI,CACA,gBAAA,CAGA,8BACI,cCRI,CDSJ,YCTI,CDcR,+BACI,cCfI,CDgBJ,YChBI,CDmBJ,qCACI,cCxBF,CDyBE,SAAA\",\"sourcesContent\":[\"@use \\\"../../style/mixins/transition\\\";\\n@use \\\"../../style/variables/colors\\\";\\n\\n.gn-shortcut-button {\\n width: 40px;\\n height: 40px;\\n background: none;\\n border: none;\\n cursor: pointer;\\n & svg {\\n width: 25px;\\n height: 25px;\\n stroke: colors.$default-text;\\n fill: none;\\n @include transition.transition(all 0.1s linear 0s);\\n stroke-width: 2px;\\n }\\n &:hover {\\n & svg {\\n stroke: colors.$primary-brand;\\n fill: colors.$primary-brand;\\n }\\n }\\n\\n &.active {\\n & svg {\\n stroke: colors.$primary-brand;\\n fill: colors.$primary-brand;\\n }\\n &:hover {\\n & svg {\\n stroke: colors.$default-text;\\n fill: none;\\n }\\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$light-gray: #f6f5f4;\\n\\n$primary-brand: #FE5000;\\n\\n$primary-background: #3767C7;\\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: #f4f4f4;\\n$disabled-border: #dedede;\\n$disabled-text: #707070;\\n\\n\\n$light-green: #8fff33;\\n$light-yellow: #ffEb3b;\\n$light-red: #ff4a2e;\\n\",\"@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\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `:host{display:none}.align-right{display:flex;justify-content:flex-end;gap:.5em}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/gn-shortcut-button/template.scss\"],\"names\":[],\"mappings\":\"AAAA,MACI,YAAA,CAEJ,aACI,YAAA,CACA,wBAAA,CACA,QAAA\",\"sourcesContent\":[\":host {\\n display: none;\\n}\\n.align-right {\\n display: flex;\\n justify-content: flex-end;\\n gap: 0.5em;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","// 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, `:host h1.heading,:host ::slotted(h1.heading),:host ::slotted(.heading[size=\"1\"]){font-family:\"Raleway\",sans-serif !important;color:#2f3940 !important;font-size:30px !important;font-weight:200 !important}@media(min-width: 768px){:host h1.heading,:host ::slotted(h1.heading),:host ::slotted(.heading[size=\"1\"]){font-size:48px !important;font-weight:100 !important}}:host h1.heading[underline]:after,:host ::slotted(h1.heading[underline]):after,:host ::slotted(.heading[size=\"1\"][underline]):after{content:\"\";display:block;width:75px;border-bottom:3px solid #fe5000;margin:5px 0 15px}@media(min-width: 768px){:host h1.heading[underline]:after,:host ::slotted(h1.heading[underline]):after,:host ::slotted(.heading[size=\"1\"][underline]):after{width:100px;border-bottom:5px solid #fe5000;margin:10px 0 20px}}:host h2.heading,:host ::slotted(h2.heading),:host ::slotted(.heading[size=\"2\"]){font-family:\"Raleway\",sans-serif !important;color:#2f3940 !important;font-size:26px !important;line-height:30px !important;font-weight:300 !important;display:inline !important;margin-bottom:10px !important;margin-top:20px !important}@media(min-width: 768px){:host h2.heading,:host ::slotted(h2.heading),:host ::slotted(.heading[size=\"2\"]){font-size:32px !important;line-height:40px !important}}:host h2.heading:before,:host ::slotted(h2.heading):before,:host ::slotted(.heading[size=\"2\"]):before{content:\"\";display:block;margin-top:46px}:host h2.heading:after,:host ::slotted(h2.heading):after,:host ::slotted(.heading[size=\"2\"]):after{content:\"\";display:block;margin-bottom:15px}:host h2.heading[underline]:after,:host ::slotted(h2.heading[underline]):after,:host ::slotted(.heading[size=\"2\"][underline]):after{content:\"\";display:block;width:25px;border-bottom:2px solid #fe5000}@media(min-width: 768px){:host h2.heading[underline]:after,:host ::slotted(h2.heading[underline]):after,:host ::slotted(.heading[size=\"2\"][underline]):after{width:50px;border-bottom:2px solid #fe5000}}:host h3.heading,:host ::slotted(h3.heading),:host ::slotted(.heading[size=\"3\"]){font-family:\"Open Sans\",sans-serif !important;color:#2f3940 !important;font-size:22px !important;font-weight:300 !important;margin-bottom:0 !important;margin-top:20px !important}@media(min-width: 768px){:host h3.heading,:host ::slotted(h3.heading),:host ::slotted(.heading[size=\"3\"]){font-size:24px !important}}:host h4.heading,:host ::slotted(h4.heading),:host ::slotted(.heading[size=\"4\"]){font-family:\"Open Sans\",sans-serif !important;color:#2f3940 !important;font-size:18px !important;font-weight:300 !important;margin-bottom:0 !important;margin-top:12px !important}:host h5.heading,:host ::slotted(h5.heading),:host ::slotted(.heading[size=\"5\"]){font-family:\"Open Sans\",sans-serif !important;color:#2f3940 !important;font-size:15px !important;font-weight:600 !important;margin-bottom:0 !important;margin-top:8px !important}@media(min-width: 768px){:host h5.heading,:host ::slotted(h5.heading),:host ::slotted(.heading[size=\"5\"]){font-size:16px !important}}:host ::slotted(.heading.no-margin){margin-top:0}:host ::slotted(.heading.no-margin)::before{margin-top:0}`, \"\",{\"version\":3,\"sources\":[\"webpack://./stories/heading-text/template.scss\",\"webpack://./style/mixins/_breakpoints.scss\"],\"names\":[],\"mappings\":\"AAKI,iFAGI,2CAAA,CACA,wBAAA,CACA,yBAAA,CACA,0BAAA,CCCA,yBDPJ,iFAQQ,yBAAA,CACA,0BAAA,CAAA,CAOJ,oIACI,UAAA,CACA,aAAA,CACA,UAAA,CACA,+BAAA,CACA,iBAAA,CCdJ,yBDSA,oIAOQ,WAAA,CACA,+BAAA,CACA,kBAAA,CAAA,CAKZ,iFAGI,2CAAA,CACA,wBAAA,CACA,yBAAA,CACA,2BAAA,CACA,0BAAA,CACA,yBAAA,CACA,6BAAA,CACA,0BAAA,CCjCA,yBDuBJ,iFAYQ,yBAAA,CACA,2BAAA,CAAA,CAEJ,sGACI,UAAA,CACA,aAAA,CACA,eAAA,CAEJ,mGACI,UAAA,CACA,aAAA,CACA,kBAAA,CAOJ,oIACI,UAAA,CACA,aAAA,CACA,UAAA,CACA,+BAAA,CCzDJ,yBDqDA,oIAMQ,UAAA,CACA,+BAAA,CAAA,CAKZ,iFAGI,6CAAA,CACA,wBAAA,CACA,yBAAA,CACA,0BAAA,CACA,0BAAA,CACA,0BAAA,CCzEA,yBDiEJ,iFAUQ,yBAAA,CAAA,CAIR,iFAGI,6CAAA,CACA,wBAAA,CACA,yBAAA,CACA,0BAAA,CACA,0BAAA,CACA,0BAAA,CAGJ,iFAGI,6CAAA,CACA,wBAAA,CACA,yBAAA,CACA,0BAAA,CACA,0BAAA,CACA,yBAAA,CClGA,yBD0FJ,iFAUQ,yBAAA,CAAA,CAIR,oCACI,YAAA,CACA,4CACI,YAAA\",\"sourcesContent\":[\"@use \\\"../../style/mixins/breakpoints\\\";\\n@use \\\"../../style/variables/colors\\\";\\n@use \\\"../../style/variables/typography\\\";\\n\\n:host {\\n h1.heading,\\n ::slotted(h1.heading),\\n ::slotted(.heading[size=\\\"1\\\"]) {\\n font-family: typography.$header-font !important;\\n color: colors.$default-text !important;\\n font-size: 30px !important;\\n font-weight: 200 !important;\\n @include breakpoints.breakpoint(tablet) {\\n font-size: 48px !important;\\n font-weight: 100 !important;\\n }\\n }\\n\\n h1.heading[underline],\\n ::slotted(h1.heading[underline]),\\n ::slotted(.heading[size=\\\"1\\\"][underline]) {\\n &:after {\\n content: \\\"\\\";\\n display: block;\\n width: 75px;\\n border-bottom: 3px solid colors.$primary-brand;\\n margin: 5px 0 15px;\\n @include breakpoints.breakpoint(tablet) {\\n width: 100px;\\n border-bottom: 5px solid colors.$primary-brand;\\n margin: 10px 0 20px;\\n }\\n }\\n }\\n\\n h2.heading,\\n ::slotted(h2.heading),\\n ::slotted(.heading[size=\\\"2\\\"]) {\\n font-family: typography.$header-font !important;\\n color: colors.$default-text !important;\\n font-size: 26px !important;\\n line-height: 30px !important;\\n font-weight: 300 !important;\\n display: inline !important;\\n margin-bottom: 10px !important;\\n margin-top: 20px !important;\\n @include breakpoints.breakpoint(tablet) {\\n font-size: 32px !important;\\n line-height: 40px !important;\\n }\\n &:before {\\n content: \\\"\\\";\\n display: block;\\n margin-top: 46px;\\n }\\n &:after {\\n content: \\\"\\\";\\n display: block;\\n margin-bottom: 15px;\\n }\\n }\\n\\n h2.heading[underline],\\n ::slotted(h2.heading[underline]),\\n ::slotted(.heading[size=\\\"2\\\"][underline]) {\\n &:after {\\n content: \\\"\\\";\\n display: block;\\n width: 25px;\\n border-bottom: 2px solid colors.$primary-brand;\\n @include breakpoints.breakpoint(tablet) {\\n width: 50px;\\n border-bottom: 2px solid colors.$primary-brand;\\n }\\n }\\n }\\n\\n h3.heading,\\n ::slotted(h3.heading),\\n ::slotted(.heading[size=\\\"3\\\"]) {\\n font-family: typography.$default-font !important;\\n color: colors.$default-text !important;\\n font-size: 22px !important;\\n font-weight: 300 !important;\\n margin-bottom: 0 !important;\\n margin-top: 20px !important;\\n @include breakpoints.breakpoint(tablet) {\\n font-size: 24px !important;\\n }\\n }\\n\\n h4.heading,\\n ::slotted(h4.heading),\\n ::slotted(.heading[size=\\\"4\\\"]) {\\n font-family: typography.$default-font !important;\\n color: colors.$default-text !important;\\n font-size: 18px !important;\\n font-weight: 300 !important;\\n margin-bottom: 0 !important;\\n margin-top: 12px !important;\\n }\\n\\n h5.heading,\\n ::slotted(h5.heading),\\n ::slotted(.heading[size=\\\"5\\\"]) {\\n font-family: typography.$default-font !important;\\n color: colors.$default-text !important;\\n font-size: 15px !important;\\n font-weight: 600 !important;\\n margin-bottom: 0 !important;\\n margin-top: 8px !important;\\n @include breakpoints.breakpoint(tablet) {\\n font-size: 16px !important;\\n }\\n }\\n\\n ::slotted(.heading.no-margin) {\\n margin-top: 0;\\n &::before {\\n margin-top: 0;\\n }\\n }\\n}\\n\",\"@use \\\"../variables/breakpoints\\\";\\n\\n@mixin breakpoint($point) {\\n @if $point == desktop {\\n @media (min-width: breakpoints.$screen-desktop) {\\n @content;\\n }\\n } @else if $point == laptop {\\n @media (min-width: breakpoints.$screen-laptop) {\\n @content;\\n }\\n } @else if $point == tablet {\\n @media (min-width: breakpoints.$screen-tablet) {\\n @content;\\n }\\n } @else if $point == phablet {\\n @media (min-width: breakpoints.$screen-phablet) {\\n @content;\\n }\\n }\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\nexport default ___CSS_LOADER_EXPORT___;\n","export default \"<template>\\n <slot></slot>\\n</template>\\n\";","export default \"<template>\\n <slot></slot>\\n</template>\\n\";","export default \"<template>\\n <div id=\\\"dialog-container\\\" class=\\\"dialog-container\\\">\\n <div id=\\\"dialog-content\\\" class=\\\"dialog-content\\\">\\n <button id=\\\"close-dialog-button\\\" class=\\\"close-dialog-button\\\"></button>\\n <slot></slot>\\n </div>\\n </div>\\n</template>\\n\";","export default \"<template>\\n <slot></slot>\\n</template>\\n\";","export default \"<template>\\n <div id=\\\"input-container\\\" class=\\\"input-container\\\">\\n <slot></slot>\\n </div>\\n</template>\\n\";","export default \"<template>\\n <button id=\\\"gn-shortcut-button\\\" class=\\\"gn-shortcut-button\\\"></button>\\n <gn-dialog id=\\\"add-shortcut-dialog\\\" width=\\\"400px\\\">\\n <body-text>\\n <heading-text>\\n <h2>Lagre snarvei</h2>\\n </heading-text>\\n <gn-field-container block>\\n <span id=\\\"input-description\\\" style=\\\"margin-bottom: 4px; display: block\\\">\\n Velg et navn som gjør det enkelt å huske snarveien, og finn den igjen under Mine snarveier.\\n </span>\\n <gn-input block fullwidth>\\n <input\\n id=\\\"shortcut-name-input\\\"\\n placeholder=\\\"Skriv inn snarveinavn\\\"\\n aria-describedby=\\\"input-description\\\"\\n />\\n </gn-input>\\n </gn-field-container>\\n <div class=\\\"align-right\\\">\\n <gn-button id=\\\"cancel-add-shortcut-button\\\"><button>Avbryt</button></gn-button>\\n <gn-button id=\\\"save-shortcut-button\\\" color=\\\"primary\\\"><button>Lagre</button></gn-button>\\n </div>\\n </body-text>\\n </gn-dialog>\\n <gn-dialog id=\\\"remove-shortcut-dialog\\\" width=\\\"400px\\\">\\n <heading-text>\\n <h2>Fjern snarvei</h2>\\n </heading-text>\\n <body-text>\\n <span style=\\\"margin-bottom: 4px; display: block\\\">Er du sikker på at du vil fjerne snarveien?</span>\\n </body-text>\\n <div class=\\\"align-right\\\">\\n <gn-button id=\\\"cancel-remove-shortcut-button\\\"><button>Avbryt</button></gn-button>\\n <gn-button id=\\\"remove-shortcut-button\\\" color=\\\"primary\\\"><button>Fjern snarvei</button></gn-button>\\n </div>\\n </gn-dialog>\\n</template>\\n\";","export default \"<template>\\n <slot></slot>\\n</template>\\n\";","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\nmodule.exports = function (cssWithMappingToString) {\n var list = [];\n\n // return the list of modules as css string\n list.toString = function toString() {\n return this.map(function (item) {\n var content = \"\";\n var needLayer = typeof item[5] !== \"undefined\";\n if (item[4]) {\n content += \"@supports (\".concat(item[4], \") {\");\n }\n if (item[2]) {\n content += \"@media \".concat(item[2], \" {\");\n }\n if (needLayer) {\n content += \"@layer\".concat(item[5].length > 0 ? \" \".concat(item[5]) : \"\", \" {\");\n }\n content += cssWithMappingToString(item);\n if (needLayer) {\n content += \"}\";\n }\n if (item[2]) {\n content += \"}\";\n }\n if (item[4]) {\n content += \"}\";\n }\n return content;\n }).join(\"\");\n };\n\n // import a list of modules into the list\n list.i = function i(modules, media, dedupe, supports, layer) {\n if (typeof modules === \"string\") {\n modules = [[null, modules, undefined]];\n }\n var alreadyImportedModules = {};\n if (dedupe) {\n for (var k = 0; k < this.length; k++) {\n var id = this[k][0];\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n for (var _k = 0; _k < modules.length; _k++) {\n var item = [].concat(modules[_k]);\n if (dedupe && alreadyImportedModules[item[0]]) {\n continue;\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 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 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 list.push(item);\n }\n };\n return list;\n};","\"use strict\";\n\nmodule.exports = function (item) {\n var content = item[1];\n var cssMapping = item[3];\n if (!cssMapping) {\n return content;\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 return [content].concat([sourceMapping]).join(\"\\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 xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 -960 960 960\\\"><path fill=\\\"currentColor\\\" d=\\\"m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z\\\"></path></svg>\"","module.exports = \"<svg xmlns=\\\"http://www.w3.org/2000/svg\\\" viewBox=\\\"0 0 24 24\\\" stroke=\\\"currentColor\\\"><path d=\\\"M12 17.27 18.18 21l-1.64-7.03L22 9.24l-7.19-.61L12 2 9.19 8.63 2 9.24l5.46 4.73L5.82 21z\\\"></path></svg>\"","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 getMinSideShortcutApiUrl = (environment: string, shortcutUrl?: string) => {\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? environment + \".\" : \"\";\n const urlParameterString = shortcutUrl?.length ? `?${new URLSearchParams({ url: shortcutUrl }).toString()}` : \"\";\n return `https://minside.${environmentSlug}geonorge.no/api/shortcut${urlParameterString}`;\n};\nexport const getMinSideShortcutUrl = (environment: string) => {\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? environment + \".\" : \"\";\n return `https://minside.${environmentSlug}geonorge.no/shortcuts`;\n};\n\nexport const fetchShortcutItem = async (environment: string = \"\", token: string, shortcutUrl: string) => {\n const apiUrl = getMinSideShortcutApiUrl(environment, shortcutUrl);\n const fetchOptions = {\n method: \"GET\",\n headers: new Headers({\n Authorization: `Bearer ${token}`\n })\n };\n try {\n return fetch(apiUrl, fetchOptions).then((res) => {\n if (res.status === 200) {\n return res.json().then((shortcutItem) => {\n return shortcutItem;\n });\n } else {\n return null;\n }\n });\n } catch (error) {\n console.error(\"Error fetching shortcut items:\", error);\n return null;\n }\n};\n\nexport const postShortcutItem = async (\n environment: string = \"\",\n token: string,\n shortcutItem: { name: string; url: string }\n) => {\n const apiUrl = getMinSideShortcutApiUrl(environment);\n const fetchOptions = {\n method: \"POST\",\n headers: new Headers({\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\"\n }),\n body: JSON.stringify(shortcutItem)\n };\n return fetch(apiUrl, fetchOptions)\n .then((res) => res.json())\n .then((shortcutItem) => {\n return shortcutItem;\n });\n};\n\nexport const deleteShortcutItem = async (environment: string = \"\", token: string, shortcutItem: { url: string }) => {\n const apiUrl = getMinSideShortcutApiUrl(environment);\n const fetchOptions = {\n method: \"DELETE\",\n headers: new Headers({\n Authorization: `Bearer ${token}`,\n \"Content-Type\": \"application/json\"\n }),\n body: JSON.stringify(shortcutItem)\n };\n return fetch(apiUrl, fetchOptions);\n};\n\nexport const getGeonorgeMenuUrl = (language: string, environment: string) => {\n const environmentSlug = environment === \"dev\" || environment === \"test\" ? \"test.\" : \"\";\n const selectedLanguageSlug = language === \"en\" ? \"en/\" : \"\";\n if (environment === \"dev\") return `https://dev.geonorge.no/menu.xml`;\n else 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)\n .then((res) => res.json())\n .then((menuItems) => {\n return menuItems;\n });\n};\n\nexport const fetchDropdownSearchResults = async (\n searchString: string = \"\",\n language: string = \"no\",\n environment: string = \"\"\n) => {\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\n ? await Promise.all(\n 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 })\n )\n : null;\n};\n","export const getFocusableElementsInsideElement = (element: HTMLElement) => {\n return element.querySelectorAll('button, [href], input, [tabindex=\"0\"]');\n};\n\nexport const getDocumentHeading = () => {\n let documentHeading = document.querySelector(\"heading-text\") as HTMLElement | null; // This assumes that the heading is wrapped in a custom element called \"heading-text\"\n if (!documentHeading) {\n documentHeading = document.querySelector(\"h1:not(.sb-nopreview_heading.sb-heading)\") as HTMLElement | null; // Exclude the heading used by Storybook\n }\n return documentHeading;\n};\n\nexport const addGlobalStylesheet = (styleElementId: string, styles: string) => {\n const style = document.createElement(\"style\");\n style.setAttribute(\"id\", styleElementId);\n style.textContent = styles;\n if (!document.getElementById(styleElementId)) {\n document.head.appendChild(style);\n }\n};\n\nexport const removeInnerHTML = (element: HTMLElement) => {\n while (element.firstChild) {\n if (element.contains(element.firstChild)) {\n element.removeChild(element.firstChild);\n } else {\n // If not a child, break to avoid infinite loop\n break;\n }\n }\n};\n","// Dependencies\nimport { Component, CustomElement, CustomElementOptions } from \"super-custom-elements\";\n\ninterface BodyTextOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"body-text\",\n template: import(\"./body-text.html\"),\n style: import(\"./body-text.scss\")\n})\nexport class BodyText extends CustomElement {\n constructor() {\n super();\n }\n\n setup(options?: BodyTextOptions): void {}\n}\n","import { Component, CustomElement, CustomElementOptions, Prop, Watch } from \"super-custom-elements\";\n\ninterface GnButtonOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"gn-button\",\n template: import(\"./gn-button.html\"),\n style: import(\"./template.scss\")\n})\nexport class GnButton extends CustomElement {\n @Prop() color: string;\n\n private slotEl: HTMLSlotElement;\n\n constructor() {\n super();\n }\n\n setup(options?: GnButtonOptions): void {\n this.connect(options?.container);\n if (options?.id) {\n this.id = options.id;\n }\n\n // Wait for slot to be rendered and then apply color\n requestAnimationFrame(() => this.applyColorClass());\n }\n\n @Watch(\"color\")\n onColorChange() {\n this.applyColorClass();\n }\n\n private applyColorClass() {\n if (!this.slotEl) {\n this.slotEl = this.shadowRoot?.querySelector(\"slot\");\n if (!this.slotEl) return;\n }\n\n const colorClassPrefix = \"color-\";\n const assignedElements = this.slotEl.assignedElements({ flatten: true });\n\n assignedElements.forEach((el) => {\n // Clean up any existing listeners first\n el.removeEventListener(\"mouseenter\", this.handleMouseEnter);\n el.removeEventListener(\"mouseleave\", this.handleMouseLeave);\n\n // Remove previous color-* classes\n el.classList.forEach((cls) => {\n if (cls.startsWith(colorClassPrefix)) {\n el.classList.remove(cls);\n }\n });\n\n // Add color class\n if (this.color) {\n el.classList.add(`${colorClassPrefix}${this.color}`);\n }\n\n // Add :hover support via JS\n el.addEventListener(\"mouseenter\", this.handleMouseEnter);\n el.addEventListener(\"mouseleave\", this.handleMouseLeave);\n });\n }\n\n private handleMouseEnter = (e: Event) => {\n (e.currentTarget as HTMLElement).classList.add(\"is-hovered\");\n };\n\n private handleMouseLeave = (e: Event) => {\n (e.currentTarget as HTMLElement).classList.remove(\"is-hovered\");\n };\n}\n","// Dependencies\nimport {\n Component,\n CustomElement,\n CustomElementOptions,\n getShadowRootElement,\n Prop,\n Toggle,\n Watch\n} from \"super-custom-elements\";\n\n// Helpers\nimport { addGlobalStylesheet } from \"../../functions/guiHelpers\";\n\n// Assets\nimport CloseIcon from \"../../assets/svg/close-icon-black.svg\";\n\n// Stylesheets\nimport style from \"./gn-dialog.scss\";\n\ninterface GnDialogOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"gn-dialog\",\n template: import(\"./gn-dialog.html\"),\n style: import(\"./template.scss\")\n})\nexport class GnDialog extends CustomElement {\n @Toggle() show: boolean;\n @Toggle() nopadding: boolean;\n @Prop() width: string;\n @Prop() overflow: string;\n\n constructor() {\n super();\n addGlobalStylesheet(\"gn-dialog-styles\", style);\n }\n\n connectedCallback() {\n const closeDialogButtonElement = getShadowRootElement(this, \"#close-dialog-button\");\n closeDialogButtonElement.innerHTML = CloseIcon;\n closeDialogButtonElement.addEventListener(\"click\", this.hideDialog);\n\n const dialogContainerElement = getShadowRootElement(this, \"#dialog-container\");\n dialogContainerElement.addEventListener(\"click\", this.handleClickOutside);\n\n document.addEventListener(\"keydown\", this.keyDownFunction, false);\n }\n\n disconnectedCallback() {\n const closeDialogButtonElement = getShadowRootElement(this, \"#close-dialog-button\");\n closeDialogButtonElement.removeEventListener(\"click\", this.hideDialog);\n\n const dialogContainerElement = getShadowRootElement(this, \"#dialog-container\");\n dialogContainerElement.removeEventListener(\"click\", this.handleClickOutside);\n\n document.removeEventListener(\"keydown\", this.keyDownFunction, false);\n }\n\n handleClickOutside = (event) => {\n const dialogContentElement = getShadowRootElement(this, \"#dialog-content\");\n const slots = this.shadowRoot.querySelector(\"slot\");\n const assignedSlotElements = slots.assignedElements();\n const hasClickedInsideSlot = assignedSlotElements.some((assignedSlotElement) => {\n return !!assignedSlotElement.contains(event.target);\n });\n const hasClickedInsideDialogChild = dialogContentElement.contains(event.target);\n if (dialogContentElement && !(hasClickedInsideSlot || hasClickedInsideDialogChild)) {\n this.hideDialog();\n }\n };\n\n hideDialog = () => {\n this.setAttribute(\"show\", \"false\");\n };\n\n shouldShowDialog(show) {\n return show?.toString() === \"\" || show?.toString() === \"true\";\n }\n\n shouldHaveNoPadding(noPadding) {\n return noPadding?.toString() === \"\" || noPadding?.toString() === \"true\";\n }\n\n keyDownFunction = (event) => {\n switch (event.keyCode) {\n case 27: // Escape\n this.hideDialog();\n break;\n default:\n return null;\n }\n };\n\n @Watch(\"show\")\n showMenuChanged() {\n const shouldShowDialog = this.shouldShowDialog(this.show);\n const dialogContainerElement = getShadowRootElement(this, \"#dialog-container\");\n shouldShowDialog\n ? dialogContainerElement?.classList.add(\"visible\")\n : dialogContainerElement?.classList.remove(\"visible\");\n }\n\n @Watch(\"nopadding\")\n nopaddingChanged() {\n const shouldHaveNoPadding = this.shouldHaveNoPadding(this.nopadding);\n const dialogContentElement = getShadowRootElement(this, \"#dialog-content\");\n shouldHaveNoPadding\n ? dialogContentElement.classList.add(\"noPadding\")\n : dialogContentElement.classList.remove(\"noPadding\");\n }\n\n @Watch(\"overflow\")\n overflowChanged() {\n const overflow = this.overflow?.length ? this.overflow : \"visible\";\n const dialogContentElement = getShadowRootElement(this, \"#dialog-content\");\n dialogContentElement.style.overflow = overflow;\n }\n\n @Watch(\"width\")\n widthChanged() {\n const dialogContentElement = getShadowRootElement(this, \"#dialog-content\");\n dialogContentElement.style.maxWidth = this.width;\n }\n\n setup(options?: GnDialogOptions): void {}\n}\n","// Dependencies\nimport { Component, CustomElement, CustomElementOptions } from \"super-custom-elements\";\n\ninterface GnFieldContainerOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"gn-field-container\",\n template: import(\"./gn-field-container.html\"),\n style: import(\"./template.scss\")\n})\nexport class GnFieldContainer extends CustomElement {\n constructor() {\n super();\n }\n\n setup(options?: GnFieldContainerOptions): void {}\n}\n","// Dependencies\nimport {\n Component,\n CustomElement,\n CustomElementOptions,\n Prop,\n Toggle,\n Watch,\n getShadowRootElement\n} from \"super-custom-elements\";\n\ninterface GnInputOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"gn-input\",\n template: import(\"./gn-input.html\"),\n style: import(\"./template.scss\")\n})\nexport class GnInput extends CustomElement {\n @Toggle() block: boolean;\n @Toggle() fullwidth: boolean;\n @Prop() width: string;\n\n constructor() {\n super();\n }\n\n @Watch(\"width\")\n widthChanged() {\n const inputContainerElement = getShadowRootElement(this, \"#input-container\");\n inputContainerElement.style.width = this.width;\n }\n\n setup(options?: GnInputOptions): void {}\n}\n","// Dependencies\nimport {\n Component,\n CustomElement,\n CustomElementOptions,\n getElement,\n getShadowRootElement,\n Prop,\n Watch\n} from \"super-custom-elements\";\n\n// Components\nimport { GnButton } from \"../gn-button/gn-button\";\nimport { GnDialog } from \"../gn-dialog/gn-dialog\";\nimport { GnFieldContainer } from \"../gn-field-container/gn-field-container\";\nimport { GnInput } from \"../gn-input/gn-input\";\nimport { BodyText } from \"../body-text/body-text\";\nimport { HeadingText } from \"../heading-text/heading-text\";\n\n// Helpers\nimport { addGlobalStylesheet, getDocumentHeading } from \"../../functions/guiHelpers\";\nimport { deleteShortcutItem, fetchShortcutItem, postShortcutItem } from \"../../functions/apiHelpers\";\n\n// Assets\nimport StarIcon from \"../../assets/svg/star.svg\";\n\n// Stylesheets\nimport style from \"./gn-shortcut-button.scss\";\n\ninterface GnShortcutButtonOptions extends CustomElementOptions {\n getAuthToken?: Function;\n}\n\n@Component({\n tag: \"gn-shortcut-button\",\n template: import(\"./gn-shortcut-button.html\"),\n style: import(\"./template.scss\")\n})\nexport class GnShortcutButton extends CustomElement {\n private shortcutButton: HTMLButtonElement;\n private addShortcutDialogElement: HTMLElement;\n private removeShortcutDialogElement: HTMLElement;\n private saveShortcutButtonElement: HTMLButtonElement;\n private removeShortcutButtonElement: HTMLButtonElement;\n private cancelAddShortcutButtonElement: HTMLButtonElement;\n private cancelRemoveShortcutButtonElement: HTMLButtonElement;\n private shortcutNameInputElement: HTMLInputElement;\n @Prop() id: string;\n @Prop() language: string;\n @Prop() environment: string;\n @Prop() token: string;\n getAuthToken: Function;\n shortcutName: string;\n\n constructor() {\n super();\n addGlobalStylesheet(\"gn-shortcut-button-styles\", style);\n }\n\n setup(options?: GnShortcutButtonOptions): void {\n this.connect(options.container);\n if (options.id) {\n this.id = options.id;\n }\n }\n\n connectedCallback() {\n this.addShortcutDialogElement = getShadowRootElement(this, \"#add-shortcut-dialog\");\n this.removeShortcutDialogElement = getShadowRootElement(this, \"#remove-shortcut-dialog\");\n this.saveShortcutButtonElement = getShadowRootElement(this, \"#save-shortcut-button\");\n this.removeShortcutButtonElement = getShadowRootElement(this, \"#remove-shortcut-button\");\n this.cancelAddShortcutButtonElement = getShadowRootElement(this, \"#cancel-add-shortcut-button\");\n this.cancelRemoveShortcutButtonElement = getShadowRootElement(this, \"#cancel-remove-shortcut-button\");\n\n const gnButton = new GnButton();\n const gnDialog = new GnDialog();\n const gnFieldContainer = new GnFieldContainer();\n const gnInput = new GnInput();\n const bodyText = new BodyText();\n const headingText = new HeadingText();\n\n this.initShortcutNameInput();\n }\n\n disconnectedCallback() {}\n\n async getShortcutItem(environment: string, token: string) {\n try {\n const shortcutItem = await fetchShortcutItem(environment, token, window.location.href);\n return shortcutItem;\n } catch (error) {\n console.error(\"Error fetching shortcut items:\", error);\n }\n }\n\n saveShortcut(token: string) {\n const shortcutData = {\n name: this.shortcutName || document.title,\n url: window.location.href\n };\n postShortcutItem(this.environment, token, shortcutData)\n .then(() => {\n this.replaceShortcutButton(true);\n })\n .catch((error) => {\n console.error(\"Error saving shortcut:\", error);\n });\n }\n\n removeShortcut(token: string) {\n deleteShortcutItem(this.environment, token, { url: window.location.href })\n .then(() => {\n this.replaceShortcutButton(false);\n })\n .catch((error) => {\n console.error(\"Error removing shortcut:\", error);\n });\n }\n\n openDialog(shortcutIsAdded: boolean) {\n this.shortcutNameInputElement.value = document.title;\n if (shortcutIsAdded) {\n this.removeShortcutDialogElement.setAttribute(\"show\", \"true\");\n this.removeShortcutDialogElement.setAttribute(\"aria-hidden\", \"false\");\n this.addShortcutDialogElement.removeAttribute(\"show\");\n } else {\n this.addShortcutDialogElement.setAttribute(\"show\", \"true\");\n this.addShortcutDialogElement.setAttribute(\"aria-hidden\", \"false\");\n this.removeShortcutDialogElement.removeAttribute(\"show\");\n }\n }\n\n closeDialog() {\n this.addShortcutDialogElement.removeAttribute(\"show\");\n this.addShortcutDialogElement.setAttribute(\"aria-hidden\", \"true\");\n this.removeShortcutDialogElement.removeAttribute(\"show\");\n this.removeShortcutDialogElement.setAttribute(\"aria-hidden\", \"true\");\n }\n\n renderShortcutButton(shortcutIsAdded: boolean) {\n const shortcutButton = document.createElement(\"button\");\n shortcutButton.setAttribute(\"id\", \"gn-shortcut-button\");\n shortcutButton.setAttribute(\"role\", \"button\");\n shortcutButton.setAttribute(\"aria-pressed\", \"false\");\n shortcutButton.classList.add(\"gn-shortcut-button\");\n\n if (shortcutIsAdded) {\n shortcutButton.innerHTML = StarIcon;\n shortcutButton.setAttribute(\n \"aria-label\",\n this.language === \"en\" ? \"This page is saved as a shortcut. Sure you want to remove it?\" : \"Denne siden er lagret som en snarvei. Er du sikker på at du vil fjerne den?\"\n );\n shortcutButton.setAttribute(\"title\", this.language === \"en\" ? \"Remove shortcut\" : \"Fjern snarvei\");\n shortcutButton.classList.add(\"active\");\n } else {\n shortcutButton.innerHTML = StarIcon;\n shortcutButton.setAttribute(\n \"aria-label\",\n this.language === \"en\" ? \"Add shortcut to this page\" : \"Lagre snarvei for denne siden\"\n );\n shortcutButton.setAttribute(\"title\", this.language === \"en\" ? \"Add shortcut\" : \"Lagre snarvei\");\n shortcutButton.classList.remove(\"active\");\n }\n\n // Dialog event handlers (rebinding each time)\n this.saveShortcutButtonElement.onclick = () => {\n const token = this.getAuthToken();\n if (!token) return;\n this.saveShortcut(token);\n this.closeDialog();\n };\n\n this.removeShortcutButtonElement.onclick = () => {\n const token = this.getAuthToken();\n if (!token) return;\n this.removeShortcut(token);\n this.closeDialog();\n };\n\n this.cancelAddShortcutButtonElement.onclick = () => this.closeDialog();\n this.cancelRemoveShortcutButtonElement.onclick = () => this.closeDialog();\n\n shortcutButton.onclick = () => this.openDialog(shortcutIsAdded);\n\n shortcutButton.addEventListener(\"keydown\", (event) => {\n if (event.key === \"Enter\" || event.key === \" \") {\n event.preventDefault();\n shortcutButton.click();\n }\n });\n\n shortcutButton.addEventListener(\"focus\", () => {\n shortcutButton.setAttribute(\"aria-pressed\", \"true\");\n });\n\n shortcutButton.addEventListener(\"blur\", () => {\n shortcutButton.setAttribute(\"aria-pressed\", \"false\");\n });\n\n return shortcutButton;\n }\n\n replaceShortcutButton(shortcutIsAdded: boolean) {\n const newButton = this.renderShortcutButton(shortcutIsAdded);\n if (this.shortcutButton) {\n this.shortcutButton.replaceWith(newButton);\n } else {\n const firstHeading = getDocumentHeading();\n if (firstHeading) {\n firstHeading.after(newButton);\n }\n }\n this.shortcutButton = newButton;\n }\n\n appendShortcutButtonAfterFirstHeading(shortcutIsAdded: boolean) {\n const headingContainer = document.createElement(\"div\");\n headingContainer.style.display = \"flex\";\n headingContainer.style.alignItems = \"center\";\n headingContainer.style.justifyContent = \"flex-start\";\n const firstHeading = getDocumentHeading();\n if (firstHeading) {\n firstHeading.style.display = \"inline-block\";\n firstHeading.parentNode.insertBefore(headingContainer, firstHeading);\n headingContainer.appendChild(firstHeading);\n this.replaceShortcutButton(shortcutIsAdded);\n } else {\n console.error(\"First heading or shortcut button is missing\");\n }\n }\n\n initShortcutNameInput() {\n this.shortcutNameInputElement = getShadowRootElement(this, \"#shortcut-name-input\"); \n this.shortcutNameInputElement.addEventListener(\"input\", () => {\n this.shortcutName = this.shortcutNameInputElement.value;\n if (this.shortcutName.trim()) {\n this.saveShortcutButtonElement.firstElementChild?.removeAttribute(\"disabled\");\n } else {\n this.saveShortcutButtonElement.firstElementChild?.setAttribute(\"disabled\", \"true\");\n }\n });\n\n this.shortcutNameInputElement.addEventListener(\"keydown\", (event) => {\n if (event.key === \"Enter\") {\n event.preventDefault();\n if (this.shortcutName.trim()) {\n this.saveShortcutButtonElement.click();\n }\n }\n });\n }\n\n @Watch(\"token\")\n async tokenChanged() {\n const token = this?.token;\n if (!token) {\n console.error(\"No token found\");\n return;\n }\n\n this.language = this.language || \"en\";\n\n const shortcutItem = await this.getShortcutItem(this.environment, token);\n const shortcutIsAdded = !!shortcutItem;\n\n this.style.display = \"block\";\n this.appendShortcutButtonAfterFirstHeading(shortcutIsAdded);\n }\n\n public static setup(selector: string, options: GnShortcutButtonOptions) {\n setTimeout(() => {\n const element = getElement<GnShortcutButton>(selector);\n if (!element) {\n console.error(`Element with selector \"${selector}\" not found.`);\n return;\n }\n if (!options || !options.getAuthToken) {\n console.error(\"getAuthToken function is required in options.\");\n return;\n }\n element.getAuthToken = options.getAuthToken;\n element.token = options.getAuthToken();\n });\n }\n}\n","// Dependencies\nimport { Component, CustomElement, CustomElementOptions, Prop, Toggle } from \"super-custom-elements\";\n\ninterface HeadingTextOptions extends CustomElementOptions {}\n\n@Component({\n tag: \"heading-text\",\n template: import(\"./heading-text.html\"),\n style: import(\"./template.scss\")\n})\nexport class HeadingText extends CustomElement {\n @Prop() size: string;\n @Prop() tag: string;\n @Toggle() underline: boolean;\n\n constructor() {\n super();\n }\n\n connectedCallback() {\n const slot = this.shadowRoot?.querySelector(\"slot\");\n\n const isInsideDialog = this.closest(\"gn-dialog\") !== null;\n\n if (slot) {\n const applyBaseClass = () => {\n const assignedElements = slot.assignedElements({ flatten: true });\n assignedElements.forEach((el) => {\n if (/^h[1-6]$/i.test(el.tagName)) {\n el.classList.add(\"heading\");\n }\n });\n };\n const applyNoMargin = () => {\n const assignedElements = slot.assignedElements({ flatten: true });\n assignedElements.forEach((el) => {\n if (/^h[1-6]$/i.test(el.tagName)) {\n el.classList.add(\"no-margin\");\n }\n });\n };\n\n // Initial attempt\n applyBaseClass();\n if (isInsideDialog) {\n applyNoMargin();\n }\n\n // In case content is added after render\n slot.addEventListener(\"slotchange\", () => {\n applyBaseClass();\n if (isInsideDialog) {\n applyNoMargin();\n }\n });\n }\n }\n\n setup(options?: HeadingTextOptions): void {}\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__(376);\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","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","getKartkatalogApiUrl","environment","getMinSideShortcutApiUrl","shortcutUrl","URLSearchParams","url","getMinSideShortcutUrl","fetchShortcutItem","token","apiUrl","fetchOptions","method","headers","Headers","Authorization","fetch","then","res","status","json","shortcutItem","error","postShortcutItem","body","deleteShortcutItem","getGeonorgeMenuUrl","language","fetchMenuItems","menuItems","fetchDropdownSearchResults","searchString","urlParameterStrings","dataset","series","service","servicelayer","software","articles","all","searchResultsType","kartkatalogApiUrl","searchResults","getFocusableElementsInsideElement","element","querySelectorAll","getDocumentHeading","documentHeading","addGlobalStylesheet","styleElementId","styles","textContent","getElementById","head","removeInnerHTML","contains","removeChild","BodyText","setup","GnButton","handleMouseEnter","currentTarget","classList","add","handleMouseLeave","remove","container","requestAnimationFrame","applyColorClass","onColorChange","slotEl","colorClassPrefix","assignedElements","flatten","el","removeEventListener","cls","startsWith","color","GnDialog","handleClickOutside","event","dialogContentElement","hasClickedInsideSlot","some","assignedSlotElement","hasClickedInsideDialogChild","hideDialog","keyDownFunction","keyCode","closeDialogButtonElement","disconnectedCallback","shouldShowDialog","show","shouldHaveNoPadding","noPadding","showMenuChanged","dialogContainerElement","nopaddingChanged","nopadding","overflowChanged","overflow","widthChanged","maxWidth","width","GnFieldContainer","GnInput","GnShortcutButton","addShortcutDialogElement","removeShortcutDialogElement","saveShortcutButtonElement","removeShortcutButtonElement","cancelAddShortcutButtonElement","cancelRemoveShortcutButtonElement","HeadingText","initShortcutNameInput","getShortcutItem","window","location","href","saveShortcut","shortcutData","shortcutName","title","replaceShortcutButton","catch","removeShortcut","openDialog","shortcutIsAdded","shortcutNameInputElement","closeDialog","renderShortcutButton","shortcutButton","onclick","getAuthToken","key","preventDefault","click","newButton","replaceWith","firstHeading","after","appendShortcutButtonAfterFirstHeading","headingContainer","display","alignItems","justifyContent","parentNode","insertBefore","trim","firstElementChild","tokenChanged","setTimeout","slot","isInsideDialog","closest","applyBaseClass","tagName","applyNoMargin","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","__webpack_modules__","n","getter","__esModule","d","a","definition","o","enumerable","obj","hasOwnProperty","r","Symbol","toStringTag"],"sourceRoot":""}
|