@internetarchive/ia-topnav 2.0.0 → 2.0.1-alpha-webdev8396.0

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.
Files changed (52) hide show
  1. package/dist/src/data/menus.js.map +1 -1
  2. package/dist/src/dropdown-menu.d.ts +3 -4
  3. package/dist/src/dropdown-menu.js +6 -13
  4. package/dist/src/dropdown-menu.js.map +1 -1
  5. package/dist/src/ia-topnav.d.ts +3 -0
  6. package/dist/src/ia-topnav.js +79 -69
  7. package/dist/src/ia-topnav.js.map +1 -1
  8. package/dist/src/login-button.d.ts +3 -0
  9. package/dist/src/login-button.js +28 -18
  10. package/dist/src/login-button.js.map +1 -1
  11. package/dist/src/models.js.map +1 -1
  12. package/dist/src/primary-nav.d.ts +4 -0
  13. package/dist/src/primary-nav.js +109 -90
  14. package/dist/src/primary-nav.js.map +1 -1
  15. package/dist/src/signed-out-dropdown.d.ts +1 -1
  16. package/dist/src/signed-out-dropdown.js +1 -2
  17. package/dist/src/signed-out-dropdown.js.map +1 -1
  18. package/dist/src/styles/dropdown-menu.js +1 -0
  19. package/dist/src/styles/dropdown-menu.js.map +1 -1
  20. package/dist/src/styles/ia-topnav.js +82 -82
  21. package/dist/src/styles/ia-topnav.js.map +1 -1
  22. package/dist/src/styles/primary-nav.js +353 -353
  23. package/dist/src/styles/primary-nav.js.map +1 -1
  24. package/dist/src/user-menu.d.ts +1 -2
  25. package/dist/src/user-menu.js +1 -2
  26. package/dist/src/user-menu.js.map +1 -1
  27. package/dist/test/ia-topnav.test.js +9 -9
  28. package/dist/test/ia-topnav.test.js.map +1 -1
  29. package/dist/test/primary-nav.test.js +7 -7
  30. package/dist/test/primary-nav.test.js.map +1 -1
  31. package/package.json +1 -1
  32. package/src/data/menus.ts +650 -650
  33. package/src/dropdown-menu.ts +6 -12
  34. package/src/ia-topnav.ts +332 -318
  35. package/src/login-button.ts +89 -78
  36. package/src/models.ts +58 -58
  37. package/src/primary-nav.ts +300 -277
  38. package/src/signed-out-dropdown.ts +1 -2
  39. package/src/styles/dropdown-menu.ts +1 -0
  40. package/src/styles/ia-topnav.ts +85 -85
  41. package/src/styles/primary-nav.ts +356 -356
  42. package/src/user-menu.ts +3 -4
  43. package/test/ia-topnav.test.ts +282 -282
  44. package/test/primary-nav.test.ts +135 -135
  45. package/dist/src/styles/signed-out-dropdown.d.ts +0 -2
  46. package/dist/src/styles/signed-out-dropdown.js +0 -31
  47. package/dist/src/styles/signed-out-dropdown.js.map +0 -1
  48. package/dist/src/styles/user-menu.d.ts +0 -2
  49. package/dist/src/styles/user-menu.js +0 -31
  50. package/dist/src/styles/user-menu.js.map +0 -1
  51. package/src/styles/signed-out-dropdown.ts +0 -31
  52. package/src/styles/user-menu.ts +0 -31
@@ -1 +1 @@
1
- {"version":3,"file":"menus.js","sourceRoot":"","sources":["../../../src/data/menus.ts"],"names":[],"mappings":"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","sourcesContent":["// @see https://git.archive.org/www/offshoot/-/blob/main/guides/update-top-nav.md\r\n\r\nimport { IATopNavConfig, IATopNavMenuConfig } from '../models';\r\n\r\nexport const defaultTopNavConfig: IATopNavConfig = {\r\n // Google Analytics event category\r\n eventCategory: 'TopNav',\r\n // Default value, if more accurate value is not passed in to `buildTopNavMenus()`\r\n waybackPagesArchived: '1 trillion',\r\n};\r\n\r\n/**\r\n * Creates archive.org top navigation configuration\r\n * @param { string } userid archive.org account (immutable) userid\r\n * @param { boolean } localLinks passing in false will ensure all links begin: https://archive.org\r\n * @param { string } waybackPagesArchived label readable 'how many pages in WayBack machine?'\r\n * If you don't pass in something, you'll get the potentially\r\n * older/less accurate version.\r\n * @param { string } itemIdentifier The current item being viewed, to populate admin menu items\r\n * @returns { object }\r\n */\r\nexport function buildTopNavMenus(\r\n userid: string = '___USERID___',\r\n baseHost: string = 'https://archive.org',\r\n waybackPagesArchived: string = '',\r\n itemIdentifier: string = '',\r\n): IATopNavMenuConfig {\r\n if (waybackPagesArchived)\r\n defaultTopNavConfig.waybackPagesArchived = waybackPagesArchived; // update to more accurate val\r\n\r\n return {\r\n audio: {\r\n heading: 'Internet Archive Audio',\r\n iconLinks: [\r\n {\r\n icon: `${baseHost}/services/img/etree`,\r\n title: 'Live Music Archive',\r\n url: `${baseHost}/details/etree`,\r\n },\r\n {\r\n icon: `${baseHost}/services/img/librivoxaudio`,\r\n title: 'Librivox Free Audio',\r\n url: `${baseHost}/details/librivoxaudio`,\r\n },\r\n ],\r\n featuredLinks: [\r\n {\r\n title: 'All Audio',\r\n url: `${baseHost}/details/audio`,\r\n },\r\n {\r\n title: 'Grateful Dead',\r\n url: `${baseHost}/details/GratefulDead`,\r\n },\r\n {\r\n title: 'Netlabels',\r\n url: `${baseHost}/details/netlabels`,\r\n },\r\n {\r\n title: 'Old Time Radio',\r\n url: `${baseHost}/details/oldtimeradio`,\r\n },\r\n {\r\n title: '78 RPMs and Cylinder Recordings',\r\n url: `${baseHost}/details/78rpm`,\r\n },\r\n ],\r\n links: [\r\n {\r\n title: 'Audio Books & Poetry',\r\n url: `${baseHost}/details/audio_bookspoetry`,\r\n },\r\n {\r\n title: 'Computers, Technology and Science',\r\n url: `${baseHost}/details/audio_tech`,\r\n },\r\n {\r\n title: 'Music, Arts & Culture',\r\n url: `${baseHost}/details/audio_music`,\r\n },\r\n {\r\n title: 'News & Public Affairs',\r\n url: `${baseHost}/details/audio_news`,\r\n },\r\n {\r\n title: 'Spirituality & Religion',\r\n url: `${baseHost}/details/audio_religion`,\r\n },\r\n {\r\n title: 'Podcasts',\r\n url: `${baseHost}/details/podcasts`,\r\n },\r\n {\r\n title: 'Radio News Archive',\r\n url: `${baseHost}/details/radio`,\r\n },\r\n ],\r\n mobileAppsLinks: [],\r\n browserExtensionsLinks: [],\r\n archiveItLinks: [],\r\n },\r\n images: {\r\n heading: 'Images',\r\n iconLinks: [\r\n {\r\n icon: `${baseHost}/services/img/metropolitanmuseumofart-gallery`,\r\n title: 'Metropolitan Museum',\r\n url: `${baseHost}/details/metropolitanmuseumofart-gallery`,\r\n },\r\n {\r\n icon: `${baseHost}/services/img/clevelandart`,\r\n title: 'Cleveland Museum of Art',\r\n url: `${baseHost}/details/clevelandart`,\r\n },\r\n ],\r\n featuredLinks: [\r\n {\r\n title: 'All Images',\r\n url: `${baseHost}/details/image`,\r\n },\r\n {\r\n title: 'Flickr Commons',\r\n url: `${baseHost}/details/flickrcommons`,\r\n },\r\n {\r\n title: 'Occupy Wall Street Flickr',\r\n url: `${baseHost}/details/flickr-ows`,\r\n },\r\n {\r\n title: 'Cover Art',\r\n url: `${baseHost}/details/coverartarchive`,\r\n },\r\n {\r\n title: 'USGS Maps',\r\n url: `${baseHost}/details/maps_usgs`,\r\n },\r\n ],\r\n links: [\r\n {\r\n title: 'NASA Images',\r\n url: `${baseHost}/details/nasa`,\r\n },\r\n {\r\n title: 'Solar System Collection',\r\n url: `${baseHost}/details/solarsystemcollection`,\r\n },\r\n {\r\n title: 'Ames Research Center',\r\n url: `${baseHost}/details/amesresearchcenterimagelibrary`,\r\n },\r\n ],\r\n mobileAppsLinks: [],\r\n browserExtensionsLinks: [],\r\n archiveItLinks: [],\r\n },\r\n more: {\r\n links: [\r\n {\r\n title: 'About',\r\n url: `${baseHost}/about/`,\r\n },\r\n {\r\n title: 'Blog',\r\n url: 'https://blog.archive.org',\r\n },\r\n {\r\n title: 'Events',\r\n url: `${baseHost}/events`,\r\n },\r\n {\r\n title: 'Projects',\r\n url: `${baseHost}/projects/`,\r\n },\r\n {\r\n title: 'Help',\r\n url: `${baseHost}/about/faqs.php`,\r\n },\r\n {\r\n title: 'Donate',\r\n url: `${baseHost}/donate?origin=iawww-TopNavDonateButton`,\r\n },\r\n {\r\n title: 'Contact',\r\n url: `${baseHost}/about/contact`,\r\n },\r\n {\r\n title: 'Jobs',\r\n url: `${baseHost}/about/jobs`,\r\n },\r\n {\r\n title: 'Volunteer',\r\n url: `${baseHost}/about/volunteer-positions`,\r\n },\r\n ],\r\n heading: '',\r\n iconLinks: [],\r\n featuredLinks: [],\r\n mobileAppsLinks: [],\r\n browserExtensionsLinks: [],\r\n archiveItLinks: [],\r\n },\r\n software: {\r\n heading: 'Software',\r\n iconLinks: [\r\n {\r\n icon: `${baseHost}/services/img/internetarcade`,\r\n title: 'Internet Arcade',\r\n url: `${baseHost}/details/internetarcade`,\r\n },\r\n {\r\n icon: `${baseHost}/services/img/consolelivingroom`,\r\n title: 'Console Living Room',\r\n url: `${baseHost}/details/consolelivingroom`,\r\n },\r\n ],\r\n featuredLinks: [\r\n {\r\n title: 'All Software',\r\n url: `${baseHost}/details/software`,\r\n },\r\n {\r\n title: 'Old School Emulation',\r\n url: `${baseHost}/details/tosec`,\r\n },\r\n {\r\n title: 'MS-DOS Games',\r\n url: `${baseHost}/details/softwarelibrary_msdos_games`,\r\n },\r\n {\r\n title: 'Historical Software',\r\n url: `${baseHost}/details/historicalsoftware`,\r\n },\r\n {\r\n title: 'Classic PC Games',\r\n url: `${baseHost}/details/classicpcgames`,\r\n },\r\n {\r\n title: 'Software Library',\r\n url: `${baseHost}/details/softwarelibrary`,\r\n },\r\n ],\r\n links: [\r\n {\r\n title: 'Kodi Archive and Support File',\r\n url: `${baseHost}/details/kodi_archive`,\r\n },\r\n {\r\n title: 'Vintage Software',\r\n url: `${baseHost}/details/vintagesoftware`,\r\n },\r\n {\r\n title: 'APK',\r\n url: `${baseHost}/details/apkarchive`,\r\n },\r\n {\r\n title: 'MS-DOS',\r\n url: `${baseHost}/details/softwarelibrary_msdos`,\r\n },\r\n {\r\n title: 'CD-ROM Software',\r\n url: `${baseHost}/details/cd-roms`,\r\n },\r\n {\r\n title: 'CD-ROM Software Library',\r\n url: `${baseHost}/details/cdromsoftware`,\r\n },\r\n {\r\n title: 'Software Sites',\r\n url: `${baseHost}/details/softwaresites`,\r\n },\r\n {\r\n title: 'Tucows Software Library',\r\n url: `${baseHost}/details/tucows`,\r\n },\r\n {\r\n title: 'Shareware CD-ROMs',\r\n url: `${baseHost}/details/cdbbsarchive`,\r\n },\r\n {\r\n title: 'Software Capsules Compilation',\r\n url: `${baseHost}/details/softwarecapsules`,\r\n },\r\n {\r\n title: 'CD-ROM Images',\r\n url: `${baseHost}/details/cdromimages`,\r\n },\r\n {\r\n title: 'ZX Spectrum',\r\n url: `${baseHost}/details/softwarelibrary_zx_spectrum`,\r\n },\r\n {\r\n title: 'DOOM Level CD',\r\n url: `${baseHost}/details/doom-cds`,\r\n },\r\n ],\r\n mobileAppsLinks: [],\r\n browserExtensionsLinks: [],\r\n archiveItLinks: [],\r\n },\r\n texts: {\r\n heading: 'Texts',\r\n iconLinks: [\r\n {\r\n title: 'Open Library',\r\n icon: `${baseHost}/images/widgetOL.png`,\r\n url: 'https://openlibrary.org/',\r\n },\r\n {\r\n title: 'American Libraries',\r\n icon: `${baseHost}/services/img/americana`,\r\n url: `${baseHost}/details/americana`,\r\n },\r\n ],\r\n featuredLinks: [\r\n {\r\n title: 'All Texts',\r\n url: `${baseHost}/details/texts`,\r\n },\r\n {\r\n title: 'Smithsonian Libraries',\r\n url: `${baseHost}/details/smithsonian`,\r\n },\r\n {\r\n title: 'FEDLINK (US)',\r\n url: `${baseHost}/details/fedlink`,\r\n },\r\n {\r\n title: 'Genealogy',\r\n url: `${baseHost}/details/genealogy`,\r\n },\r\n {\r\n title: 'Lincoln Collection',\r\n url: `${baseHost}/details/lincolncollection`,\r\n },\r\n ],\r\n links: [\r\n {\r\n title: 'American Libraries',\r\n url: `${baseHost}/details/americana`,\r\n },\r\n {\r\n title: 'Canadian Libraries',\r\n url: `${baseHost}/details/toronto`,\r\n },\r\n {\r\n title: 'Universal Library',\r\n url: `${baseHost}/details/universallibrary`,\r\n },\r\n {\r\n title: 'Project Gutenberg',\r\n url: `${baseHost}/details/gutenberg`,\r\n },\r\n {\r\n title: \"Children's Library\",\r\n url: `${baseHost}/details/iacl`,\r\n },\r\n {\r\n title: 'Biodiversity Heritage Library',\r\n url: `${baseHost}/details/biodiversity`,\r\n },\r\n {\r\n title: 'Books by Language',\r\n url: `${baseHost}/details/booksbylanguage`,\r\n },\r\n {\r\n title: 'Folkscanomy',\r\n url: `${baseHost}/details/folkscanomy`,\r\n },\r\n {\r\n title: 'Government Documents',\r\n url: `${baseHost}/details/government-documents`,\r\n },\r\n ],\r\n mobileAppsLinks: [],\r\n browserExtensionsLinks: [],\r\n archiveItLinks: [],\r\n },\r\n web: {\r\n mobileAppsLinks: [\r\n {\r\n url: 'https://apps.apple.com/us/app/wayback-machine/id1201888313',\r\n title: 'Wayback Machine (iOS)',\r\n external: true,\r\n },\r\n {\r\n url: 'https://play.google.com/store/apps/details?id=com.internetarchive.waybackmachine',\r\n title: 'Wayback Machine (Android)',\r\n external: true,\r\n },\r\n ],\r\n browserExtensionsLinks: [\r\n {\r\n url: 'https://chrome.google.com/webstore/detail/wayback-machine/fpnmgdkabkmnadcjpehmlllkndpkmiak',\r\n title: 'Chrome',\r\n external: true,\r\n },\r\n {\r\n url: 'https://addons.mozilla.org/en-US/firefox/addon/wayback-machine_new/',\r\n title: 'Firefox',\r\n external: true,\r\n },\r\n {\r\n url: 'https://apps.apple.com/us/app/wayback-machine/id1472432422?mt=12',\r\n title: 'Safari',\r\n external: true,\r\n },\r\n {\r\n url: 'https://microsoftedge.microsoft.com/addons/detail/wayback-machine/kjmickeoogghaimmomagaghnogelpcpn?hl=en-US',\r\n title: 'Edge',\r\n external: true,\r\n },\r\n ],\r\n archiveItLinks: [\r\n {\r\n url: 'https://www.archive-it.org/explore',\r\n title: 'Explore the Collections',\r\n external: true,\r\n },\r\n {\r\n url: 'https://www.archive-it.org/blog/learn-more/',\r\n title: 'Learn More',\r\n external: true,\r\n },\r\n {\r\n url: 'https://www.archive-it.org/contact-us',\r\n title: 'Build Collections',\r\n external: true,\r\n },\r\n ],\r\n heading: '',\r\n iconLinks: [],\r\n featuredLinks: [],\r\n links: [],\r\n },\r\n video: {\r\n heading: 'Video',\r\n iconLinks: [\r\n {\r\n icon: `${baseHost}/services/img/tv`,\r\n title: 'TV News',\r\n url: `${baseHost}/details/tv`,\r\n },\r\n {\r\n icon: `${baseHost}/services/img/911`,\r\n title: 'Understanding 9/11',\r\n url: `${baseHost}/details/911`,\r\n },\r\n ],\r\n featuredLinks: [\r\n {\r\n title: 'All Video',\r\n url: `${baseHost}/details/movies`,\r\n },\r\n {\r\n title: 'Prelinger Archives',\r\n url: `${baseHost}/details/prelinger`,\r\n },\r\n {\r\n title: 'Democracy Now!',\r\n url: `${baseHost}/details/democracy_now_vid`,\r\n },\r\n {\r\n title: 'Occupy Wall Street',\r\n url: `${baseHost}/details/occupywallstreet`,\r\n },\r\n {\r\n title: 'TV NSA Clip Library',\r\n url: `${baseHost}/details/nsa`,\r\n },\r\n ],\r\n links: [\r\n {\r\n title: 'Animation & Cartoons',\r\n url: `${baseHost}/details/animationandcartoons`,\r\n },\r\n {\r\n title: 'Arts & Music',\r\n url: `${baseHost}/details/artsandmusicvideos`,\r\n },\r\n {\r\n title: 'Computers & Technology',\r\n url: `${baseHost}/details/computersandtechvideos`,\r\n },\r\n {\r\n title: 'Cultural & Academic Films',\r\n url: `${baseHost}/details/culturalandacademicfilms`,\r\n },\r\n {\r\n title: 'Ephemeral Films',\r\n url: `${baseHost}/details/ephemera`,\r\n },\r\n {\r\n title: 'Movies',\r\n url: `${baseHost}/details/moviesandfilms`,\r\n },\r\n {\r\n title: 'News & Public Affairs',\r\n url: `${baseHost}/details/newsandpublicaffairs`,\r\n },\r\n {\r\n title: 'Spirituality & Religion',\r\n url: `${baseHost}/details/spiritualityandreligion`,\r\n },\r\n {\r\n title: 'Sports Videos',\r\n url: `${baseHost}/details/sports`,\r\n },\r\n {\r\n title: 'Television',\r\n url: `${baseHost}/details/television`,\r\n },\r\n {\r\n title: 'Videogame Videos',\r\n url: `${baseHost}/details/gamevideos`,\r\n },\r\n {\r\n title: 'Vlogs',\r\n url: `${baseHost}/details/vlogs`,\r\n },\r\n {\r\n title: 'Youth Media',\r\n url: `${baseHost}/details/youth_media`,\r\n },\r\n ],\r\n mobileAppsLinks: [],\r\n browserExtensionsLinks: [],\r\n archiveItLinks: [],\r\n },\r\n user: [\r\n {\r\n url: `${baseHost}/upload`,\r\n title: 'Upload files',\r\n analyticsEvent: 'UserUpload',\r\n class: 'mobile-upload',\r\n },\r\n {\r\n url: `${baseHost}/details/@${userid}`,\r\n title: 'My uploads',\r\n analyticsEvent: 'UserLibrary',\r\n },\r\n {\r\n url: `${baseHost}/details/@${userid}/loans`,\r\n title: 'My loans',\r\n analyticsEvent: 'UserLoans',\r\n },\r\n {\r\n url: `${baseHost}/details/fav-${userid}`,\r\n title: 'My favorites',\r\n analyticsEvent: 'UserFavorites',\r\n },\r\n {\r\n url: `${baseHost}/details/@${userid}/lists`,\r\n title: 'My lists',\r\n analyticsEvent: 'UserLists',\r\n },\r\n {\r\n url: `${baseHost}/details/@${userid}/collections`,\r\n title: 'My collections',\r\n analyticsEvent: 'UserCollections',\r\n },\r\n {\r\n url: `${baseHost}/details/@${userid}/web-archive`,\r\n title: 'My web archives',\r\n analyticsEvent: 'UserWebArchive',\r\n },\r\n {\r\n url: `${baseHost}/account/settings`,\r\n title: 'Account settings',\r\n analyticsEvent: 'UserSettings',\r\n },\r\n {\r\n url: 'https://help.archive.org',\r\n title: 'Get help',\r\n analyticsEvent: 'UserHelp',\r\n },\r\n {\r\n url: `${baseHost}/account/logout`,\r\n title: 'Log out',\r\n analyticsEvent: 'UserLogOut',\r\n },\r\n ],\r\n userAdmin: [\r\n {\r\n title: 'ADMINS:',\r\n },\r\n {\r\n title: 'item:',\r\n },\r\n {\r\n url: `${baseHost}/editxml/${itemIdentifier}`,\r\n title: 'edit xml',\r\n analyticsEvent: 'AdminUserEditXML',\r\n },\r\n {\r\n url: `${baseHost}/edit.php?redir=1&identifier=${itemIdentifier}`,\r\n title: 'edit files',\r\n analyticsEvent: 'AdminUserEditFiles',\r\n },\r\n {\r\n url: `${baseHost}/download/${itemIdentifier}/`,\r\n title: 'download',\r\n analyticsEvent: 'AdminUserDownload',\r\n },\r\n {\r\n url: `${baseHost}/metadata/${itemIdentifier}/`,\r\n title: 'metadata',\r\n analyticsEvent: 'AdminUserMetadata',\r\n },\r\n {\r\n url: `https://catalogd.archive.org/history/${itemIdentifier}`,\r\n title: 'history',\r\n analyticsEvent: 'AdminUserHistory',\r\n },\r\n {\r\n url: `${baseHost}/manage/${itemIdentifier}`,\r\n title: 'manage',\r\n analyticsEvent: 'AdminUserManager',\r\n },\r\n {\r\n url: `${baseHost}/manage/${itemIdentifier}#make_dark`,\r\n title: 'curate',\r\n analyticsEvent: 'AdminUserCurate',\r\n },\r\n {\r\n url: `${baseHost}/manage/${itemIdentifier}#modify_xml`,\r\n title: 'modify xml',\r\n analyticsEvent: 'AdminUserModifyXML',\r\n },\r\n ],\r\n userAdminFlags: [\r\n {\r\n url: `${baseHost}/services/flags/admin.php?identifier=${itemIdentifier}`,\r\n title: 'manage flags',\r\n analyticsEvent: 'AdminUserManageFlags',\r\n },\r\n ],\r\n signedOut: [\r\n {\r\n url: `${baseHost}/signup`,\r\n title: 'Sign up for free',\r\n analyticsEvent: 'AvatarMenu-Signup',\r\n },\r\n {\r\n url: `${baseHost}/login`,\r\n title: 'Log in',\r\n analyticsEvent: 'AvatarMenu-Login',\r\n },\r\n ],\r\n };\r\n}\r\n"]}
1
+ {"version":3,"file":"menus.js","sourceRoot":"","sources":["../../../src/data/menus.ts"],"names":[],"mappings":"AAAA,iFAAiF;AAIjF,MAAM,CAAC,MAAM,mBAAmB,GAAmB;IACjD,kCAAkC;IAClC,aAAa,EAAE,QAAQ;IACvB,iFAAiF;IACjF,oBAAoB,EAAE,YAAY;CACnC,CAAC;AAEF;;;;;;;;;GASG;AACH,MAAM,UAAU,gBAAgB,CAC9B,SAAiB,cAAc,EAC/B,WAAmB,qBAAqB,EACxC,uBAA+B,EAAE,EACjC,iBAAyB,EAAE;IAE3B,IAAI,oBAAoB;QACtB,mBAAmB,CAAC,oBAAoB,GAAG,oBAAoB,CAAC,CAAC,8BAA8B;IAEjG,OAAO;QACL,KAAK,EAAE;YACL,OAAO,EAAE,wBAAwB;YACjC,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,GAAG,QAAQ,qBAAqB;oBACtC,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,IAAI,EAAE,GAAG,QAAQ,6BAA6B;oBAC9C,KAAK,EAAE,qBAAqB;oBAC5B,GAAG,EAAE,GAAG,QAAQ,wBAAwB;iBACzC;aACF;YACD,aAAa,EAAE;gBACb;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,KAAK,EAAE,eAAe;oBACtB,GAAG,EAAE,GAAG,QAAQ,uBAAuB;iBACxC;gBACD;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;gBACD;oBACE,KAAK,EAAE,gBAAgB;oBACvB,GAAG,EAAE,GAAG,QAAQ,uBAAuB;iBACxC;gBACD;oBACE,KAAK,EAAE,iCAAiC;oBACxC,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;aACF;YACD,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,GAAG,EAAE,GAAG,QAAQ,4BAA4B;iBAC7C;gBACD;oBACE,KAAK,EAAE,mCAAmC;oBAC1C,GAAG,EAAE,GAAG,QAAQ,qBAAqB;iBACtC;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,GAAG,EAAE,GAAG,QAAQ,sBAAsB;iBACvC;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,GAAG,EAAE,GAAG,QAAQ,qBAAqB;iBACtC;gBACD;oBACE,KAAK,EAAE,yBAAyB;oBAChC,GAAG,EAAE,GAAG,QAAQ,yBAAyB;iBAC1C;gBACD;oBACE,KAAK,EAAE,UAAU;oBACjB,GAAG,EAAE,GAAG,QAAQ,mBAAmB;iBACpC;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;aACF;YACD,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB;QACD,MAAM,EAAE;YACN,OAAO,EAAE,QAAQ;YACjB,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,GAAG,QAAQ,+CAA+C;oBAChE,KAAK,EAAE,qBAAqB;oBAC5B,GAAG,EAAE,GAAG,QAAQ,0CAA0C;iBAC3D;gBACD;oBACE,IAAI,EAAE,GAAG,QAAQ,4BAA4B;oBAC7C,KAAK,EAAE,yBAAyB;oBAChC,GAAG,EAAE,GAAG,QAAQ,uBAAuB;iBACxC;aACF;YACD,aAAa,EAAE;gBACb;oBACE,KAAK,EAAE,YAAY;oBACnB,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,KAAK,EAAE,gBAAgB;oBACvB,GAAG,EAAE,GAAG,QAAQ,wBAAwB;iBACzC;gBACD;oBACE,KAAK,EAAE,2BAA2B;oBAClC,GAAG,EAAE,GAAG,QAAQ,qBAAqB;iBACtC;gBACD;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,0BAA0B;iBAC3C;gBACD;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;aACF;YACD,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,aAAa;oBACpB,GAAG,EAAE,GAAG,QAAQ,eAAe;iBAChC;gBACD;oBACE,KAAK,EAAE,yBAAyB;oBAChC,GAAG,EAAE,GAAG,QAAQ,gCAAgC;iBACjD;gBACD;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,GAAG,EAAE,GAAG,QAAQ,yCAAyC;iBAC1D;aACF;YACD,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB;QACD,IAAI,EAAE;YACJ,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,OAAO;oBACd,GAAG,EAAE,GAAG,QAAQ,SAAS;iBAC1B;gBACD;oBACE,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,0BAA0B;iBAChC;gBACD;oBACE,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,GAAG,QAAQ,SAAS;iBAC1B;gBACD;oBACE,KAAK,EAAE,UAAU;oBACjB,GAAG,EAAE,GAAG,QAAQ,YAAY;iBAC7B;gBACD;oBACE,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,GAAG,QAAQ,iBAAiB;iBAClC;gBACD;oBACE,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,GAAG,QAAQ,yCAAyC;iBAC1D;gBACD;oBACE,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,GAAG,QAAQ,aAAa;iBAC9B;gBACD;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,4BAA4B;iBAC7C;aACF;YACD,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE;YACjB,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB;QACD,QAAQ,EAAE;YACR,OAAO,EAAE,UAAU;YACnB,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,GAAG,QAAQ,8BAA8B;oBAC/C,KAAK,EAAE,iBAAiB;oBACxB,GAAG,EAAE,GAAG,QAAQ,yBAAyB;iBAC1C;gBACD;oBACE,IAAI,EAAE,GAAG,QAAQ,iCAAiC;oBAClD,KAAK,EAAE,qBAAqB;oBAC5B,GAAG,EAAE,GAAG,QAAQ,4BAA4B;iBAC7C;aACF;YACD,aAAa,EAAE;gBACb;oBACE,KAAK,EAAE,cAAc;oBACrB,GAAG,EAAE,GAAG,QAAQ,mBAAmB;iBACpC;gBACD;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,KAAK,EAAE,cAAc;oBACrB,GAAG,EAAE,GAAG,QAAQ,sCAAsC;iBACvD;gBACD;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,GAAG,EAAE,GAAG,QAAQ,6BAA6B;iBAC9C;gBACD;oBACE,KAAK,EAAE,kBAAkB;oBACzB,GAAG,EAAE,GAAG,QAAQ,yBAAyB;iBAC1C;gBACD;oBACE,KAAK,EAAE,kBAAkB;oBACzB,GAAG,EAAE,GAAG,QAAQ,0BAA0B;iBAC3C;aACF;YACD,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,+BAA+B;oBACtC,GAAG,EAAE,GAAG,QAAQ,uBAAuB;iBACxC;gBACD;oBACE,KAAK,EAAE,kBAAkB;oBACzB,GAAG,EAAE,GAAG,QAAQ,0BAA0B;iBAC3C;gBACD;oBACE,KAAK,EAAE,KAAK;oBACZ,GAAG,EAAE,GAAG,QAAQ,qBAAqB;iBACtC;gBACD;oBACE,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,GAAG,QAAQ,gCAAgC;iBACjD;gBACD;oBACE,KAAK,EAAE,iBAAiB;oBACxB,GAAG,EAAE,GAAG,QAAQ,kBAAkB;iBACnC;gBACD;oBACE,KAAK,EAAE,yBAAyB;oBAChC,GAAG,EAAE,GAAG,QAAQ,wBAAwB;iBACzC;gBACD;oBACE,KAAK,EAAE,gBAAgB;oBACvB,GAAG,EAAE,GAAG,QAAQ,wBAAwB;iBACzC;gBACD;oBACE,KAAK,EAAE,yBAAyB;oBAChC,GAAG,EAAE,GAAG,QAAQ,iBAAiB;iBAClC;gBACD;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,GAAG,EAAE,GAAG,QAAQ,uBAAuB;iBACxC;gBACD;oBACE,KAAK,EAAE,+BAA+B;oBACtC,GAAG,EAAE,GAAG,QAAQ,2BAA2B;iBAC5C;gBACD;oBACE,KAAK,EAAE,eAAe;oBACtB,GAAG,EAAE,GAAG,QAAQ,sBAAsB;iBACvC;gBACD;oBACE,KAAK,EAAE,aAAa;oBACpB,GAAG,EAAE,GAAG,QAAQ,sCAAsC;iBACvD;gBACD;oBACE,KAAK,EAAE,eAAe;oBACtB,GAAG,EAAE,GAAG,QAAQ,mBAAmB;iBACpC;aACF;YACD,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB;QACD,KAAK,EAAE;YACL,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE;gBACT;oBACE,KAAK,EAAE,cAAc;oBACrB,IAAI,EAAE,GAAG,QAAQ,sBAAsB;oBACvC,GAAG,EAAE,0BAA0B;iBAChC;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,IAAI,EAAE,GAAG,QAAQ,yBAAyB;oBAC1C,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;aACF;YACD,aAAa,EAAE;gBACb;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,GAAG,EAAE,GAAG,QAAQ,sBAAsB;iBACvC;gBACD;oBACE,KAAK,EAAE,cAAc;oBACrB,GAAG,EAAE,GAAG,QAAQ,kBAAkB;iBACnC;gBACD;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,4BAA4B;iBAC7C;aACF;YACD,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,kBAAkB;iBACnC;gBACD;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,GAAG,EAAE,GAAG,QAAQ,2BAA2B;iBAC5C;gBACD;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,eAAe;iBAChC;gBACD;oBACE,KAAK,EAAE,+BAA+B;oBACtC,GAAG,EAAE,GAAG,QAAQ,uBAAuB;iBACxC;gBACD;oBACE,KAAK,EAAE,mBAAmB;oBAC1B,GAAG,EAAE,GAAG,QAAQ,0BAA0B;iBAC3C;gBACD;oBACE,KAAK,EAAE,aAAa;oBACpB,GAAG,EAAE,GAAG,QAAQ,sBAAsB;iBACvC;gBACD;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,GAAG,EAAE,GAAG,QAAQ,+BAA+B;iBAChD;aACF;YACD,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB;QACD,GAAG,EAAE;YACH,eAAe,EAAE;gBACf;oBACE,GAAG,EAAE,4DAA4D;oBACjE,KAAK,EAAE,uBAAuB;oBAC9B,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,kFAAkF;oBACvF,KAAK,EAAE,2BAA2B;oBAClC,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,sBAAsB,EAAE;gBACtB;oBACE,GAAG,EAAE,4FAA4F;oBACjG,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,qEAAqE;oBAC1E,KAAK,EAAE,SAAS;oBAChB,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,kEAAkE;oBACvE,KAAK,EAAE,QAAQ;oBACf,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,6GAA6G;oBAClH,KAAK,EAAE,MAAM;oBACb,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,cAAc,EAAE;gBACd;oBACE,GAAG,EAAE,oCAAoC;oBACzC,KAAK,EAAE,yBAAyB;oBAChC,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,6CAA6C;oBAClD,KAAK,EAAE,YAAY;oBACnB,QAAQ,EAAE,IAAI;iBACf;gBACD;oBACE,GAAG,EAAE,uCAAuC;oBAC5C,KAAK,EAAE,mBAAmB;oBAC1B,QAAQ,EAAE,IAAI;iBACf;aACF;YACD,OAAO,EAAE,EAAE;YACX,SAAS,EAAE,EAAE;YACb,aAAa,EAAE,EAAE;YACjB,KAAK,EAAE,EAAE;SACV;QACD,KAAK,EAAE;YACL,OAAO,EAAE,OAAO;YAChB,SAAS,EAAE;gBACT;oBACE,IAAI,EAAE,GAAG,QAAQ,kBAAkB;oBACnC,KAAK,EAAE,SAAS;oBAChB,GAAG,EAAE,GAAG,QAAQ,aAAa;iBAC9B;gBACD;oBACE,IAAI,EAAE,GAAG,QAAQ,mBAAmB;oBACpC,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,cAAc;iBAC/B;aACF;YACD,aAAa,EAAE;gBACb;oBACE,KAAK,EAAE,WAAW;oBAClB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;iBAClC;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,oBAAoB;iBACrC;gBACD;oBACE,KAAK,EAAE,gBAAgB;oBACvB,GAAG,EAAE,GAAG,QAAQ,4BAA4B;iBAC7C;gBACD;oBACE,KAAK,EAAE,oBAAoB;oBAC3B,GAAG,EAAE,GAAG,QAAQ,2BAA2B;iBAC5C;gBACD;oBACE,KAAK,EAAE,qBAAqB;oBAC5B,GAAG,EAAE,GAAG,QAAQ,cAAc;iBAC/B;aACF;YACD,KAAK,EAAE;gBACL;oBACE,KAAK,EAAE,sBAAsB;oBAC7B,GAAG,EAAE,GAAG,QAAQ,+BAA+B;iBAChD;gBACD;oBACE,KAAK,EAAE,cAAc;oBACrB,GAAG,EAAE,GAAG,QAAQ,6BAA6B;iBAC9C;gBACD;oBACE,KAAK,EAAE,wBAAwB;oBAC/B,GAAG,EAAE,GAAG,QAAQ,iCAAiC;iBAClD;gBACD;oBACE,KAAK,EAAE,2BAA2B;oBAClC,GAAG,EAAE,GAAG,QAAQ,mCAAmC;iBACpD;gBACD;oBACE,KAAK,EAAE,iBAAiB;oBACxB,GAAG,EAAE,GAAG,QAAQ,mBAAmB;iBACpC;gBACD;oBACE,KAAK,EAAE,QAAQ;oBACf,GAAG,EAAE,GAAG,QAAQ,yBAAyB;iBAC1C;gBACD;oBACE,KAAK,EAAE,uBAAuB;oBAC9B,GAAG,EAAE,GAAG,QAAQ,+BAA+B;iBAChD;gBACD;oBACE,KAAK,EAAE,yBAAyB;oBAChC,GAAG,EAAE,GAAG,QAAQ,kCAAkC;iBACnD;gBACD;oBACE,KAAK,EAAE,eAAe;oBACtB,GAAG,EAAE,GAAG,QAAQ,iBAAiB;iBAClC;gBACD;oBACE,KAAK,EAAE,YAAY;oBACnB,GAAG,EAAE,GAAG,QAAQ,qBAAqB;iBACtC;gBACD;oBACE,KAAK,EAAE,kBAAkB;oBACzB,GAAG,EAAE,GAAG,QAAQ,qBAAqB;iBACtC;gBACD;oBACE,KAAK,EAAE,OAAO;oBACd,GAAG,EAAE,GAAG,QAAQ,gBAAgB;iBACjC;gBACD;oBACE,KAAK,EAAE,aAAa;oBACpB,GAAG,EAAE,GAAG,QAAQ,sBAAsB;iBACvC;aACF;YACD,eAAe,EAAE,EAAE;YACnB,sBAAsB,EAAE,EAAE;YAC1B,cAAc,EAAE,EAAE;SACnB;QACD,IAAI,EAAE;YACJ;gBACE,GAAG,EAAE,GAAG,QAAQ,SAAS;gBACzB,KAAK,EAAE,cAAc;gBACrB,cAAc,EAAE,YAAY;gBAC5B,KAAK,EAAE,eAAe;aACvB;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,MAAM,EAAE;gBACrC,KAAK,EAAE,YAAY;gBACnB,cAAc,EAAE,aAAa;aAC9B;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,MAAM,QAAQ;gBAC3C,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,WAAW;aAC5B;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,gBAAgB,MAAM,EAAE;gBACxC,KAAK,EAAE,cAAc;gBACrB,cAAc,EAAE,eAAe;aAChC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,MAAM,QAAQ;gBAC3C,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,WAAW;aAC5B;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,MAAM,cAAc;gBACjD,KAAK,EAAE,gBAAgB;gBACvB,cAAc,EAAE,iBAAiB;aAClC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,MAAM,cAAc;gBACjD,KAAK,EAAE,iBAAiB;gBACxB,cAAc,EAAE,gBAAgB;aACjC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,mBAAmB;gBACnC,KAAK,EAAE,kBAAkB;gBACzB,cAAc,EAAE,cAAc;aAC/B;YACD;gBACE,GAAG,EAAE,0BAA0B;gBAC/B,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,UAAU;aAC3B;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,iBAAiB;gBACjC,KAAK,EAAE,SAAS;gBAChB,cAAc,EAAE,YAAY;aAC7B;SACF;QACD,SAAS,EAAE;YACT;gBACE,KAAK,EAAE,SAAS;aACjB;YACD;gBACE,KAAK,EAAE,OAAO;aACf;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,YAAY,cAAc,EAAE;gBAC5C,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,kBAAkB;aACnC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,gCAAgC,cAAc,EAAE;gBAChE,KAAK,EAAE,YAAY;gBACnB,cAAc,EAAE,oBAAoB;aACrC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,cAAc,GAAG;gBAC9C,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,mBAAmB;aACpC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,aAAa,cAAc,GAAG;gBAC9C,KAAK,EAAE,UAAU;gBACjB,cAAc,EAAE,mBAAmB;aACpC;YACD;gBACE,GAAG,EAAE,wCAAwC,cAAc,EAAE;gBAC7D,KAAK,EAAE,SAAS;gBAChB,cAAc,EAAE,kBAAkB;aACnC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,WAAW,cAAc,EAAE;gBAC3C,KAAK,EAAE,QAAQ;gBACf,cAAc,EAAE,kBAAkB;aACnC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,WAAW,cAAc,YAAY;gBACrD,KAAK,EAAE,QAAQ;gBACf,cAAc,EAAE,iBAAiB;aAClC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,WAAW,cAAc,aAAa;gBACtD,KAAK,EAAE,YAAY;gBACnB,cAAc,EAAE,oBAAoB;aACrC;SACF;QACD,cAAc,EAAE;YACd;gBACE,GAAG,EAAE,GAAG,QAAQ,wCAAwC,cAAc,EAAE;gBACxE,KAAK,EAAE,cAAc;gBACrB,cAAc,EAAE,sBAAsB;aACvC;SACF;QACD,SAAS,EAAE;YACT;gBACE,GAAG,EAAE,GAAG,QAAQ,SAAS;gBACzB,KAAK,EAAE,kBAAkB;gBACzB,cAAc,EAAE,mBAAmB;aACpC;YACD;gBACE,GAAG,EAAE,GAAG,QAAQ,QAAQ;gBACxB,KAAK,EAAE,QAAQ;gBACf,cAAc,EAAE,kBAAkB;aACnC;SACF;KACF,CAAC;AACJ,CAAC","sourcesContent":["// @see https://git.archive.org/www/offshoot/-/blob/main/guides/update-top-nav.md\n\nimport { IATopNavConfig, IATopNavMenuConfig } from '../models';\n\nexport const defaultTopNavConfig: IATopNavConfig = {\n // Google Analytics event category\n eventCategory: 'TopNav',\n // Default value, if more accurate value is not passed in to `buildTopNavMenus()`\n waybackPagesArchived: '1 trillion',\n};\n\n/**\n * Creates archive.org top navigation configuration\n * @param { string } userid archive.org account (immutable) userid\n * @param { boolean } localLinks passing in false will ensure all links begin: https://archive.org\n * @param { string } waybackPagesArchived label readable 'how many pages in WayBack machine?'\n * If you don't pass in something, you'll get the potentially\n * older/less accurate version.\n * @param { string } itemIdentifier The current item being viewed, to populate admin menu items\n * @returns { object }\n */\nexport function buildTopNavMenus(\n userid: string = '___USERID___',\n baseHost: string = 'https://archive.org',\n waybackPagesArchived: string = '',\n itemIdentifier: string = '',\n): IATopNavMenuConfig {\n if (waybackPagesArchived)\n defaultTopNavConfig.waybackPagesArchived = waybackPagesArchived; // update to more accurate val\n\n return {\n audio: {\n heading: 'Internet Archive Audio',\n iconLinks: [\n {\n icon: `${baseHost}/services/img/etree`,\n title: 'Live Music Archive',\n url: `${baseHost}/details/etree`,\n },\n {\n icon: `${baseHost}/services/img/librivoxaudio`,\n title: 'Librivox Free Audio',\n url: `${baseHost}/details/librivoxaudio`,\n },\n ],\n featuredLinks: [\n {\n title: 'All Audio',\n url: `${baseHost}/details/audio`,\n },\n {\n title: 'Grateful Dead',\n url: `${baseHost}/details/GratefulDead`,\n },\n {\n title: 'Netlabels',\n url: `${baseHost}/details/netlabels`,\n },\n {\n title: 'Old Time Radio',\n url: `${baseHost}/details/oldtimeradio`,\n },\n {\n title: '78 RPMs and Cylinder Recordings',\n url: `${baseHost}/details/78rpm`,\n },\n ],\n links: [\n {\n title: 'Audio Books & Poetry',\n url: `${baseHost}/details/audio_bookspoetry`,\n },\n {\n title: 'Computers, Technology and Science',\n url: `${baseHost}/details/audio_tech`,\n },\n {\n title: 'Music, Arts & Culture',\n url: `${baseHost}/details/audio_music`,\n },\n {\n title: 'News & Public Affairs',\n url: `${baseHost}/details/audio_news`,\n },\n {\n title: 'Spirituality & Religion',\n url: `${baseHost}/details/audio_religion`,\n },\n {\n title: 'Podcasts',\n url: `${baseHost}/details/podcasts`,\n },\n {\n title: 'Radio News Archive',\n url: `${baseHost}/details/radio`,\n },\n ],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n },\n images: {\n heading: 'Images',\n iconLinks: [\n {\n icon: `${baseHost}/services/img/metropolitanmuseumofart-gallery`,\n title: 'Metropolitan Museum',\n url: `${baseHost}/details/metropolitanmuseumofart-gallery`,\n },\n {\n icon: `${baseHost}/services/img/clevelandart`,\n title: 'Cleveland Museum of Art',\n url: `${baseHost}/details/clevelandart`,\n },\n ],\n featuredLinks: [\n {\n title: 'All Images',\n url: `${baseHost}/details/image`,\n },\n {\n title: 'Flickr Commons',\n url: `${baseHost}/details/flickrcommons`,\n },\n {\n title: 'Occupy Wall Street Flickr',\n url: `${baseHost}/details/flickr-ows`,\n },\n {\n title: 'Cover Art',\n url: `${baseHost}/details/coverartarchive`,\n },\n {\n title: 'USGS Maps',\n url: `${baseHost}/details/maps_usgs`,\n },\n ],\n links: [\n {\n title: 'NASA Images',\n url: `${baseHost}/details/nasa`,\n },\n {\n title: 'Solar System Collection',\n url: `${baseHost}/details/solarsystemcollection`,\n },\n {\n title: 'Ames Research Center',\n url: `${baseHost}/details/amesresearchcenterimagelibrary`,\n },\n ],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n },\n more: {\n links: [\n {\n title: 'About',\n url: `${baseHost}/about/`,\n },\n {\n title: 'Blog',\n url: 'https://blog.archive.org',\n },\n {\n title: 'Events',\n url: `${baseHost}/events`,\n },\n {\n title: 'Projects',\n url: `${baseHost}/projects/`,\n },\n {\n title: 'Help',\n url: `${baseHost}/about/faqs.php`,\n },\n {\n title: 'Donate',\n url: `${baseHost}/donate?origin=iawww-TopNavDonateButton`,\n },\n {\n title: 'Contact',\n url: `${baseHost}/about/contact`,\n },\n {\n title: 'Jobs',\n url: `${baseHost}/about/jobs`,\n },\n {\n title: 'Volunteer',\n url: `${baseHost}/about/volunteer-positions`,\n },\n ],\n heading: '',\n iconLinks: [],\n featuredLinks: [],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n },\n software: {\n heading: 'Software',\n iconLinks: [\n {\n icon: `${baseHost}/services/img/internetarcade`,\n title: 'Internet Arcade',\n url: `${baseHost}/details/internetarcade`,\n },\n {\n icon: `${baseHost}/services/img/consolelivingroom`,\n title: 'Console Living Room',\n url: `${baseHost}/details/consolelivingroom`,\n },\n ],\n featuredLinks: [\n {\n title: 'All Software',\n url: `${baseHost}/details/software`,\n },\n {\n title: 'Old School Emulation',\n url: `${baseHost}/details/tosec`,\n },\n {\n title: 'MS-DOS Games',\n url: `${baseHost}/details/softwarelibrary_msdos_games`,\n },\n {\n title: 'Historical Software',\n url: `${baseHost}/details/historicalsoftware`,\n },\n {\n title: 'Classic PC Games',\n url: `${baseHost}/details/classicpcgames`,\n },\n {\n title: 'Software Library',\n url: `${baseHost}/details/softwarelibrary`,\n },\n ],\n links: [\n {\n title: 'Kodi Archive and Support File',\n url: `${baseHost}/details/kodi_archive`,\n },\n {\n title: 'Vintage Software',\n url: `${baseHost}/details/vintagesoftware`,\n },\n {\n title: 'APK',\n url: `${baseHost}/details/apkarchive`,\n },\n {\n title: 'MS-DOS',\n url: `${baseHost}/details/softwarelibrary_msdos`,\n },\n {\n title: 'CD-ROM Software',\n url: `${baseHost}/details/cd-roms`,\n },\n {\n title: 'CD-ROM Software Library',\n url: `${baseHost}/details/cdromsoftware`,\n },\n {\n title: 'Software Sites',\n url: `${baseHost}/details/softwaresites`,\n },\n {\n title: 'Tucows Software Library',\n url: `${baseHost}/details/tucows`,\n },\n {\n title: 'Shareware CD-ROMs',\n url: `${baseHost}/details/cdbbsarchive`,\n },\n {\n title: 'Software Capsules Compilation',\n url: `${baseHost}/details/softwarecapsules`,\n },\n {\n title: 'CD-ROM Images',\n url: `${baseHost}/details/cdromimages`,\n },\n {\n title: 'ZX Spectrum',\n url: `${baseHost}/details/softwarelibrary_zx_spectrum`,\n },\n {\n title: 'DOOM Level CD',\n url: `${baseHost}/details/doom-cds`,\n },\n ],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n },\n texts: {\n heading: 'Texts',\n iconLinks: [\n {\n title: 'Open Library',\n icon: `${baseHost}/images/widgetOL.png`,\n url: 'https://openlibrary.org/',\n },\n {\n title: 'American Libraries',\n icon: `${baseHost}/services/img/americana`,\n url: `${baseHost}/details/americana`,\n },\n ],\n featuredLinks: [\n {\n title: 'All Texts',\n url: `${baseHost}/details/texts`,\n },\n {\n title: 'Smithsonian Libraries',\n url: `${baseHost}/details/smithsonian`,\n },\n {\n title: 'FEDLINK (US)',\n url: `${baseHost}/details/fedlink`,\n },\n {\n title: 'Genealogy',\n url: `${baseHost}/details/genealogy`,\n },\n {\n title: 'Lincoln Collection',\n url: `${baseHost}/details/lincolncollection`,\n },\n ],\n links: [\n {\n title: 'American Libraries',\n url: `${baseHost}/details/americana`,\n },\n {\n title: 'Canadian Libraries',\n url: `${baseHost}/details/toronto`,\n },\n {\n title: 'Universal Library',\n url: `${baseHost}/details/universallibrary`,\n },\n {\n title: 'Project Gutenberg',\n url: `${baseHost}/details/gutenberg`,\n },\n {\n title: \"Children's Library\",\n url: `${baseHost}/details/iacl`,\n },\n {\n title: 'Biodiversity Heritage Library',\n url: `${baseHost}/details/biodiversity`,\n },\n {\n title: 'Books by Language',\n url: `${baseHost}/details/booksbylanguage`,\n },\n {\n title: 'Folkscanomy',\n url: `${baseHost}/details/folkscanomy`,\n },\n {\n title: 'Government Documents',\n url: `${baseHost}/details/government-documents`,\n },\n ],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n },\n web: {\n mobileAppsLinks: [\n {\n url: 'https://apps.apple.com/us/app/wayback-machine/id1201888313',\n title: 'Wayback Machine (iOS)',\n external: true,\n },\n {\n url: 'https://play.google.com/store/apps/details?id=com.internetarchive.waybackmachine',\n title: 'Wayback Machine (Android)',\n external: true,\n },\n ],\n browserExtensionsLinks: [\n {\n url: 'https://chrome.google.com/webstore/detail/wayback-machine/fpnmgdkabkmnadcjpehmlllkndpkmiak',\n title: 'Chrome',\n external: true,\n },\n {\n url: 'https://addons.mozilla.org/en-US/firefox/addon/wayback-machine_new/',\n title: 'Firefox',\n external: true,\n },\n {\n url: 'https://apps.apple.com/us/app/wayback-machine/id1472432422?mt=12',\n title: 'Safari',\n external: true,\n },\n {\n url: 'https://microsoftedge.microsoft.com/addons/detail/wayback-machine/kjmickeoogghaimmomagaghnogelpcpn?hl=en-US',\n title: 'Edge',\n external: true,\n },\n ],\n archiveItLinks: [\n {\n url: 'https://www.archive-it.org/explore',\n title: 'Explore the Collections',\n external: true,\n },\n {\n url: 'https://www.archive-it.org/blog/learn-more/',\n title: 'Learn More',\n external: true,\n },\n {\n url: 'https://www.archive-it.org/contact-us',\n title: 'Build Collections',\n external: true,\n },\n ],\n heading: '',\n iconLinks: [],\n featuredLinks: [],\n links: [],\n },\n video: {\n heading: 'Video',\n iconLinks: [\n {\n icon: `${baseHost}/services/img/tv`,\n title: 'TV News',\n url: `${baseHost}/details/tv`,\n },\n {\n icon: `${baseHost}/services/img/911`,\n title: 'Understanding 9/11',\n url: `${baseHost}/details/911`,\n },\n ],\n featuredLinks: [\n {\n title: 'All Video',\n url: `${baseHost}/details/movies`,\n },\n {\n title: 'Prelinger Archives',\n url: `${baseHost}/details/prelinger`,\n },\n {\n title: 'Democracy Now!',\n url: `${baseHost}/details/democracy_now_vid`,\n },\n {\n title: 'Occupy Wall Street',\n url: `${baseHost}/details/occupywallstreet`,\n },\n {\n title: 'TV NSA Clip Library',\n url: `${baseHost}/details/nsa`,\n },\n ],\n links: [\n {\n title: 'Animation & Cartoons',\n url: `${baseHost}/details/animationandcartoons`,\n },\n {\n title: 'Arts & Music',\n url: `${baseHost}/details/artsandmusicvideos`,\n },\n {\n title: 'Computers & Technology',\n url: `${baseHost}/details/computersandtechvideos`,\n },\n {\n title: 'Cultural & Academic Films',\n url: `${baseHost}/details/culturalandacademicfilms`,\n },\n {\n title: 'Ephemeral Films',\n url: `${baseHost}/details/ephemera`,\n },\n {\n title: 'Movies',\n url: `${baseHost}/details/moviesandfilms`,\n },\n {\n title: 'News & Public Affairs',\n url: `${baseHost}/details/newsandpublicaffairs`,\n },\n {\n title: 'Spirituality & Religion',\n url: `${baseHost}/details/spiritualityandreligion`,\n },\n {\n title: 'Sports Videos',\n url: `${baseHost}/details/sports`,\n },\n {\n title: 'Television',\n url: `${baseHost}/details/television`,\n },\n {\n title: 'Videogame Videos',\n url: `${baseHost}/details/gamevideos`,\n },\n {\n title: 'Vlogs',\n url: `${baseHost}/details/vlogs`,\n },\n {\n title: 'Youth Media',\n url: `${baseHost}/details/youth_media`,\n },\n ],\n mobileAppsLinks: [],\n browserExtensionsLinks: [],\n archiveItLinks: [],\n },\n user: [\n {\n url: `${baseHost}/upload`,\n title: 'Upload files',\n analyticsEvent: 'UserUpload',\n class: 'mobile-upload',\n },\n {\n url: `${baseHost}/details/@${userid}`,\n title: 'My uploads',\n analyticsEvent: 'UserLibrary',\n },\n {\n url: `${baseHost}/details/@${userid}/loans`,\n title: 'My loans',\n analyticsEvent: 'UserLoans',\n },\n {\n url: `${baseHost}/details/fav-${userid}`,\n title: 'My favorites',\n analyticsEvent: 'UserFavorites',\n },\n {\n url: `${baseHost}/details/@${userid}/lists`,\n title: 'My lists',\n analyticsEvent: 'UserLists',\n },\n {\n url: `${baseHost}/details/@${userid}/collections`,\n title: 'My collections',\n analyticsEvent: 'UserCollections',\n },\n {\n url: `${baseHost}/details/@${userid}/web-archive`,\n title: 'My web archives',\n analyticsEvent: 'UserWebArchive',\n },\n {\n url: `${baseHost}/account/settings`,\n title: 'Account settings',\n analyticsEvent: 'UserSettings',\n },\n {\n url: 'https://help.archive.org',\n title: 'Get help',\n analyticsEvent: 'UserHelp',\n },\n {\n url: `${baseHost}/account/logout`,\n title: 'Log out',\n analyticsEvent: 'UserLogOut',\n },\n ],\n userAdmin: [\n {\n title: 'ADMINS:',\n },\n {\n title: 'item:',\n },\n {\n url: `${baseHost}/editxml/${itemIdentifier}`,\n title: 'edit xml',\n analyticsEvent: 'AdminUserEditXML',\n },\n {\n url: `${baseHost}/edit.php?redir=1&identifier=${itemIdentifier}`,\n title: 'edit files',\n analyticsEvent: 'AdminUserEditFiles',\n },\n {\n url: `${baseHost}/download/${itemIdentifier}/`,\n title: 'download',\n analyticsEvent: 'AdminUserDownload',\n },\n {\n url: `${baseHost}/metadata/${itemIdentifier}/`,\n title: 'metadata',\n analyticsEvent: 'AdminUserMetadata',\n },\n {\n url: `https://catalogd.archive.org/history/${itemIdentifier}`,\n title: 'history',\n analyticsEvent: 'AdminUserHistory',\n },\n {\n url: `${baseHost}/manage/${itemIdentifier}`,\n title: 'manage',\n analyticsEvent: 'AdminUserManager',\n },\n {\n url: `${baseHost}/manage/${itemIdentifier}#make_dark`,\n title: 'curate',\n analyticsEvent: 'AdminUserCurate',\n },\n {\n url: `${baseHost}/manage/${itemIdentifier}#modify_xml`,\n title: 'modify xml',\n analyticsEvent: 'AdminUserModifyXML',\n },\n ],\n userAdminFlags: [\n {\n url: `${baseHost}/services/flags/admin.php?identifier=${itemIdentifier}`,\n title: 'manage flags',\n analyticsEvent: 'AdminUserManageFlags',\n },\n ],\n signedOut: [\n {\n url: `${baseHost}/signup`,\n title: 'Sign up for free',\n analyticsEvent: 'AvatarMenu-Signup',\n },\n {\n url: `${baseHost}/login`,\n title: 'Log in',\n analyticsEvent: 'AvatarMenu-Login',\n },\n ],\n };\n}\n"]}
@@ -1,21 +1,20 @@
1
- import { CSSResult, nothing, PropertyValues, TemplateResult } from 'lit';
1
+ import { nothing, PropertyValues, TemplateResult } from 'lit';
2
2
  import { IATopNavConfig, IATopNavLink } from './models';
3
3
  import TrackedElement from './tracked-element';
4
4
  export default class DropdownMenu extends TrackedElement {
5
5
  baseHost: string;
6
6
  config: IATopNavConfig;
7
- hideSearch: boolean;
8
7
  menuItems: IATopNavLink[] | IATopNavLink[][];
9
8
  animated: boolean;
10
9
  open: boolean;
11
10
  private previousKeydownListener?;
12
- static get styles(): CSSResult[];
11
+ static get styles(): import("lit").CSSResult;
13
12
  updated(props: PropertyValues): void;
14
13
  get dropdownItems(): typeof nothing | TemplateResult[] | (TemplateResult[] | undefined)[];
15
14
  static get dropdownDivider(): TemplateResult<1>;
16
15
  private dropdownSection;
17
16
  dropdownLink(link: IATopNavLink): TemplateResult;
18
17
  static dropdownText(item: IATopNavLink): TemplateResult<1>;
19
- get menuClass(): string;
18
+ get menuClass(): "closed" | "open" | "initial";
20
19
  render(): TemplateResult<1>;
21
20
  }
@@ -14,13 +14,12 @@ export default class DropdownMenu extends TrackedElement {
14
14
  super(...arguments);
15
15
  this.baseHost = '';
16
16
  this.config = defaultTopNavConfig;
17
- this.hideSearch = false;
18
17
  this.menuItems = [];
19
18
  this.animated = false;
20
19
  this.open = false;
21
20
  }
22
21
  static get styles() {
23
- return [dropdownMenuCSS];
22
+ return dropdownMenuCSS;
24
23
  }
25
24
  updated(props) {
26
25
  var _a;
@@ -86,14 +85,11 @@ export default class DropdownMenu extends TrackedElement {
86
85
  return html `<span class="info-item">${item.title}</span>`;
87
86
  }
88
87
  get menuClass() {
89
- const hiddenClass = this.hideSearch ? ' search-hidden' : '';
90
- if (this.open) {
91
- return `open${hiddenClass}`;
92
- }
93
- if (this.animated) {
94
- return `closed${hiddenClass}`;
95
- }
96
- return `initial${hiddenClass}`;
88
+ if (this.open)
89
+ return 'open';
90
+ if (this.animated)
91
+ return 'closed';
92
+ return 'initial';
97
93
  }
98
94
  render() {
99
95
  return html `
@@ -117,9 +113,6 @@ __decorate([
117
113
  __decorate([
118
114
  property({ type: Object })
119
115
  ], DropdownMenu.prototype, "config", void 0);
120
- __decorate([
121
- property({ type: Boolean })
122
- ], DropdownMenu.prototype, "hideSearch", void 0);
123
116
  __decorate([
124
117
  property({ type: Array })
125
118
  ], DropdownMenu.prototype, "menuItems", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../src/dropdown-menu.ts"],"names":[],"mappings":";AAAA,OAAO,EAAa,IAAI,EAAE,OAAO,EAAkC,MAAM,KAAK,CAAC;AAC/E,OAAO,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAE7C,OAAO,KAAK,MAAM,oBAAoB,CAAC;AACvC,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AACnD,OAAO,SAAS,MAAM,kBAAkB,CAAC;AACzC,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAE9D,OAAO,eAAe,MAAM,wBAAwB,CAAC;AACrD,OAAO,cAAc,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,SAAS,EAAE,MAAM,8BAA8B,CAAC;AACzD,OAAO,kBAAkB,MAAM,2BAA2B,CAAC;AAE3D,MAAM,CAAC,OAAO,OAAO,YAAa,SAAQ,cAAc;IAAxD;;QAC8B,aAAQ,GAAG,EAAE,CAAC;QACd,WAAM,GAAmB,mBAAmB,CAAC;QAC5C,eAAU,GAAG,KAAK,CAAC;QACrB,cAAS,GAAsC,EAAE,CAAC;QAChD,aAAQ,GAAG,KAAK,CAAC;QACjB,SAAI,GAAG,KAAK,CAAC;IAgH5C,CAAC;IA3GC,MAAM,KAAK,MAAM;QACf,OAAO,CAAC,eAAe,CAAC,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,KAAqB;;QAC3B,IAAI,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACnC,MAAM,SAAS,GAAG,MAAA,IAAI,CAAC,UAAU,0CAAE,aAAa,CAC9C,gBAAgB,CACF,CAAC;YAEjB,IAAI,SAAS,EAAE,CAAC;gBACd,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAC/C,SAAS,EACT,UAAU,CACX,CAAC;gBACF,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,kBAAkB,CAAC,aAAa,CAAC,CAAC;gBACnE,IAAI,IAAI,CAAC,uBAAuB,EAAE,CAAC;oBACjC,IAAI,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,uBAAuB,CAAC,CAAC;gBACpE,CAAC;gBACD,IAAI,CAAC,uBAAuB,GAAG,kBAAkB,CAAC,aAAa,CAAC;YAClE,CAAC;QACH,CAAC;IACH,CAAC;IAED,IAAI,aAAa;QACf,IAAI,CAAC,IAAI,CAAC,SAAS;YAAE,OAAO,OAAO,CAAC;QAEpC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YACtC,MAAM,OAAO,GAAG,IAAI,CAAC,SAA2B,CAAC;YACjD,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC;QACvC,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,OAAO,EAAE,CAAC,EAAE,EAAE;YACvC,MAAM,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC,CAAC,IAAI,CAAA,EAAE,CAAC;YACzD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;gBAC5B,OAAO;YACT,CAAC;YACD,OAAO,CAAC,MAAM,EAAE,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,CAAC,CAAC;QACpD,CAAC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,KAAK,eAAe;QACxB,OAAO,IAAI,CAAA,2BAA2B,CAAC;IACzC,CAAC;IAEO,eAAe,CAAC,OAAuB;QAC7C,OAAO,OAAO,CAAC,GAAG,CAChB,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAA;;YAER,IAAI,CAAC,GAAG;YACR,CAAC,CAAC,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC;YACzB,CAAC,CAAC,YAAY,CAAC,YAAY,CAAC,IAAI,CAAC;;OAEtC,CACF,CAAC;IACJ,CAAC;IAED,YAAY,CAAC,IAAkB;;QAC7B,MAAM,WAAW,GAAG,MAAA,MAAA,IAAI,CAAC,MAAM,0CAAE,QAAQ,0CAAG,IAAI,CAAC,KAAK,CAAC,CAAC;QACxD,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,KAAK,eAAe,CAAC;QACtD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,IAAI,CAAC,cAAc,CAAC;QAEhD,OAAO,IAAI,CAAA;cACD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC;cAClC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;kBACjB,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI;eACzB,IAAI,CAAC,UAAU;mCACK,MAAA,IAAI,CAAC,MAAM,0CACpC,aAAa,OAAO,IAAI,CAAC,cAAc;mBAC9B,WAAW,CAAC,CAAC,CAAC,gBAAgB,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO;;QAE/D,cAAc,CAAC,CAAC,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,CAAC,OAAO,IAAI,IAAI,CAAC,KAAK;QAC7D,WAAW;YACX,CAAC,CAAC,IAAI,CAAA,4CAA4C,WAAW,SAAS;YACtE,CAAC,CAAC,OAAO;SACR,CAAC;IACR,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,IAAkB;QACpC,OAAO,IAAI,CAAA,2BAA2B,IAAI,CAAC,KAAK,SAAS,CAAC;IAC5D,CAAC;IAED,IAAI,SAAS;QACX,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;QAC5D,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YACd,OAAO,OAAO,WAAW,EAAE,CAAC;QAC9B,CAAC;QACD,IAAI,IAAI,CAAC,QAAQ,EAAE,CAAC;YAClB,OAAO,SAAS,WAAW,EAAE,CAAC;QAChC,CAAC;QACD,OAAO,UAAU,WAAW,EAAE,CAAC;IACjC,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAA;;;mBAGI,IAAI,CAAC,SAAS;yBACR,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;2BAC3B,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC;;;cAGzC,IAAI,CAAC,aAAa;;;;KAI3B,CAAC;IACJ,CAAC;CACF;AArH6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;8CAAe;AACd;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;4CAA8C;AAC5C;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;gDAAoB;AACrB;IAA1B,QAAQ,CAAC,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC;+CAAmD;AAChD;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;8CAAkB;AACjB;IAA5B,QAAQ,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;0CAAc","sourcesContent":["import { CSSResult, html, nothing, PropertyValues, TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport icons from './assets/img/icons';\nimport { defaultTopNavConfig } from './data/menus';\nimport formatUrl from './lib/format-url';\nimport { makeBooleanString } from './lib/make-boolean-string';\nimport { IATopNavConfig, IATopNavLink } from './models';\nimport dropdownMenuCSS from './styles/dropdown-menu';\nimport TrackedElement from './tracked-element';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport KeyboardNavigation from './lib/keyboard-navigation';\n\nexport default class DropdownMenu extends TrackedElement {\n @property({ type: String }) baseHost = '';\n @property({ type: Object }) config: IATopNavConfig = defaultTopNavConfig;\n @property({ type: Boolean }) hideSearch = false;\n @property({ type: Array }) menuItems: IATopNavLink[] | IATopNavLink[][] = [];\n @property({ type: Boolean }) animated = false;\n @property({ type: Boolean }) open = false;\n\n private previousKeydownListener?: // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (this: HTMLElement, ev: KeyboardEvent) => any;\n\n static get styles(): CSSResult[] {\n return [dropdownMenuCSS];\n }\n\n updated(props: PropertyValues) {\n if (props.has('open') && this.open) {\n const container = this.shadowRoot?.querySelector(\n '.nav-container',\n ) as HTMLElement;\n\n if (container) {\n const keyboardNavigation = new KeyboardNavigation(\n container,\n 'usermenu',\n );\n this.addEventListener('keydown', keyboardNavigation.handleKeyDown);\n if (this.previousKeydownListener) {\n this.removeEventListener('keydown', this.previousKeydownListener);\n }\n this.previousKeydownListener = keyboardNavigation.handleKeyDown;\n }\n }\n }\n\n get dropdownItems() {\n if (!this.menuItems) return nothing;\n\n if (!Array.isArray(this.menuItems[0])) {\n const submenu = this.menuItems as IATopNavLink[];\n return this.dropdownSection(submenu);\n }\n return this.menuItems.map((submenu, i) => {\n const joiner = i ? DropdownMenu.dropdownDivider : html``;\n if (!Array.isArray(submenu)) {\n return;\n }\n return [joiner, ...this.dropdownSection(submenu)];\n });\n }\n\n static get dropdownDivider() {\n return html`<li class=\"divider\"></li>`;\n }\n\n private dropdownSection(submenu: IATopNavLink[]): TemplateResult[] {\n return submenu.map(\n (item) => html`\n <li>\n ${item.url\n ? this.dropdownLink(item)\n : DropdownMenu.dropdownText(item)}\n </li>\n `,\n );\n }\n\n dropdownLink(link: IATopNavLink): TemplateResult {\n const calloutText = this.config?.callouts?.[link.title];\n const isMobileUpload = link.class === 'mobile-upload';\n const isTabbable = this.open && !isMobileUpload;\n\n return html`<a\n href=\"${formatUrl(link.url, this.baseHost)}\"\n class=${ifDefined(link.class)}\n tabindex=\"${isTabbable ? '' : '-1'}\"\n @click=${this.trackClick}\n data-event-click-tracking=\"${this.config\n ?.eventCategory}|Nav${link.analyticsEvent}\"\n aria-label=${calloutText ? `New feature: ${link.title}` : nothing}\n >\n ${isMobileUpload ? icons.uploadUnpadded : nothing} ${link.title}\n ${calloutText\n ? html`<span class=\"callout\" aria-hidden=\"true\">${calloutText}</span>`\n : nothing}\n </a>`;\n }\n\n static dropdownText(item: IATopNavLink) {\n return html`<span class=\"info-item\">${item.title}</span>`;\n }\n\n get menuClass() {\n const hiddenClass = this.hideSearch ? ' search-hidden' : '';\n if (this.open) {\n return `open${hiddenClass}`;\n }\n if (this.animated) {\n return `closed${hiddenClass}`;\n }\n return `initial${hiddenClass}`;\n }\n\n render() {\n return html`\n <div class=\"nav-container\">\n <nav\n class=\"${this.menuClass}\"\n aria-hidden=\"${makeBooleanString(!this.open)}\"\n aria-expanded=\"${makeBooleanString(this.open)}\"\n >\n <ul>\n ${this.dropdownItems}\n </ul>\n </nav>\n </div>\n `;\n }\n}\n"]}
1
+ {"version":3,"file":"dropdown-menu.js","sourceRoot":"","sources":["../../src/dropdown-menu.ts"],"names":[],"mappings":"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","sourcesContent":["import { html, nothing, PropertyValues, TemplateResult } from 'lit';\nimport { property } from 'lit/decorators.js';\n\nimport icons from './assets/img/icons';\nimport { defaultTopNavConfig } from './data/menus';\nimport formatUrl from './lib/format-url';\nimport { makeBooleanString } from './lib/make-boolean-string';\nimport { IATopNavConfig, IATopNavLink } from './models';\nimport dropdownMenuCSS from './styles/dropdown-menu';\nimport TrackedElement from './tracked-element';\nimport { ifDefined } from 'lit/directives/if-defined.js';\nimport KeyboardNavigation from './lib/keyboard-navigation';\n\nexport default class DropdownMenu extends TrackedElement {\n @property({ type: String }) baseHost = '';\n @property({ type: Object }) config: IATopNavConfig = defaultTopNavConfig;\n @property({ type: Array }) menuItems: IATopNavLink[] | IATopNavLink[][] = [];\n @property({ type: Boolean }) animated = false;\n @property({ type: Boolean }) open = false;\n\n private previousKeydownListener?: // eslint-disable-next-line @typescript-eslint/no-explicit-any\n (this: HTMLElement, ev: KeyboardEvent) => any;\n\n static get styles() {\n return dropdownMenuCSS;\n }\n\n updated(props: PropertyValues) {\n if (props.has('open') && this.open) {\n const container = this.shadowRoot?.querySelector(\n '.nav-container',\n ) as HTMLElement;\n\n if (container) {\n const keyboardNavigation = new KeyboardNavigation(\n container,\n 'usermenu',\n );\n this.addEventListener('keydown', keyboardNavigation.handleKeyDown);\n if (this.previousKeydownListener) {\n this.removeEventListener('keydown', this.previousKeydownListener);\n }\n this.previousKeydownListener = keyboardNavigation.handleKeyDown;\n }\n }\n }\n\n get dropdownItems() {\n if (!this.menuItems) return nothing;\n\n if (!Array.isArray(this.menuItems[0])) {\n const submenu = this.menuItems as IATopNavLink[];\n return this.dropdownSection(submenu);\n }\n return this.menuItems.map((submenu, i) => {\n const joiner = i ? DropdownMenu.dropdownDivider : html``;\n if (!Array.isArray(submenu)) {\n return;\n }\n return [joiner, ...this.dropdownSection(submenu)];\n });\n }\n\n static get dropdownDivider() {\n return html`<li class=\"divider\"></li>`;\n }\n\n private dropdownSection(submenu: IATopNavLink[]): TemplateResult[] {\n return submenu.map(\n (item) => html`\n <li>\n ${item.url\n ? this.dropdownLink(item)\n : DropdownMenu.dropdownText(item)}\n </li>\n `,\n );\n }\n\n dropdownLink(link: IATopNavLink): TemplateResult {\n const calloutText = this.config?.callouts?.[link.title];\n const isMobileUpload = link.class === 'mobile-upload';\n const isTabbable = this.open && !isMobileUpload;\n\n return html`<a\n href=\"${formatUrl(link.url, this.baseHost)}\"\n class=${ifDefined(link.class)}\n tabindex=\"${isTabbable ? '' : '-1'}\"\n @click=${this.trackClick}\n data-event-click-tracking=\"${this.config\n ?.eventCategory}|Nav${link.analyticsEvent}\"\n aria-label=${calloutText ? `New feature: ${link.title}` : nothing}\n >\n ${isMobileUpload ? icons.uploadUnpadded : nothing} ${link.title}\n ${calloutText\n ? html`<span class=\"callout\" aria-hidden=\"true\">${calloutText}</span>`\n : nothing}\n </a>`;\n }\n\n static dropdownText(item: IATopNavLink) {\n return html`<span class=\"info-item\">${item.title}</span>`;\n }\n\n get menuClass() {\n if (this.open) return 'open';\n if (this.animated) return 'closed';\n return 'initial';\n }\n\n render() {\n return html`\n <div class=\"nav-container\">\n <nav\n class=\"${this.menuClass}\"\n aria-hidden=\"${makeBooleanString(!this.open)}\"\n aria-expanded=\"${makeBooleanString(this.open)}\"\n >\n <ul>\n ${this.dropdownItems}\n </ul>\n </nav>\n </div>\n `;\n }\n}\n"]}
@@ -27,6 +27,9 @@ export declare class IATopNav extends LitElement {
27
27
  mediatype: string;
28
28
  moveTo: string;
29
29
  };
30
+ private primaryNav?;
31
+ /** Only one of user-menu or signed-out-dropdown is rendered at a time. */
32
+ private accountDropdown?;
30
33
  private menus;
31
34
  private boundHandleKeydown;
32
35
  private boundHandleClick;
@@ -1,6 +1,6 @@
1
1
  import { __decorate } from "tslib";
2
2
  import { LitElement, html, nothing } from 'lit';
3
- import { customElement, property, state } from 'lit/decorators.js';
3
+ import { customElement, property, query, state } from 'lit/decorators.js';
4
4
  import { buildTopNavMenus, defaultTopNavConfig } from './data/menus';
5
5
  import './desktop-subnav';
6
6
  import './dropdown-menu';
@@ -83,6 +83,12 @@ let IATopNav = class IATopNav extends LitElement {
83
83
  return;
84
84
  }
85
85
  this.closeMediaSlider();
86
+ if (this.openMenu === 'user' || this.openMenu === 'login') {
87
+ if (this.primaryNav && this.accountDropdown) {
88
+ const right = this.primaryNav.getAccountDropdownOffset();
89
+ this.accountDropdown.style.setProperty('--dropdownMenuRight', `${right}px`);
90
+ }
91
+ }
86
92
  }
87
93
  openMediaSlider() {
88
94
  this.mediaSliderOpen = true;
@@ -133,34 +139,32 @@ let IATopNav = class IATopNav extends LitElement {
133
139
  return !!this.openMenu || this.mediaSliderOpen ? 'visible' : '';
134
140
  }
135
141
  get userMenu() {
136
- return html `
137
- <user-menu
138
- .baseHost=${this.normalizedBaseHost}
139
- .config=${this.config}
140
- .menuItems=${this.userMenuItems}
141
- ?open=${this.openMenu === 'user'}
142
- .username=${this.username}
143
- ?hideSearch=${this.hideSearch}
144
- tabindex="${this.userMenuTabIndex}"
145
- @menuToggled=${this.menuToggled}
146
- @trackClick=${this.trackClick}
147
- @focusToOtherMenuItem=${(e) => (this.currentTab = e.detail)}
148
- ></user-menu>
142
+ return html `
143
+ <user-menu
144
+ .baseHost=${this.normalizedBaseHost}
145
+ .config=${this.config}
146
+ .menuItems=${this.userMenuItems}
147
+ ?open=${this.openMenu === 'user'}
148
+ .username=${this.username}
149
+ tabindex="${this.userMenuTabIndex}"
150
+ @menuToggled=${this.menuToggled}
151
+ @trackClick=${this.trackClick}
152
+ @focusToOtherMenuItem=${(e) => (this.currentTab = e.detail)}
153
+ ></user-menu>
149
154
  `;
150
155
  }
151
156
  get signedOutDropdown() {
152
- return html `
153
- <signed-out-dropdown
154
- .baseHost=${this.normalizedBaseHost}
155
- .config=${this.config}
156
- .open=${this.signedOutOpened}
157
- ?hideSearch=${this.hideSearch}
158
- tabindex="${this.signedOutTabIndex}"
159
- .menuItems=${this.signedOutMenuItems}
157
+ return html `
158
+ <signed-out-dropdown
159
+ .baseHost=${this.normalizedBaseHost}
160
+ .config=${this.config}
161
+ .open=${this.signedOutOpened}
162
+ tabindex="${this.signedOutTabIndex}"
163
+ .menuItems=${this.signedOutMenuItems}
160
164
  @focusToOtherMenuItem=${(e) => {
161
165
  this.currentTab = e.detail;
162
- }}
163
- ></signed-out-dropdown>
166
+ }}
167
+ ></signed-out-dropdown>
164
168
  `;
165
169
  }
166
170
  get signedOutMenuItems() {
@@ -189,9 +193,9 @@ let IATopNav = class IATopNav extends LitElement {
189
193
  }
190
194
  get secondLogoSlot() {
191
195
  return this.allowSecondaryIcon
192
- ? html `
193
- <slot name="opt-sec-logo" slot="opt-sec-logo"></slot>
194
- <slot name="opt-sec-logo-mobile" slot="opt-sec-logo-mobile"></slot>
196
+ ? html `
197
+ <slot name="opt-sec-logo" slot="opt-sec-logo"></slot>
198
+ <slot name="opt-sec-logo-mobile" slot="opt-sec-logo-mobile"></slot>
195
199
  `
196
200
  : nothing;
197
201
  }
@@ -199,48 +203,48 @@ let IATopNav = class IATopNav extends LitElement {
199
203
  return html `<li class="divider" role="presentation"></li>`;
200
204
  }
201
205
  render() {
202
- return html `
203
- <div class="topnav">
204
- <primary-nav
205
- .baseHost=${this.normalizedBaseHost}
206
- .mediaBaseHost=${this.mediaBaseHost}
207
- .config=${this.config}
208
- .openMenu=${this.openMenu}
209
- .screenName=${this.screenName}
210
- .secondIdentitySlotMode=${this.secondIdentitySlotMode}
211
- .selectedMenuOption=${this.selectedMenuOption}
212
- .username=${this.username}
213
- .userProfileImagePath=${this.userProfileImagePath}
214
- .currentTab=${this.currentTab}
215
- ?hideSearch=${this.hideSearch}
216
- @mediaTypeSelected=${this.mediaTypeSelected}
217
- @trackClick=${this.trackClick}
218
- @trackSubmit=${this.trackSubmit}
219
- @menuToggled=${this.menuToggled}
220
- >
221
- ${this.secondLogoSlot} ${this.searchSlot}
222
- </primary-nav>
223
- <media-slider
224
- .baseHost=${this.normalizedBaseHost}
225
- .config=${this.config}
226
- .selectedMenuOption=${this.selectedMenuOption}
227
- .mediaSliderOpen=${this.mediaSliderOpen}
228
- .menus=${this.menus}
229
- tabindex="${this.mediaSliderOpen ? '1' : '-1'}"
230
- @focusToOtherMenuItem=${(e) => (this.currentTab = e.detail)}
231
- ></media-slider>
232
- </div>
233
- ${this.username ? this.userMenu : this.signedOutDropdown}
234
- <desktop-subnav
235
- .baseHost=${this.normalizedBaseHost}
236
- .menuItems=${this.menus.more.links}
237
- @focus=${this.closeMenus}
238
- ></desktop-subnav>
239
- <div
240
- id="close-layer"
241
- class="${this.closeLayerClass}"
242
- @click=${this.closeMenus}
243
- ></div>
206
+ return html `
207
+ <div class="topnav">
208
+ <primary-nav
209
+ .baseHost=${this.normalizedBaseHost}
210
+ .mediaBaseHost=${this.mediaBaseHost}
211
+ .config=${this.config}
212
+ .openMenu=${this.openMenu}
213
+ .screenName=${this.screenName}
214
+ .secondIdentitySlotMode=${this.secondIdentitySlotMode}
215
+ .selectedMenuOption=${this.selectedMenuOption}
216
+ .username=${this.username}
217
+ .userProfileImagePath=${this.userProfileImagePath}
218
+ .currentTab=${this.currentTab}
219
+ ?hideSearch=${this.hideSearch}
220
+ @mediaTypeSelected=${this.mediaTypeSelected}
221
+ @trackClick=${this.trackClick}
222
+ @trackSubmit=${this.trackSubmit}
223
+ @menuToggled=${this.menuToggled}
224
+ >
225
+ ${this.secondLogoSlot} ${this.searchSlot}
226
+ </primary-nav>
227
+ <media-slider
228
+ .baseHost=${this.normalizedBaseHost}
229
+ .config=${this.config}
230
+ .selectedMenuOption=${this.selectedMenuOption}
231
+ .mediaSliderOpen=${this.mediaSliderOpen}
232
+ .menus=${this.menus}
233
+ tabindex="${this.mediaSliderOpen ? '1' : '-1'}"
234
+ @focusToOtherMenuItem=${(e) => (this.currentTab = e.detail)}
235
+ ></media-slider>
236
+ </div>
237
+ ${this.username ? this.userMenu : this.signedOutDropdown}
238
+ <desktop-subnav
239
+ .baseHost=${this.normalizedBaseHost}
240
+ .menuItems=${this.menus.more.links}
241
+ @focus=${this.closeMenus}
242
+ ></desktop-subnav>
243
+ <div
244
+ id="close-layer"
245
+ class="${this.closeLayerClass}"
246
+ @click=${this.closeMenus}
247
+ ></div>
244
248
  `;
245
249
  }
246
250
  };
@@ -295,6 +299,12 @@ __decorate([
295
299
  __decorate([
296
300
  property({ type: Object })
297
301
  ], IATopNav.prototype, "currentTab", void 0);
302
+ __decorate([
303
+ query('primary-nav')
304
+ ], IATopNav.prototype, "primaryNav", void 0);
305
+ __decorate([
306
+ query('user-menu, signed-out-dropdown')
307
+ ], IATopNav.prototype, "accountDropdown", void 0);
298
308
  __decorate([
299
309
  state()
300
310
  ], IATopNav.prototype, "menus", void 0);
@@ -1 +1 @@
1
- {"version":3,"file":"ia-topnav.js","sourceRoot":"","sources":["../../src/ia-topnav.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyValues, html, nothing } from 'lit';\r\nimport { customElement, property, state } from 'lit/decorators.js';\r\n\r\nimport { buildTopNavMenus, defaultTopNavConfig } from './data/menus';\r\nimport './desktop-subnav';\r\nimport './dropdown-menu';\r\nimport './media-slider';\r\nimport {\r\n IATopNavConfig,\r\n IATopNavMenuConfig,\r\n IATopNavSecondIdentitySlotMode,\r\n} from './models';\r\nimport './primary-nav';\r\nimport './signed-out-dropdown';\r\nimport iaTopNavCSS from './styles/ia-topnav';\r\nimport './user-menu';\r\n\r\n@customElement('ia-topnav')\r\nexport class IATopNav extends LitElement {\r\n @property({ type: Boolean }) localLinks = false;\r\n\r\n @property({ type: String }) waybackPagesArchived = '';\r\n\r\n @property({ type: String }) baseHost = 'https://archive.org';\r\n\r\n @property({ type: String }) mediaBaseHost = 'https://archive.org';\r\n\r\n @property({ type: Boolean }) admin = false;\r\n\r\n @property({ type: Boolean }) canManageFlags = false;\r\n\r\n @property({ type: Object }) config: IATopNavConfig = defaultTopNavConfig;\r\n\r\n @property({ type: Boolean }) hideSearch = false;\r\n\r\n @property({ type: String }) itemIdentifier = '';\r\n\r\n @property({ type: Boolean }) mediaSliderOpen = false;\r\n\r\n @property({ type: String }) openMenu = '';\r\n\r\n @property({ type: String }) screenName: string = '';\r\n\r\n @property({ type: String }) selectedMenuOption = '';\r\n\r\n @property({ type: String }) username: string = '';\r\n\r\n @property({ type: String }) userProfileImagePath =\r\n '/services/img/user/profile';\r\n\r\n @property({ type: String })\r\n secondIdentitySlotMode: IATopNavSecondIdentitySlotMode = '';\r\n\r\n @property({ type: Object }) currentTab?: {\r\n mediatype: string;\r\n moveTo: string;\r\n };\r\n\r\n @state() private menus: IATopNavMenuConfig = buildTopNavMenus();\r\n\r\n private boundHandleKeydown = this.handleDocumentKeydown.bind(this);\r\n\r\n private boundHandleClick = this.handleDocumentClick.bind(this);\r\n\r\n private get normalizedBaseHost() {\r\n return !this.localLinks ? this.baseHost : '';\r\n }\r\n\r\n static get styles() {\r\n return iaTopNavCSS;\r\n }\r\n\r\n updated(props: PropertyValues) {\r\n if (\r\n props.has('username') ||\r\n props.has('waybackPagesArchived') ||\r\n props.has('itemIdentifier') ||\r\n props.has('localLinks') ||\r\n props.has('baseHost')\r\n ) {\r\n this.menuSetup();\r\n }\r\n }\r\n\r\n connectedCallback() {\r\n super.connectedCallback();\r\n document.addEventListener('keydown', this.boundHandleKeydown);\r\n document.addEventListener('click', this.boundHandleClick);\r\n }\r\n\r\n disconnectedCallback() {\r\n super.disconnectedCallback();\r\n document.removeEventListener('keydown', this.boundHandleKeydown);\r\n document.removeEventListener('click', this.boundHandleClick);\r\n }\r\n\r\n private handleDocumentKeydown(e: KeyboardEvent) {\r\n if (e.key === 'Escape') {\r\n this.openMenu = '';\r\n this.mediaSliderOpen = false;\r\n }\r\n }\r\n\r\n private handleDocumentClick(e: MouseEvent) {\r\n if (!this.openMenu) return;\r\n const path = e.composedPath();\r\n if (!path.includes(this)) {\r\n this.closeMenus();\r\n }\r\n }\r\n\r\n menuSetup() {\r\n // re/build the nav\r\n this.menus = buildTopNavMenus(\r\n this.username,\r\n this.normalizedBaseHost,\r\n this.waybackPagesArchived,\r\n this.itemIdentifier,\r\n );\r\n }\r\n\r\n menuToggled(e: CustomEvent) {\r\n const currentMenu = this.openMenu;\r\n this.openMenu = currentMenu === e.detail.menuName ? '' : e.detail.menuName;\r\n // Keeps media slider open if media menu is open\r\n if (this.openMenu === 'media') {\r\n return;\r\n }\r\n this.closeMediaSlider();\r\n }\r\n\r\n openMediaSlider() {\r\n this.mediaSliderOpen = true;\r\n }\r\n\r\n closeMediaSlider() {\r\n this.mediaSliderOpen = false;\r\n this.selectedMenuOption = '';\r\n }\r\n\r\n closeMenus() {\r\n this.openMenu = '';\r\n this.closeMediaSlider();\r\n }\r\n\r\n trackClick(e: CustomEvent) {\r\n this.dispatchEvent(\r\n new CustomEvent('analyticsClick', {\r\n bubbles: true,\r\n composed: true,\r\n detail: e.detail,\r\n }),\r\n );\r\n }\r\n\r\n trackSubmit(e: CustomEvent) {\r\n this.dispatchEvent(\r\n new CustomEvent('analyticsSubmit', {\r\n bubbles: true,\r\n composed: true,\r\n detail: e.detail,\r\n }),\r\n );\r\n }\r\n\r\n mediaTypeSelected(e: CustomEvent) {\r\n if (this.selectedMenuOption === e.detail.mediatype) {\r\n this.closeMediaSlider();\r\n return;\r\n }\r\n this.selectedMenuOption = e.detail.mediatype;\r\n this.openMediaSlider();\r\n }\r\n\r\n get signedOutOpened() {\r\n return this.openMenu === 'login';\r\n }\r\n\r\n get userMenuOpened() {\r\n return this.openMenu === 'user';\r\n }\r\n\r\n get userMenuTabIndex() {\r\n return this.userMenuOpened ? '' : '-1';\r\n }\r\n\r\n get signedOutTabIndex() {\r\n return this.signedOutOpened ? '' : '-1';\r\n }\r\n\r\n get closeLayerClass() {\r\n return !!this.openMenu || this.mediaSliderOpen ? 'visible' : '';\r\n }\r\n\r\n get userMenu() {\r\n return html`\r\n <user-menu\r\n .baseHost=${this.normalizedBaseHost}\r\n .config=${this.config}\r\n .menuItems=${this.userMenuItems}\r\n ?open=${this.openMenu === 'user'}\r\n .username=${this.username}\r\n ?hideSearch=${this.hideSearch}\r\n tabindex=\"${this.userMenuTabIndex}\"\r\n @menuToggled=${this.menuToggled}\r\n @trackClick=${this.trackClick}\r\n @focusToOtherMenuItem=${(e: CustomEvent) =>\r\n (this.currentTab = e.detail)}\r\n ></user-menu>\r\n `;\r\n }\r\n\r\n get signedOutDropdown() {\r\n return html`\r\n <signed-out-dropdown\r\n .baseHost=${this.normalizedBaseHost}\r\n .config=${this.config}\r\n .open=${this.signedOutOpened}\r\n ?hideSearch=${this.hideSearch}\r\n tabindex=\"${this.signedOutTabIndex}\"\r\n .menuItems=${this.signedOutMenuItems}\r\n @focusToOtherMenuItem=${(e: CustomEvent) => {\r\n this.currentTab = e.detail;\r\n }}\r\n ></signed-out-dropdown>\r\n `;\r\n }\r\n\r\n get signedOutMenuItems() {\r\n return this.menus.signedOut;\r\n }\r\n\r\n /**\r\n * Most users just get the basic menu items.\r\n * For users with `/items` priv, additional admin menu items are included too.\r\n * Having the `/flags` priv adds a further admin item for managing flags.\r\n */\r\n get userMenuItems() {\r\n const basicItems = this.menus.user;\r\n\r\n let adminItems = this.menus.userAdmin;\r\n if (this.canManageFlags) {\r\n adminItems = adminItems.concat(this.menus.userAdminFlags);\r\n }\r\n\r\n return this.itemIdentifier && this.admin\r\n ? [basicItems, adminItems]\r\n : [basicItems];\r\n }\r\n\r\n get allowSecondaryIcon() {\r\n return this.secondIdentitySlotMode === 'allow';\r\n }\r\n\r\n get searchSlot() {\r\n return html`<slot name=\"search\" slot=\"search\"></slot>`;\r\n }\r\n\r\n get secondLogoSlot() {\r\n return this.allowSecondaryIcon\r\n ? html`\r\n <slot name=\"opt-sec-logo\" slot=\"opt-sec-logo\"></slot>\r\n <slot name=\"opt-sec-logo-mobile\" slot=\"opt-sec-logo-mobile\"></slot>\r\n `\r\n : nothing;\r\n }\r\n\r\n get separatorTemplate() {\r\n return html`<li class=\"divider\" role=\"presentation\"></li>`;\r\n }\r\n\r\n render() {\r\n return html`\r\n <div class=\"topnav\">\r\n <primary-nav\r\n .baseHost=${this.normalizedBaseHost}\r\n .mediaBaseHost=${this.mediaBaseHost}\r\n .config=${this.config}\r\n .openMenu=${this.openMenu}\r\n .screenName=${this.screenName}\r\n .secondIdentitySlotMode=${this.secondIdentitySlotMode}\r\n .selectedMenuOption=${this.selectedMenuOption}\r\n .username=${this.username}\r\n .userProfileImagePath=${this.userProfileImagePath}\r\n .currentTab=${this.currentTab}\r\n ?hideSearch=${this.hideSearch}\r\n @mediaTypeSelected=${this.mediaTypeSelected}\r\n @trackClick=${this.trackClick}\r\n @trackSubmit=${this.trackSubmit}\r\n @menuToggled=${this.menuToggled}\r\n >\r\n ${this.secondLogoSlot} ${this.searchSlot}\r\n </primary-nav>\r\n <media-slider\r\n .baseHost=${this.normalizedBaseHost}\r\n .config=${this.config}\r\n .selectedMenuOption=${this.selectedMenuOption}\r\n .mediaSliderOpen=${this.mediaSliderOpen}\r\n .menus=${this.menus}\r\n tabindex=\"${this.mediaSliderOpen ? '1' : '-1'}\"\r\n @focusToOtherMenuItem=${(e: CustomEvent) =>\r\n (this.currentTab = e.detail)}\r\n ></media-slider>\r\n </div>\r\n ${this.username ? this.userMenu : this.signedOutDropdown}\r\n <desktop-subnav\r\n .baseHost=${this.normalizedBaseHost}\r\n .menuItems=${this.menus.more.links}\r\n @focus=${this.closeMenus}\r\n ></desktop-subnav>\r\n <div\r\n id=\"close-layer\"\r\n class=\"${this.closeLayerClass}\"\r\n @click=${this.closeMenus}\r\n ></div>\r\n `;\r\n }\r\n}\r\n"]}
1
+ {"version":3,"file":"ia-topnav.js","sourceRoot":"","sources":["../../src/ia-topnav.ts"],"names":[],"mappings":"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","sourcesContent":["import { LitElement, PropertyValues, html, nothing } from 'lit';\nimport { customElement, property, query, state } from 'lit/decorators.js';\n\nimport { buildTopNavMenus, defaultTopNavConfig } from './data/menus';\nimport './desktop-subnav';\nimport './dropdown-menu';\nimport './media-slider';\nimport {\n IATopNavConfig,\n IATopNavMenuConfig,\n IATopNavSecondIdentitySlotMode,\n} from './models';\nimport './primary-nav';\nimport type { PrimaryNav } from './primary-nav';\nimport './signed-out-dropdown';\nimport iaTopNavCSS from './styles/ia-topnav';\nimport './user-menu';\n\n@customElement('ia-topnav')\nexport class IATopNav extends LitElement {\n @property({ type: Boolean }) localLinks = false;\n\n @property({ type: String }) waybackPagesArchived = '';\n\n @property({ type: String }) baseHost = 'https://archive.org';\n\n @property({ type: String }) mediaBaseHost = 'https://archive.org';\n\n @property({ type: Boolean }) admin = false;\n\n @property({ type: Boolean }) canManageFlags = false;\n\n @property({ type: Object }) config: IATopNavConfig = defaultTopNavConfig;\n\n @property({ type: Boolean }) hideSearch = false;\n\n @property({ type: String }) itemIdentifier = '';\n\n @property({ type: Boolean }) mediaSliderOpen = false;\n\n @property({ type: String }) openMenu = '';\n\n @property({ type: String }) screenName: string = '';\n\n @property({ type: String }) selectedMenuOption = '';\n\n @property({ type: String }) username: string = '';\n\n @property({ type: String }) userProfileImagePath =\n '/services/img/user/profile';\n\n @property({ type: String })\n secondIdentitySlotMode: IATopNavSecondIdentitySlotMode = '';\n\n @property({ type: Object }) currentTab?: {\n mediatype: string;\n moveTo: string;\n };\n\n @query('primary-nav') private primaryNav?: PrimaryNav;\n /** Only one of user-menu or signed-out-dropdown is rendered at a time. */\n @query('user-menu, signed-out-dropdown')\n private accountDropdown?: HTMLElement;\n\n @state() private menus: IATopNavMenuConfig = buildTopNavMenus();\n\n private boundHandleKeydown = this.handleDocumentKeydown.bind(this);\n\n private boundHandleClick = this.handleDocumentClick.bind(this);\n\n private get normalizedBaseHost() {\n return !this.localLinks ? this.baseHost : '';\n }\n\n static get styles() {\n return iaTopNavCSS;\n }\n\n updated(props: PropertyValues) {\n if (\n props.has('username') ||\n props.has('waybackPagesArchived') ||\n props.has('itemIdentifier') ||\n props.has('localLinks') ||\n props.has('baseHost')\n ) {\n this.menuSetup();\n }\n }\n\n connectedCallback() {\n super.connectedCallback();\n document.addEventListener('keydown', this.boundHandleKeydown);\n document.addEventListener('click', this.boundHandleClick);\n }\n\n disconnectedCallback() {\n super.disconnectedCallback();\n document.removeEventListener('keydown', this.boundHandleKeydown);\n document.removeEventListener('click', this.boundHandleClick);\n }\n\n private handleDocumentKeydown(e: KeyboardEvent) {\n if (e.key === 'Escape') {\n this.openMenu = '';\n this.mediaSliderOpen = false;\n }\n }\n\n private handleDocumentClick(e: MouseEvent) {\n if (!this.openMenu) return;\n const path = e.composedPath();\n if (!path.includes(this)) {\n this.closeMenus();\n }\n }\n\n menuSetup() {\n // re/build the nav\n this.menus = buildTopNavMenus(\n this.username,\n this.normalizedBaseHost,\n this.waybackPagesArchived,\n this.itemIdentifier,\n );\n }\n\n menuToggled(e: CustomEvent) {\n const currentMenu = this.openMenu;\n this.openMenu = currentMenu === e.detail.menuName ? '' : e.detail.menuName;\n // Keeps media slider open if media menu is open\n if (this.openMenu === 'media') {\n return;\n }\n this.closeMediaSlider();\n\n if (this.openMenu === 'user' || this.openMenu === 'login') {\n if (this.primaryNav && this.accountDropdown) {\n const right = this.primaryNav.getAccountDropdownOffset();\n this.accountDropdown.style.setProperty(\n '--dropdownMenuRight',\n `${right}px`,\n );\n }\n }\n }\n\n openMediaSlider() {\n this.mediaSliderOpen = true;\n }\n\n closeMediaSlider() {\n this.mediaSliderOpen = false;\n this.selectedMenuOption = '';\n }\n\n closeMenus() {\n this.openMenu = '';\n this.closeMediaSlider();\n }\n\n trackClick(e: CustomEvent) {\n this.dispatchEvent(\n new CustomEvent('analyticsClick', {\n bubbles: true,\n composed: true,\n detail: e.detail,\n }),\n );\n }\n\n trackSubmit(e: CustomEvent) {\n this.dispatchEvent(\n new CustomEvent('analyticsSubmit', {\n bubbles: true,\n composed: true,\n detail: e.detail,\n }),\n );\n }\n\n mediaTypeSelected(e: CustomEvent) {\n if (this.selectedMenuOption === e.detail.mediatype) {\n this.closeMediaSlider();\n return;\n }\n this.selectedMenuOption = e.detail.mediatype;\n this.openMediaSlider();\n }\n\n get signedOutOpened() {\n return this.openMenu === 'login';\n }\n\n get userMenuOpened() {\n return this.openMenu === 'user';\n }\n\n get userMenuTabIndex() {\n return this.userMenuOpened ? '' : '-1';\n }\n\n get signedOutTabIndex() {\n return this.signedOutOpened ? '' : '-1';\n }\n\n get closeLayerClass() {\n return !!this.openMenu || this.mediaSliderOpen ? 'visible' : '';\n }\n\n get userMenu() {\n return html`\n <user-menu\n .baseHost=${this.normalizedBaseHost}\n .config=${this.config}\n .menuItems=${this.userMenuItems}\n ?open=${this.openMenu === 'user'}\n .username=${this.username}\n tabindex=\"${this.userMenuTabIndex}\"\n @menuToggled=${this.menuToggled}\n @trackClick=${this.trackClick}\n @focusToOtherMenuItem=${(e: CustomEvent) =>\n (this.currentTab = e.detail)}\n ></user-menu>\n `;\n }\n\n get signedOutDropdown() {\n return html`\n <signed-out-dropdown\n .baseHost=${this.normalizedBaseHost}\n .config=${this.config}\n .open=${this.signedOutOpened}\n tabindex=\"${this.signedOutTabIndex}\"\n .menuItems=${this.signedOutMenuItems}\n @focusToOtherMenuItem=${(e: CustomEvent) => {\n this.currentTab = e.detail;\n }}\n ></signed-out-dropdown>\n `;\n }\n\n get signedOutMenuItems() {\n return this.menus.signedOut;\n }\n\n /**\n * Most users just get the basic menu items.\n * For users with `/items` priv, additional admin menu items are included too.\n * Having the `/flags` priv adds a further admin item for managing flags.\n */\n get userMenuItems() {\n const basicItems = this.menus.user;\n\n let adminItems = this.menus.userAdmin;\n if (this.canManageFlags) {\n adminItems = adminItems.concat(this.menus.userAdminFlags);\n }\n\n return this.itemIdentifier && this.admin\n ? [basicItems, adminItems]\n : [basicItems];\n }\n\n get allowSecondaryIcon() {\n return this.secondIdentitySlotMode === 'allow';\n }\n\n get searchSlot() {\n return html`<slot name=\"search\" slot=\"search\"></slot>`;\n }\n\n get secondLogoSlot() {\n return this.allowSecondaryIcon\n ? html`\n <slot name=\"opt-sec-logo\" slot=\"opt-sec-logo\"></slot>\n <slot name=\"opt-sec-logo-mobile\" slot=\"opt-sec-logo-mobile\"></slot>\n `\n : nothing;\n }\n\n get separatorTemplate() {\n return html`<li class=\"divider\" role=\"presentation\"></li>`;\n }\n\n render() {\n return html`\n <div class=\"topnav\">\n <primary-nav\n .baseHost=${this.normalizedBaseHost}\n .mediaBaseHost=${this.mediaBaseHost}\n .config=${this.config}\n .openMenu=${this.openMenu}\n .screenName=${this.screenName}\n .secondIdentitySlotMode=${this.secondIdentitySlotMode}\n .selectedMenuOption=${this.selectedMenuOption}\n .username=${this.username}\n .userProfileImagePath=${this.userProfileImagePath}\n .currentTab=${this.currentTab}\n ?hideSearch=${this.hideSearch}\n @mediaTypeSelected=${this.mediaTypeSelected}\n @trackClick=${this.trackClick}\n @trackSubmit=${this.trackSubmit}\n @menuToggled=${this.menuToggled}\n >\n ${this.secondLogoSlot} ${this.searchSlot}\n </primary-nav>\n <media-slider\n .baseHost=${this.normalizedBaseHost}\n .config=${this.config}\n .selectedMenuOption=${this.selectedMenuOption}\n .mediaSliderOpen=${this.mediaSliderOpen}\n .menus=${this.menus}\n tabindex=\"${this.mediaSliderOpen ? '1' : '-1'}\"\n @focusToOtherMenuItem=${(e: CustomEvent) =>\n (this.currentTab = e.detail)}\n ></media-slider>\n </div>\n ${this.username ? this.userMenu : this.signedOutDropdown}\n <desktop-subnav\n .baseHost=${this.normalizedBaseHost}\n .menuItems=${this.menus.more.links}\n @focus=${this.closeMenus}\n ></desktop-subnav>\n <div\n id=\"close-layer\"\n class=\"${this.closeLayerClass}\"\n @click=${this.closeMenus}\n ></div>\n `;\n }\n}\n"]}
@@ -4,8 +4,11 @@ export declare class LoginButton extends TrackedElement {
4
4
  baseHost: string;
5
5
  config: IATopNavConfig;
6
6
  openMenu: string;
7
+ private toggleButton?;
7
8
  private dropdownTabIndex;
8
9
  static get styles(): import("lit").CSSResult;
10
+ /** Distance (px) from this element's right edge to the right edge of the dropdown toggle icon. */
11
+ getDropdownToggleOffset(): number;
9
12
  get signupPath(): string;
10
13
  get loginPath(): string;
11
14
  get analyticsEvent(): string;