@internetarchive/ia-topnav 1.3.9 → 1.3.10-webdev-7394.1
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/.prettierignore +1 -0
- package/README.md +7 -7
- package/demo/app-root.ts +186 -0
- package/demo/index.html +27 -0
- package/dist/demo/app-root.d.ts +8 -0
- package/dist/demo/app-root.js +181 -0
- package/dist/demo/app-root.js.map +1 -0
- package/dist/index.d.ts +2 -0
- package/dist/index.js +3 -0
- package/dist/index.js.map +1 -0
- package/dist/src/assets/img/hamburger.d.ts +7 -0
- package/dist/src/assets/img/hamburger.js +51 -0
- package/dist/src/assets/img/hamburger.js.map +1 -0
- package/dist/src/assets/img/ia-icon.d.ts +7 -0
- package/dist/src/assets/img/ia-icon.js +33 -0
- package/dist/src/assets/img/ia-icon.js.map +1 -0
- package/dist/src/assets/img/icon-audio.d.ts +2 -0
- package/dist/src/assets/img/icon-audio.js +28 -0
- package/dist/src/assets/img/icon-audio.js.map +1 -0
- package/dist/src/assets/img/icon-close.d.ts +2 -0
- package/dist/src/assets/img/icon-close.js +20 -0
- package/dist/src/assets/img/icon-close.js.map +1 -0
- package/dist/src/assets/img/icon-donate-unpadded.d.ts +2 -0
- package/dist/src/assets/img/icon-donate-unpadded.js +19 -0
- package/dist/src/assets/img/icon-donate-unpadded.js.map +1 -0
- package/dist/src/assets/img/icon-donate.d.ts +2 -0
- package/dist/src/assets/img/icon-donate.js +18 -0
- package/dist/src/assets/img/icon-donate.js.map +1 -0
- package/dist/src/assets/img/icon-ellipses.d.ts +2 -0
- package/dist/src/assets/img/icon-ellipses.js +19 -0
- package/dist/src/assets/img/icon-ellipses.js.map +1 -0
- package/dist/src/assets/img/icon-ia-logo.d.ts +2 -0
- package/dist/src/assets/img/icon-ia-logo.js +30 -0
- package/dist/src/assets/img/icon-ia-logo.js.map +1 -0
- package/dist/src/assets/img/icon-images.d.ts +2 -0
- package/dist/src/assets/img/icon-images.js +19 -0
- package/dist/src/assets/img/icon-images.js.map +1 -0
- package/dist/src/assets/img/icon-search.d.ts +2 -0
- package/dist/src/assets/img/icon-search.js +19 -0
- package/dist/src/assets/img/icon-search.js.map +1 -0
- package/dist/src/assets/img/icon-software.d.ts +2 -0
- package/dist/src/assets/img/icon-software.js +18 -0
- package/dist/src/assets/img/icon-software.js.map +1 -0
- package/dist/src/assets/img/icon-texts.d.ts +2 -0
- package/dist/src/assets/img/icon-texts.js +18 -0
- package/dist/src/assets/img/icon-texts.js.map +1 -0
- package/dist/src/assets/img/icon-upload-unpadded.d.ts +2 -0
- package/dist/src/assets/img/icon-upload-unpadded.js +18 -0
- package/dist/src/assets/img/icon-upload-unpadded.js.map +1 -0
- package/dist/src/assets/img/icon-upload.d.ts +2 -0
- package/dist/src/assets/img/icon-upload.js +21 -0
- package/dist/src/assets/img/icon-upload.js.map +1 -0
- package/dist/src/assets/img/icon-user.d.ts +2 -0
- package/dist/src/assets/img/icon-user.js +19 -0
- package/dist/src/assets/img/icon-user.js.map +1 -0
- package/dist/src/assets/img/icon-video.d.ts +2 -0
- package/dist/src/assets/img/icon-video.js +19 -0
- package/dist/src/assets/img/icon-video.js.map +1 -0
- package/dist/src/assets/img/icon-web.d.ts +2 -0
- package/dist/src/assets/img/icon-web.js +19 -0
- package/dist/src/assets/img/icon-web.js.map +1 -0
- package/dist/src/assets/img/icon.d.ts +5 -0
- package/dist/src/assets/img/icon.js +17 -0
- package/dist/src/assets/img/icon.js.map +1 -0
- package/dist/src/assets/img/icons.d.ts +18 -0
- package/dist/src/assets/img/icons.js +33 -0
- package/dist/src/assets/img/icons.js.map +1 -0
- package/dist/src/assets/img/wordmark-stacked.d.ts +2 -0
- package/dist/src/assets/img/wordmark-stacked.js +13 -0
- package/dist/src/assets/img/wordmark-stacked.js.map +1 -0
- package/dist/src/data/menus.d.ts +20 -0
- package/dist/src/data/menus.js +668 -0
- package/dist/src/data/menus.js.map +1 -0
- package/dist/src/desktop-subnav.d.ts +11 -0
- package/dist/src/desktop-subnav.js +55 -0
- package/dist/src/desktop-subnav.js.map +1 -0
- package/dist/src/dropdown-menu.d.ts +19 -0
- package/dist/src/dropdown-menu.js +116 -0
- package/dist/src/dropdown-menu.js.map +1 -0
- package/dist/src/ia-topnav.d.ts +68 -0
- package/dist/src/ia-topnav.js +315 -0
- package/dist/src/ia-topnav.js.map +1 -0
- package/dist/src/lib/formatUrl.d.ts +2 -0
- package/dist/src/lib/formatUrl.js +2 -0
- package/dist/src/lib/formatUrl.js.map +1 -0
- package/dist/src/lib/keyboard-navigation.d.ts +50 -0
- package/dist/src/lib/keyboard-navigation.js +136 -0
- package/dist/src/lib/keyboard-navigation.js.map +1 -0
- package/dist/src/lib/location-handler.d.ts +1 -0
- package/dist/src/lib/location-handler.js +5 -0
- package/dist/src/lib/location-handler.js.map +1 -0
- package/dist/src/lib/makeBooleanString.d.ts +2 -0
- package/dist/src/lib/makeBooleanString.js +12 -0
- package/dist/src/lib/makeBooleanString.js.map +1 -0
- package/dist/src/lib/query-handler.d.ts +4 -0
- package/dist/src/lib/query-handler.js +7 -0
- package/dist/src/lib/query-handler.js.map +1 -0
- package/dist/src/lib/toSentenceCase.d.ts +2 -0
- package/dist/src/lib/toSentenceCase.js +10 -0
- package/dist/src/lib/toSentenceCase.js.map +1 -0
- package/dist/src/login-button.d.ts +16 -0
- package/dist/src/login-button.js +83 -0
- package/dist/src/login-button.js.map +1 -0
- package/dist/src/media-button.d.ts +24 -0
- package/dist/src/media-button.js +119 -0
- package/dist/src/media-button.js.map +1 -0
- package/dist/src/media-menu.d.ts +20 -0
- package/dist/src/media-menu.js +148 -0
- package/dist/src/media-menu.js.map +1 -0
- package/dist/src/media-slider.d.ts +15 -0
- package/dist/src/media-slider.js +139 -0
- package/dist/src/media-slider.js.map +1 -0
- package/dist/src/media-subnav.d.ts +18 -0
- package/dist/src/media-subnav.js +126 -0
- package/dist/src/media-subnav.js.map +1 -0
- package/dist/src/models.d.ts +51 -0
- package/dist/src/models.js +25 -0
- package/dist/src/models.js.map +1 -0
- package/dist/src/more-slider.d.ts +10 -0
- package/dist/src/more-slider.js +50 -0
- package/dist/src/more-slider.js.map +1 -0
- package/dist/src/nav-search.d.ts +19 -0
- package/dist/src/nav-search.js +124 -0
- package/dist/src/nav-search.js.map +1 -0
- package/dist/src/primary-nav.d.ts +45 -0
- package/dist/src/primary-nav.js +280 -0
- package/dist/src/primary-nav.js.map +1 -0
- package/dist/src/save-page-form.d.ts +10 -0
- package/dist/src/save-page-form.js +63 -0
- package/dist/src/save-page-form.js.map +1 -0
- package/dist/src/search-menu.d.ts +20 -0
- package/dist/src/search-menu.js +162 -0
- package/dist/src/search-menu.js.map +1 -0
- package/dist/src/signed-out-dropdown.d.ts +4 -0
- package/dist/src/signed-out-dropdown.js +15 -0
- package/dist/src/signed-out-dropdown.js.map +1 -0
- package/dist/src/styles/base.d.ts +1 -0
- package/dist/src/styles/base.js +48 -0
- package/dist/src/styles/base.js.map +1 -0
- package/dist/src/styles/desktop-subnav.d.ts +2 -0
- package/dist/src/styles/desktop-subnav.js +37 -0
- package/dist/src/styles/desktop-subnav.js.map +1 -0
- package/dist/src/styles/dropdown-menu.d.ts +2 -0
- package/dist/src/styles/dropdown-menu.js +170 -0
- package/dist/src/styles/dropdown-menu.js.map +1 -0
- package/dist/src/styles/ia-topnav.d.ts +2 -0
- package/dist/src/styles/ia-topnav.js +87 -0
- package/dist/src/styles/ia-topnav.js.map +1 -0
- package/dist/src/styles/login-button.d.ts +2 -0
- package/dist/src/styles/login-button.js +82 -0
- package/dist/src/styles/login-button.js.map +1 -0
- package/dist/src/styles/media-button.d.ts +2 -0
- package/dist/src/styles/media-button.js +156 -0
- package/dist/src/styles/media-button.js.map +1 -0
- package/dist/src/styles/media-menu.d.ts +2 -0
- package/dist/src/styles/media-menu.js +66 -0
- package/dist/src/styles/media-menu.js.map +1 -0
- package/dist/src/styles/media-slider.d.ts +2 -0
- package/dist/src/styles/media-slider.js +81 -0
- package/dist/src/styles/media-slider.js.map +1 -0
- package/dist/src/styles/media-subnav.d.ts +2 -0
- package/dist/src/styles/media-subnav.js +159 -0
- package/dist/src/styles/media-subnav.js.map +1 -0
- package/dist/src/styles/more-slider.d.ts +2 -0
- package/dist/src/styles/more-slider.js +15 -0
- package/dist/src/styles/more-slider.js.map +1 -0
- package/dist/src/styles/nav-search.d.ts +2 -0
- package/dist/src/styles/nav-search.js +136 -0
- package/dist/src/styles/nav-search.js.map +1 -0
- package/dist/src/styles/primary-nav.d.ts +2 -0
- package/dist/src/styles/primary-nav.js +310 -0
- package/dist/src/styles/primary-nav.js.map +1 -0
- package/dist/src/styles/save-page-form.d.ts +2 -0
- package/dist/src/styles/save-page-form.js +54 -0
- package/dist/src/styles/save-page-form.js.map +1 -0
- package/dist/src/styles/search-menu.d.ts +2 -0
- package/dist/src/styles/search-menu.js +105 -0
- package/dist/src/styles/search-menu.js.map +1 -0
- package/dist/src/styles/signed-out-dropdown.d.ts +2 -0
- package/dist/src/styles/signed-out-dropdown.js +31 -0
- package/dist/src/styles/signed-out-dropdown.js.map +1 -0
- package/dist/src/styles/user-menu.d.ts +2 -0
- package/dist/src/styles/user-menu.js +31 -0
- package/dist/src/styles/user-menu.js.map +1 -0
- package/dist/src/styles/wayback-search.d.ts +2 -0
- package/dist/src/styles/wayback-search.js +48 -0
- package/dist/src/styles/wayback-search.js.map +1 -0
- package/dist/src/styles/wayback-slider.d.ts +2 -0
- package/dist/src/styles/wayback-slider.js +33 -0
- package/dist/src/styles/wayback-slider.js.map +1 -0
- package/dist/src/tracked-element.d.ts +5 -0
- package/dist/src/tracked-element.js +30 -0
- package/dist/src/tracked-element.js.map +1 -0
- package/dist/src/user-menu.d.ts +10 -0
- package/dist/src/user-menu.js +60 -0
- package/dist/src/user-menu.js.map +1 -0
- package/dist/src/wayback-search.d.ts +4 -0
- package/dist/src/wayback-search.js +14 -0
- package/dist/src/wayback-search.js.map +1 -0
- package/dist/src/wayback-slider.d.ts +18 -0
- package/dist/src/wayback-slider.js +99 -0
- package/dist/src/wayback-slider.js.map +1 -0
- package/dist/test/assets/img/hamburger.test.d.ts +1 -0
- package/dist/test/assets/img/hamburger.test.js +13 -0
- package/dist/test/assets/img/hamburger.test.js.map +1 -0
- package/dist/test/data/menus.test.d.ts +1 -0
- package/dist/test/data/menus.test.js +11 -0
- package/dist/test/data/menus.test.js.map +1 -0
- package/dist/test/dropdown-menu.test.d.ts +1 -0
- package/dist/test/dropdown-menu.test.js +20 -0
- package/dist/test/dropdown-menu.test.js.map +1 -0
- package/dist/test/ia-icon.test.d.ts +1 -0
- package/dist/test/ia-icon.test.js +11 -0
- package/dist/test/ia-icon.test.js.map +1 -0
- package/dist/test/ia-topnav.test.d.ts +1 -0
- package/dist/test/ia-topnav.test.js +232 -0
- package/dist/test/ia-topnav.test.js.map +1 -0
- package/dist/test/login-button.test.d.ts +1 -0
- package/dist/test/login-button.test.js +14 -0
- package/dist/test/login-button.test.js.map +1 -0
- package/dist/test/media-button.test.d.ts +1 -0
- package/dist/test/media-button.test.js +13 -0
- package/dist/test/media-button.test.js.map +1 -0
- package/dist/test/media-menu.test.d.ts +1 -0
- package/dist/test/media-menu.test.js +27 -0
- package/dist/test/media-menu.test.js.map +1 -0
- package/dist/test/media-slider.test.d.ts +1 -0
- package/dist/test/media-slider.test.js +47 -0
- package/dist/test/media-slider.test.js.map +1 -0
- package/dist/test/more-slider.test.d.ts +1 -0
- package/dist/test/more-slider.test.js +17 -0
- package/dist/test/more-slider.test.js.map +1 -0
- package/dist/test/nav-search.test.d.ts +1 -0
- package/dist/test/nav-search.test.js +47 -0
- package/dist/test/nav-search.test.js.map +1 -0
- package/dist/test/primary-nav.test.d.ts +1 -0
- package/dist/test/primary-nav.test.js +55 -0
- package/dist/test/primary-nav.test.js.map +1 -0
- package/dist/test/save-page-form.test.d.ts +1 -0
- package/dist/test/save-page-form.test.js +47 -0
- package/dist/test/save-page-form.test.js.map +1 -0
- package/dist/test/search-menu.test.d.ts +1 -0
- package/dist/test/search-menu.test.js +42 -0
- package/dist/test/search-menu.test.js.map +1 -0
- package/dist/test/user-menu.test.d.ts +1 -0
- package/dist/test/user-menu.test.js +28 -0
- package/dist/test/user-menu.test.js.map +1 -0
- package/dist/test/wayback-slider.test.d.ts +1 -0
- package/dist/test/wayback-slider.test.js +80 -0
- package/dist/test/wayback-slider.test.js.map +1 -0
- package/eslint.config.mjs +53 -0
- package/package.json +47 -37
- package/prettier.config.js +9 -0
- package/src/assets/img/hamburger.ts +49 -0
- package/src/assets/img/{ia-icon.js → ia-icon.ts} +7 -16
- package/src/assets/img/{icon-audio.js → icon-audio.ts} +7 -2
- package/src/assets/img/icon-close.ts +20 -0
- package/src/assets/img/icon-donate-unpadded.ts +19 -0
- package/src/assets/img/icon-donate.ts +18 -0
- package/src/assets/img/icon-ellipses.ts +19 -0
- package/src/assets/img/icon-ia-logo.ts +30 -0
- package/src/assets/img/icon-images.ts +19 -0
- package/src/assets/img/icon-search.ts +19 -0
- package/src/assets/img/icon-software.ts +18 -0
- package/src/assets/img/icon-texts.ts +18 -0
- package/src/assets/img/{icon-upload-unpadded.js → icon-upload-unpadded.ts} +6 -2
- package/src/assets/img/icon-upload.ts +21 -0
- package/src/assets/img/icon-user.ts +19 -0
- package/src/assets/img/icon-video.ts +19 -0
- package/src/assets/img/icon-web.ts +19 -0
- package/src/assets/img/icon.ts +8 -0
- package/src/assets/img/icons.ts +33 -0
- package/src/assets/img/{wordmark-stacked.js → wordmark-stacked.ts} +1 -1
- package/src/data/{menus.js → menus.ts} +172 -135
- package/src/desktop-subnav.ts +49 -0
- package/src/dropdown-menu.ts +106 -0
- package/src/{ia-topnav.js → ia-topnav.ts} +130 -127
- package/src/lib/formatUrl.ts +2 -0
- package/src/lib/{keyboard-navigation.js → keyboard-navigation.ts} +53 -23
- package/src/lib/location-handler.ts +5 -0
- package/src/lib/makeBooleanString.ts +12 -0
- package/src/lib/query-handler.ts +7 -0
- package/src/lib/toSentenceCase.ts +10 -0
- package/src/{login-button.js → login-button.ts} +27 -31
- package/src/{media-button.js → media-button.ts} +39 -49
- package/src/media-menu.ts +143 -0
- package/src/{media-slider.js → media-slider.ts} +53 -41
- package/src/media-subnav.ts +132 -0
- package/src/models.ts +114 -0
- package/src/more-slider.ts +42 -0
- package/src/nav-search.ts +114 -0
- package/src/primary-nav.ts +266 -0
- package/src/save-page-form.ts +59 -0
- package/src/search-menu.ts +156 -0
- package/src/signed-out-dropdown.ts +11 -0
- package/src/styles/{base.js → base.ts} +2 -2
- package/src/styles/{desktop-subnav.js → desktop-subnav.ts} +2 -2
- package/src/styles/{dropdown-menu.js → dropdown-menu.ts} +4 -2
- package/src/styles/{ia-topnav.js → ia-topnav.ts} +1 -1
- package/src/styles/{login-button.js → login-button.ts} +1 -1
- package/src/styles/{media-button.js → media-button.ts} +2 -2
- package/src/styles/{media-menu.js → media-menu.ts} +1 -1
- package/src/styles/{media-slider.js → media-slider.ts} +1 -1
- package/src/styles/media-subnav.ts +159 -0
- package/src/styles/{more-slider.js → more-slider.ts} +1 -1
- package/src/styles/{nav-search.js → nav-search.ts} +2 -2
- package/src/styles/{primary-nav.js → primary-nav.ts} +2 -3
- package/src/styles/{save-page-form.js → save-page-form.ts} +7 -7
- package/src/styles/{search-menu.js → search-menu.ts} +1 -1
- package/src/styles/{signed-out-dropdown.js → signed-out-dropdown.ts} +1 -1
- package/src/styles/{user-menu.js → user-menu.ts} +1 -1
- package/src/styles/{wayback-search.js → wayback-search.ts} +3 -3
- package/src/styles/wayback-slider.ts +33 -0
- package/src/tracked-element.ts +32 -0
- package/src/user-menu.ts +57 -0
- package/src/wayback-search.ts +10 -0
- package/src/wayback-slider.ts +88 -0
- package/ssl/server.crt +22 -0
- package/ssl/server.key +28 -0
- package/test/assets/img/hamburger.test.ts +18 -0
- package/test/data/menus.test.ts +15 -0
- package/test/{dropdown-menu.test.js → dropdown-menu.test.ts} +5 -7
- package/test/{ia-icon.test.js → ia-icon.test.ts} +6 -4
- package/test/ia-topnav.test.ts +344 -0
- package/test/login-button.test.ts +19 -0
- package/test/media-button.test.ts +19 -0
- package/test/{media-menu.test.js → media-menu.test.ts} +14 -12
- package/test/media-slider.test.ts +63 -0
- package/test/more-slider.test.ts +21 -0
- package/test/nav-search.test.ts +70 -0
- package/test/primary-nav.test.ts +94 -0
- package/test/save-page-form.test.ts +62 -0
- package/test/{search-menu.test.js → search-menu.test.ts} +19 -10
- package/test/{user-menu.test.js → user-menu.test.ts} +10 -9
- package/test/wayback-slider.test.ts +97 -0
- package/tsconfig.json +31 -0
- package/web-dev-server.config.mjs +32 -0
- package/web-test-runner.config.mjs +41 -0
- package/.eslintrc +0 -16
- package/index.d.ts +0 -109
- package/src/assets/img/hamburger.js +0 -38
- package/src/assets/img/icon-close.js +0 -16
- package/src/assets/img/icon-donate-unpadded.js +0 -16
- package/src/assets/img/icon-donate.js +0 -15
- package/src/assets/img/icon-ellipses.js +0 -15
- package/src/assets/img/icon-ia-logo.js +0 -22
- package/src/assets/img/icon-images.js +0 -15
- package/src/assets/img/icon-search.js +0 -15
- package/src/assets/img/icon-software.js +0 -15
- package/src/assets/img/icon-texts.js +0 -15
- package/src/assets/img/icon-upload.js +0 -15
- package/src/assets/img/icon-user.js +0 -15
- package/src/assets/img/icon-video.js +0 -15
- package/src/assets/img/icon-web.js +0 -15
- package/src/assets/img/icon.js +0 -18
- package/src/assets/img/icons.js +0 -33
- package/src/desktop-subnav.js +0 -45
- package/src/dropdown-menu.js +0 -110
- package/src/lib/formatUrl.js +0 -1
- package/src/lib/location-handler.js +0 -5
- package/src/lib/query-handler.js +0 -7
- package/src/lib/toSentenceCase.js +0 -8
- package/src/media-menu.js +0 -154
- package/src/media-subnav.js +0 -112
- package/src/more-slider.js +0 -33
- package/src/nav-search.js +0 -111
- package/src/primary-nav.js +0 -258
- package/src/save-page-form.js +0 -59
- package/src/search-menu.js +0 -145
- package/src/signed-out-dropdown.js +0 -10
- package/src/styles/media-subnav.js +0 -156
- package/src/styles/wayback-slider.js +0 -30
- package/src/tracked-element.js +0 -29
- package/src/user-menu.js +0 -56
- package/src/wayback-search.js +0 -18
- package/src/wayback-slider.js +0 -87
- package/test/assets/img/hamburger.test.js +0 -15
- package/test/assets/img/user.test.js +0 -15
- package/test/data/menus.test.js +0 -19
- package/test/ia-topnav.test.js +0 -273
- package/test/login-button.test.js +0 -15
- package/test/media-button.test.js +0 -19
- package/test/media-slider.test.js +0 -57
- package/test/more-slider.test.js +0 -13
- package/test/nav-search.test.js +0 -61
- package/test/primary-nav.test.js +0 -82
- package/test/save-page-form.test.js +0 -35
- package/test/wayback-slider.test.js +0 -80
- /package/{index.js → index.ts} +0 -0
package/.prettierignore
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
coverage
|
package/README.md
CHANGED
|
@@ -5,7 +5,7 @@ https://git.archive.org/www/offshoot/-/blob/main/guides/update-top-nav.md
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
7
7
|
```bash
|
|
8
|
-
|
|
8
|
+
npm i -S @internetarchive/ia-topnav
|
|
9
9
|
```
|
|
10
10
|
|
|
11
11
|
## Usage
|
|
@@ -13,7 +13,7 @@ yarn add @internetarchive/ia-topnav
|
|
|
13
13
|
@see [www/index.html](www/index.html) for the simplest example with all the defaults
|
|
14
14
|
|
|
15
15
|
* Demo app is in another directory: `/www/index.html`
|
|
16
|
-
* `npm
|
|
16
|
+
* `npm run start` - runs local server in Demo directory which is in `/www` folder
|
|
17
17
|
* you can also just use your preferred server
|
|
18
18
|
* open demo: `http://localhost:8000/www/index.html`
|
|
19
19
|
|
|
@@ -118,30 +118,30 @@ Please see [src/data/menus.js](the menu objects) for our valid `menus` property.
|
|
|
118
118
|
## Prerequisite
|
|
119
119
|
|
|
120
120
|
```bash
|
|
121
|
-
|
|
121
|
+
npm install
|
|
122
122
|
```
|
|
123
123
|
|
|
124
124
|
## Start Development Server
|
|
125
125
|
|
|
126
126
|
```bash
|
|
127
|
-
|
|
127
|
+
npm run start // start development server and typescript compiler
|
|
128
128
|
```
|
|
129
129
|
then open demo - http://localhost:8000/www/index.html
|
|
130
130
|
|
|
131
131
|
## Testing
|
|
132
132
|
|
|
133
133
|
```bash
|
|
134
|
-
|
|
134
|
+
npm run test
|
|
135
135
|
```
|
|
136
136
|
|
|
137
137
|
## Testing via browserstack
|
|
138
138
|
|
|
139
139
|
```bash
|
|
140
|
-
|
|
140
|
+
npm run test:bs
|
|
141
141
|
```
|
|
142
142
|
|
|
143
143
|
## Linting
|
|
144
144
|
|
|
145
145
|
```bash
|
|
146
|
-
|
|
146
|
+
npm run lint
|
|
147
147
|
```
|
package/demo/app-root.ts
ADDED
|
@@ -0,0 +1,186 @@
|
|
|
1
|
+
import { html, css, LitElement, TemplateResult } from 'lit';
|
|
2
|
+
import { customElement, query } from 'lit/decorators.js';
|
|
3
|
+
import '../src/ia-topnav';
|
|
4
|
+
import type TopNav from '../src/ia-topnav';
|
|
5
|
+
|
|
6
|
+
@customElement('app-root')
|
|
7
|
+
export class AppRoot extends LitElement {
|
|
8
|
+
@query('ia-topnav')
|
|
9
|
+
private topnav!: TopNav;
|
|
10
|
+
|
|
11
|
+
render() {
|
|
12
|
+
return html`
|
|
13
|
+
<ia-topnav> </ia-topnav>
|
|
14
|
+
|
|
15
|
+
${this.devTools}
|
|
16
|
+
`;
|
|
17
|
+
}
|
|
18
|
+
|
|
19
|
+
private get devTools(): TemplateResult {
|
|
20
|
+
return html`
|
|
21
|
+
<div id="dev-tools">
|
|
22
|
+
<h1>Dev Tools</h1>
|
|
23
|
+
|
|
24
|
+
<h2>Username</h2>
|
|
25
|
+
<fieldset>
|
|
26
|
+
<button
|
|
27
|
+
@click=${() => {
|
|
28
|
+
this.topnav.screenName = 'brewster';
|
|
29
|
+
this.topnav.username = '@brewster';
|
|
30
|
+
}}
|
|
31
|
+
>
|
|
32
|
+
Switch username to brewster
|
|
33
|
+
</button>
|
|
34
|
+
|
|
35
|
+
<br />
|
|
36
|
+
|
|
37
|
+
<button
|
|
38
|
+
@click=${() => {
|
|
39
|
+
this.topnav.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';
|
|
40
|
+
this.topnav.username = '@test';
|
|
41
|
+
}}
|
|
42
|
+
>
|
|
43
|
+
Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
|
|
44
|
+
</button>
|
|
45
|
+
|
|
46
|
+
<br />
|
|
47
|
+
|
|
48
|
+
<button
|
|
49
|
+
@click=${() => {
|
|
50
|
+
this.topnav.screenName =
|
|
51
|
+
'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';
|
|
52
|
+
this.topnav.username = '@test';
|
|
53
|
+
}}
|
|
54
|
+
>
|
|
55
|
+
Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد
|
|
56
|
+
العجوز
|
|
57
|
+
</button>
|
|
58
|
+
|
|
59
|
+
<br />
|
|
60
|
+
|
|
61
|
+
<button
|
|
62
|
+
@click=${() => {
|
|
63
|
+
this.topnav.username = '';
|
|
64
|
+
this.topnav.screenName = '';
|
|
65
|
+
}}
|
|
66
|
+
>
|
|
67
|
+
Switch to logged out
|
|
68
|
+
</button>
|
|
69
|
+
</fieldset>
|
|
70
|
+
|
|
71
|
+
<h2>Local Links</h2>
|
|
72
|
+
<fieldset>
|
|
73
|
+
<button
|
|
74
|
+
@click=${() => {
|
|
75
|
+
this.topnav.localLinks = false;
|
|
76
|
+
}}
|
|
77
|
+
>
|
|
78
|
+
Disable local links
|
|
79
|
+
</button>
|
|
80
|
+
<button
|
|
81
|
+
@click=${() => {
|
|
82
|
+
this.topnav.localLinks = true;
|
|
83
|
+
}}
|
|
84
|
+
>
|
|
85
|
+
Enable local links
|
|
86
|
+
</button>
|
|
87
|
+
</fieldset>
|
|
88
|
+
|
|
89
|
+
<h2>Wayback Count</h2>
|
|
90
|
+
<fieldset>
|
|
91
|
+
<button
|
|
92
|
+
@click=${() => {
|
|
93
|
+
this.topnav.waybackPagesArchived = 'many, MAAAANNNY';
|
|
94
|
+
}}
|
|
95
|
+
>
|
|
96
|
+
Change WB pages count
|
|
97
|
+
</button>
|
|
98
|
+
|
|
99
|
+
<button
|
|
100
|
+
@click=${() => {
|
|
101
|
+
this.topnav.waybackPagesArchived = '740 billion';
|
|
102
|
+
}}
|
|
103
|
+
>
|
|
104
|
+
Reset WB pages count
|
|
105
|
+
</button>
|
|
106
|
+
</fieldset>
|
|
107
|
+
|
|
108
|
+
<h2>Search</h2>
|
|
109
|
+
<fieldset>
|
|
110
|
+
<button
|
|
111
|
+
@click=${() => {
|
|
112
|
+
this.topnav.hideSearch = true;
|
|
113
|
+
}}
|
|
114
|
+
>
|
|
115
|
+
Hide Top Row Search button, like on mobile
|
|
116
|
+
</button>
|
|
117
|
+
<button
|
|
118
|
+
@click=${() => {
|
|
119
|
+
this.topnav.hideSearch = false;
|
|
120
|
+
}}
|
|
121
|
+
>
|
|
122
|
+
Show Top Row Search button, like on mobile
|
|
123
|
+
</button>
|
|
124
|
+
</fieldset>
|
|
125
|
+
</div>
|
|
126
|
+
`;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
static styles = css`
|
|
130
|
+
:host {
|
|
131
|
+
display: block;
|
|
132
|
+
font-family: sans-serif;
|
|
133
|
+
}
|
|
134
|
+
|
|
135
|
+
#dev-tools {
|
|
136
|
+
margin: 1rem;
|
|
137
|
+
}
|
|
138
|
+
`;
|
|
139
|
+
}
|
|
140
|
+
|
|
141
|
+
// <center>
|
|
142
|
+
// <h1>demo </h1>
|
|
143
|
+
|
|
144
|
+
// < button
|
|
145
|
+
// onclick = "document.querySelector('ia-topnav').setAttribute('screenname', 'brewster'); document.querySelector('ia-topnav').setAttribute('username', '@brewster')" >
|
|
146
|
+
// switch username to brewster
|
|
147
|
+
// </button>
|
|
148
|
+
// < br />
|
|
149
|
+
// <button
|
|
150
|
+
// onclick="document.querySelector('ia-topnav').setAttribute('screenname', 'a😊b😊c😊d😊e😊f😊g😊h😊i😊'); document.querySelector('ia-topnav').setAttribute('username', '@test')" >
|
|
151
|
+
// switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
|
|
152
|
+
// </button>
|
|
153
|
+
// < br />
|
|
154
|
+
// <button
|
|
155
|
+
// onclick="document.querySelector('ia-topnav').setAttribute('screenname', 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز'); document.querySelector('ia-topnav').setAttribute('username', '@test')" >
|
|
156
|
+
// switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد العجوز
|
|
157
|
+
// </button>
|
|
158
|
+
// < br />
|
|
159
|
+
// <br />
|
|
160
|
+
// < button onclick = "document.querySelector('ia-topnav').removeAttribute('username')" >
|
|
161
|
+
// switch to un - logged -in
|
|
162
|
+
// </button>
|
|
163
|
+
|
|
164
|
+
// < hr />
|
|
165
|
+
|
|
166
|
+
// <button onclick="document.querySelector('ia-topnav').setAttribute('localLinks', false)" >
|
|
167
|
+
// switch localLinks false(change to https://archive.org)
|
|
168
|
+
// </button>
|
|
169
|
+
// < br />
|
|
170
|
+
// <button onclick="document.querySelector('ia-topnav').removeAttribute('localLinks')" >
|
|
171
|
+
// switch to localLinks(default, change links to start with /)
|
|
172
|
+
// </button>
|
|
173
|
+
|
|
174
|
+
// < hr />
|
|
175
|
+
// <button onclick="document.querySelector('ia-topnav').setAttribute('waybackPagesArchived', 'many, MAAAANNNY')" >
|
|
176
|
+
// change WB pages count
|
|
177
|
+
// </button>
|
|
178
|
+
|
|
179
|
+
// < hr />
|
|
180
|
+
// <button onclick="document.querySelector('ia-topnav').setAttribute('hideSearch', true)" >
|
|
181
|
+
// HIDE Top Row Search button, like on mobile
|
|
182
|
+
// </button>
|
|
183
|
+
// < button onclick = "document.querySelector('ia-topnav').removeAttribute('hideSearch')" >
|
|
184
|
+
// SHOW Top Row Search button, like on mobile
|
|
185
|
+
// </button>
|
|
186
|
+
// </center>
|
package/demo/index.html
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
<!doctype html>
|
|
2
|
+
<html lang="en-GB">
|
|
3
|
+
|
|
4
|
+
<head>
|
|
5
|
+
<meta name="viewport" content="width=device-width,initial-scale=1">
|
|
6
|
+
<meta charset="utf-8">
|
|
7
|
+
<style>
|
|
8
|
+
html {
|
|
9
|
+
font-size: 10px;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
body {
|
|
13
|
+
background: #fafafa;
|
|
14
|
+
margin: 0;
|
|
15
|
+
padding: 0;
|
|
16
|
+
}
|
|
17
|
+
</style>
|
|
18
|
+
</head>
|
|
19
|
+
|
|
20
|
+
<body>
|
|
21
|
+
<app-root></app-root>
|
|
22
|
+
|
|
23
|
+
<script type="module" src="../dist/demo/app-root.js">
|
|
24
|
+
</script>
|
|
25
|
+
</body>
|
|
26
|
+
|
|
27
|
+
</html>
|
|
@@ -0,0 +1,181 @@
|
|
|
1
|
+
import { __decorate } from "tslib";
|
|
2
|
+
import { html, css, LitElement } from 'lit';
|
|
3
|
+
import { customElement, query } from 'lit/decorators.js';
|
|
4
|
+
import '../src/ia-topnav';
|
|
5
|
+
let AppRoot = class AppRoot extends LitElement {
|
|
6
|
+
render() {
|
|
7
|
+
return html `
|
|
8
|
+
<ia-topnav> </ia-topnav>
|
|
9
|
+
|
|
10
|
+
${this.devTools}
|
|
11
|
+
`;
|
|
12
|
+
}
|
|
13
|
+
get devTools() {
|
|
14
|
+
return html `
|
|
15
|
+
<div id="dev-tools">
|
|
16
|
+
<h1>Dev Tools</h1>
|
|
17
|
+
|
|
18
|
+
<h2>Username</h2>
|
|
19
|
+
<fieldset>
|
|
20
|
+
<button
|
|
21
|
+
@click=${() => {
|
|
22
|
+
this.topnav.screenName = 'brewster';
|
|
23
|
+
this.topnav.username = '@brewster';
|
|
24
|
+
}}
|
|
25
|
+
>
|
|
26
|
+
Switch username to brewster
|
|
27
|
+
</button>
|
|
28
|
+
|
|
29
|
+
<br />
|
|
30
|
+
|
|
31
|
+
<button
|
|
32
|
+
@click=${() => {
|
|
33
|
+
this.topnav.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';
|
|
34
|
+
this.topnav.username = '@test';
|
|
35
|
+
}}
|
|
36
|
+
>
|
|
37
|
+
Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
|
|
38
|
+
</button>
|
|
39
|
+
|
|
40
|
+
<br />
|
|
41
|
+
|
|
42
|
+
<button
|
|
43
|
+
@click=${() => {
|
|
44
|
+
this.topnav.screenName =
|
|
45
|
+
'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';
|
|
46
|
+
this.topnav.username = '@test';
|
|
47
|
+
}}
|
|
48
|
+
>
|
|
49
|
+
Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد
|
|
50
|
+
العجوز
|
|
51
|
+
</button>
|
|
52
|
+
|
|
53
|
+
<br />
|
|
54
|
+
|
|
55
|
+
<button
|
|
56
|
+
@click=${() => {
|
|
57
|
+
this.topnav.username = '';
|
|
58
|
+
this.topnav.screenName = '';
|
|
59
|
+
}}
|
|
60
|
+
>
|
|
61
|
+
Switch to logged out
|
|
62
|
+
</button>
|
|
63
|
+
</fieldset>
|
|
64
|
+
|
|
65
|
+
<h2>Local Links</h2>
|
|
66
|
+
<fieldset>
|
|
67
|
+
<button
|
|
68
|
+
@click=${() => {
|
|
69
|
+
this.topnav.localLinks = false;
|
|
70
|
+
}}
|
|
71
|
+
>
|
|
72
|
+
Disable local links
|
|
73
|
+
</button>
|
|
74
|
+
<button
|
|
75
|
+
@click=${() => {
|
|
76
|
+
this.topnav.localLinks = true;
|
|
77
|
+
}}
|
|
78
|
+
>
|
|
79
|
+
Enable local links
|
|
80
|
+
</button>
|
|
81
|
+
</fieldset>
|
|
82
|
+
|
|
83
|
+
<h2>Wayback Count</h2>
|
|
84
|
+
<fieldset>
|
|
85
|
+
<button
|
|
86
|
+
@click=${() => {
|
|
87
|
+
this.topnav.waybackPagesArchived = 'many, MAAAANNNY';
|
|
88
|
+
}}
|
|
89
|
+
>
|
|
90
|
+
Change WB pages count
|
|
91
|
+
</button>
|
|
92
|
+
|
|
93
|
+
<button
|
|
94
|
+
@click=${() => {
|
|
95
|
+
this.topnav.waybackPagesArchived = '740 billion';
|
|
96
|
+
}}
|
|
97
|
+
>
|
|
98
|
+
Reset WB pages count
|
|
99
|
+
</button>
|
|
100
|
+
</fieldset>
|
|
101
|
+
|
|
102
|
+
<h2>Search</h2>
|
|
103
|
+
<fieldset>
|
|
104
|
+
<button
|
|
105
|
+
@click=${() => {
|
|
106
|
+
this.topnav.hideSearch = true;
|
|
107
|
+
}}
|
|
108
|
+
>
|
|
109
|
+
Hide Top Row Search button, like on mobile
|
|
110
|
+
</button>
|
|
111
|
+
<button
|
|
112
|
+
@click=${() => {
|
|
113
|
+
this.topnav.hideSearch = false;
|
|
114
|
+
}}
|
|
115
|
+
>
|
|
116
|
+
Show Top Row Search button, like on mobile
|
|
117
|
+
</button>
|
|
118
|
+
</fieldset>
|
|
119
|
+
</div>
|
|
120
|
+
`;
|
|
121
|
+
}
|
|
122
|
+
};
|
|
123
|
+
AppRoot.styles = css `
|
|
124
|
+
:host {
|
|
125
|
+
display: block;
|
|
126
|
+
font-family: sans-serif;
|
|
127
|
+
}
|
|
128
|
+
|
|
129
|
+
#dev-tools {
|
|
130
|
+
margin: 1rem;
|
|
131
|
+
}
|
|
132
|
+
`;
|
|
133
|
+
__decorate([
|
|
134
|
+
query('ia-topnav')
|
|
135
|
+
], AppRoot.prototype, "topnav", void 0);
|
|
136
|
+
AppRoot = __decorate([
|
|
137
|
+
customElement('app-root')
|
|
138
|
+
], AppRoot);
|
|
139
|
+
export { AppRoot };
|
|
140
|
+
// <center>
|
|
141
|
+
// <h1>demo </h1>
|
|
142
|
+
// < button
|
|
143
|
+
// onclick = "document.querySelector('ia-topnav').setAttribute('screenname', 'brewster'); document.querySelector('ia-topnav').setAttribute('username', '@brewster')" >
|
|
144
|
+
// switch username to brewster
|
|
145
|
+
// </button>
|
|
146
|
+
// < br />
|
|
147
|
+
// <button
|
|
148
|
+
// onclick="document.querySelector('ia-topnav').setAttribute('screenname', 'a😊b😊c😊d😊e😊f😊g😊h😊i😊'); document.querySelector('ia-topnav').setAttribute('username', '@test')" >
|
|
149
|
+
// switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊
|
|
150
|
+
// </button>
|
|
151
|
+
// < br />
|
|
152
|
+
// <button
|
|
153
|
+
// onclick="document.querySelector('ia-topnav').setAttribute('screenname', 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز'); document.querySelector('ia-topnav').setAttribute('username', '@test')" >
|
|
154
|
+
// switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد العجوز
|
|
155
|
+
// </button>
|
|
156
|
+
// < br />
|
|
157
|
+
// <br />
|
|
158
|
+
// < button onclick = "document.querySelector('ia-topnav').removeAttribute('username')" >
|
|
159
|
+
// switch to un - logged -in
|
|
160
|
+
// </button>
|
|
161
|
+
// < hr />
|
|
162
|
+
// <button onclick="document.querySelector('ia-topnav').setAttribute('localLinks', false)" >
|
|
163
|
+
// switch localLinks false(change to https://archive.org)
|
|
164
|
+
// </button>
|
|
165
|
+
// < br />
|
|
166
|
+
// <button onclick="document.querySelector('ia-topnav').removeAttribute('localLinks')" >
|
|
167
|
+
// switch to localLinks(default, change links to start with /)
|
|
168
|
+
// </button>
|
|
169
|
+
// < hr />
|
|
170
|
+
// <button onclick="document.querySelector('ia-topnav').setAttribute('waybackPagesArchived', 'many, MAAAANNNY')" >
|
|
171
|
+
// change WB pages count
|
|
172
|
+
// </button>
|
|
173
|
+
// < hr />
|
|
174
|
+
// <button onclick="document.querySelector('ia-topnav').setAttribute('hideSearch', true)" >
|
|
175
|
+
// HIDE Top Row Search button, like on mobile
|
|
176
|
+
// </button>
|
|
177
|
+
// < button onclick = "document.querySelector('ia-topnav').removeAttribute('hideSearch')" >
|
|
178
|
+
// SHOW Top Row Search button, like on mobile
|
|
179
|
+
// </button>
|
|
180
|
+
// </center>
|
|
181
|
+
//# sourceMappingURL=app-root.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-root.js","sourceRoot":"","sources":["../../demo/app-root.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAkB,MAAM,KAAK,CAAC;AAC5D,OAAO,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAC;AACzD,OAAO,kBAAkB,CAAC;AAInB,IAAM,OAAO,GAAb,MAAM,OAAQ,SAAQ,UAAU;IAIrC,MAAM;QACJ,OAAO,IAAI,CAAA;;;QAGP,IAAI,CAAC,QAAQ;KAChB,CAAC;IACJ,CAAC;IAED,IAAY,QAAQ;QAClB,OAAO,IAAI,CAAA;;;;;;;qBAOM,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,UAAU,CAAC;YACpC,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,WAAW,CAAC;QACrC,CAAC;;;;;;;;qBAQQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,6BAA6B,CAAC;YACvD,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;QACjC,CAAC;;;;;;;;qBAQQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU;gBACpB,uDAAuD,CAAC;YAC1D,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,OAAO,CAAC;QACjC,CAAC;;;;;;;;;qBASQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,QAAQ,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,EAAE,CAAC;QAC9B,CAAC;;;;;;;;;qBASQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;QACjC,CAAC;;;;;qBAKQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,CAAC;;;;;;;;;qBASQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,iBAAiB,CAAC;QACvD,CAAC;;;;;;qBAMQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,oBAAoB,GAAG,aAAa,CAAC;QACnD,CAAC;;;;;;;;;qBASQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC;QAChC,CAAC;;;;;qBAKQ,GAAG,EAAE;YACZ,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,KAAK,CAAC;QACjC,CAAC;;;;;;KAMR,CAAC;IACJ,CAAC;;AAEM,cAAM,GAAG,GAAG,CAAA;;;;;;;;;GASlB,AATY,CASX;AAjIM;IADP,KAAK,CAAC,WAAW,CAAC;uCACK;AAFb,OAAO;IADnB,aAAa,CAAC,UAAU,CAAC;GACb,OAAO,CAoInB;;AAED,WAAW;AACX,mBAAmB;AAEnB,aAAa;AACb,sKAAsK;AACtK,kCAAkC;AAClC,cAAc;AACd,YAAY;AACZ,YAAY;AACZ,uLAAuL;AACvL,qDAAqD;AACrD,YAAY;AACZ,YAAY;AACZ,YAAY;AACZ,iNAAiN;AACjN,+EAA+E;AAC/E,cAAc;AACd,YAAY;AACZ,WAAW;AACX,2FAA2F;AAC3F,gCAAgC;AAChC,cAAc;AAEd,YAAY;AAEZ,8FAA8F;AAC9F,6DAA6D;AAC7D,gBAAgB;AAChB,cAAc;AACd,4FAA4F;AAC5F,kEAAkE;AAClE,YAAY;AAEZ,YAAY;AACZ,oHAAoH;AACpH,4BAA4B;AAC5B,kBAAkB;AAElB,gBAAgB;AAChB,iGAAiG;AACjG,qDAAqD;AACrD,sBAAsB;AACtB,qGAAqG;AACrG,yDAAyD;AACzD,0BAA0B;AAC1B,0BAA0B","sourcesContent":["import { html, css, LitElement, TemplateResult } from 'lit';\nimport { customElement, query } from 'lit/decorators.js';\nimport '../src/ia-topnav';\nimport type TopNav from '../src/ia-topnav';\n\n@customElement('app-root')\nexport class AppRoot extends LitElement {\n @query('ia-topnav')\n private topnav!: TopNav;\n\n render() {\n return html`\n <ia-topnav> </ia-topnav>\n\n ${this.devTools}\n `;\n }\n\n private get devTools(): TemplateResult {\n return html`\n <div id=\"dev-tools\">\n <h1>Dev Tools</h1>\n\n <h2>Username</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.screenName = 'brewster';\n this.topnav.username = '@brewster';\n }}\n >\n Switch username to brewster\n </button>\n\n <br />\n\n <button\n @click=${() => {\n this.topnav.screenName = 'a😊b😊c😊d😊e😊f😊g😊h😊i😊';\n this.topnav.username = '@test';\n }}\n >\n Switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊\n </button>\n\n <br />\n\n <button\n @click=${() => {\n this.topnav.screenName =\n 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز';\n this.topnav.username = '@test';\n }}\n >\n Switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد\n العجوز\n </button>\n\n <br />\n\n <button\n @click=${() => {\n this.topnav.username = '';\n this.topnav.screenName = '';\n }}\n >\n Switch to logged out\n </button>\n </fieldset>\n\n <h2>Local Links</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.localLinks = false;\n }}\n >\n Disable local links\n </button>\n <button\n @click=${() => {\n this.topnav.localLinks = true;\n }}\n >\n Enable local links\n </button>\n </fieldset>\n\n <h2>Wayback Count</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.waybackPagesArchived = 'many, MAAAANNNY';\n }}\n >\n Change WB pages count\n </button>\n\n <button\n @click=${() => {\n this.topnav.waybackPagesArchived = '740 billion';\n }}\n >\n Reset WB pages count\n </button>\n </fieldset>\n\n <h2>Search</h2>\n <fieldset>\n <button\n @click=${() => {\n this.topnav.hideSearch = true;\n }}\n >\n Hide Top Row Search button, like on mobile\n </button>\n <button\n @click=${() => {\n this.topnav.hideSearch = false;\n }}\n >\n Show Top Row Search button, like on mobile\n </button>\n </fieldset>\n </div>\n `;\n }\n\n static styles = css`\n :host {\n display: block;\n font-family: sans-serif;\n }\n\n #dev-tools {\n margin: 1rem;\n }\n `;\n}\n\n// <center>\n// <h1>demo </h1>\n\n// < button\n// onclick = \"document.querySelector('ia-topnav').setAttribute('screenname', 'brewster'); document.querySelector('ia-topnav').setAttribute('username', '@brewster')\" >\n// switch username to brewster\n// </button>\n// < br />\n// <button\n// onclick=\"document.querySelector('ia-topnav').setAttribute('screenname', 'a😊b😊c😊d😊e😊f😊g😊h😊i😊'); document.querySelector('ia-topnav').setAttribute('username', '@test')\" >\n// switch username to a😊b😊c😊d😊e😊f😊g😊h😊i😊\n// </button>\n// < br />\n// <button\n// onclick=\"document.querySelector('ia-topnav').setAttribute('screenname', 'الدكتور محمالدكتور محمد العجوز محمالدكتور محمد العجوز'); document.querySelector('ia-topnav').setAttribute('username', '@test')\" >\n// switch username to محمالدكتور محمد العجوز الدكتور محمالدكتور محمد العجوز\n// </button>\n// < br />\n// <br />\n// < button onclick = \"document.querySelector('ia-topnav').removeAttribute('username')\" >\n// switch to un - logged -in\n// </button>\n\n// < hr />\n\n// <button onclick=\"document.querySelector('ia-topnav').setAttribute('localLinks', false)\" >\n// switch localLinks false(change to https://archive.org)\n// </button>\n// < br />\n// <button onclick=\"document.querySelector('ia-topnav').removeAttribute('localLinks')\" >\n// switch to localLinks(default, change links to start with /)\n// </button>\n\n// < hr />\n// <button onclick=\"document.querySelector('ia-topnav').setAttribute('waybackPagesArchived', 'many, MAAAANNNY')\" >\n// change WB pages count\n// </button>\n\n// < hr />\n// <button onclick=\"document.querySelector('ia-topnav').setAttribute('hideSearch', true)\" >\n// HIDE Top Row Search button, like on mobile\n// </button>\n// < button onclick = \"document.querySelector('ia-topnav').removeAttribute('hideSearch')\" >\n// SHOW Top Row Search button, like on mobile\n// </button>\n// </center>\n"]}
|
package/dist/index.d.ts
ADDED
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../index.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,iBAAiB,CAAC;AAEvC,eAAe,QAAQ,CAAC","sourcesContent":["import IATopNav from './src/ia-topnav';\n\nexport default IATopNav;\n"]}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import Icon from './icon';
|
|
2
|
+
export declare class HamBurger extends Icon {
|
|
3
|
+
static get styles(): import("lit").CSSResult;
|
|
4
|
+
static get closed(): import("lit").TemplateResult<1>;
|
|
5
|
+
static get opened(): import("lit").TemplateResult<1>;
|
|
6
|
+
render(): import("lit").TemplateResult<1>;
|
|
7
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
var HamBurger_1;
|
|
2
|
+
import { __decorate } from "tslib";
|
|
3
|
+
import { html, css } from 'lit';
|
|
4
|
+
import Icon from './icon';
|
|
5
|
+
import icons from './icons';
|
|
6
|
+
import { customElement } from 'lit/decorators.js';
|
|
7
|
+
let HamBurger = HamBurger_1 = class HamBurger extends Icon {
|
|
8
|
+
static get styles() {
|
|
9
|
+
return css `
|
|
10
|
+
svg {
|
|
11
|
+
display: block;
|
|
12
|
+
height: 4rem;
|
|
13
|
+
width: 4rem;
|
|
14
|
+
}
|
|
15
|
+
.fill-color {
|
|
16
|
+
fill: var(--activeColor);
|
|
17
|
+
}
|
|
18
|
+
`;
|
|
19
|
+
}
|
|
20
|
+
static get closed() {
|
|
21
|
+
return html `
|
|
22
|
+
<svg
|
|
23
|
+
viewBox="0 0 40 40"
|
|
24
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
25
|
+
aria-labelledby="hamburgerTitleID hamburgerDescID"
|
|
26
|
+
>
|
|
27
|
+
<title id="hamburgerTitleID">Hamburger icon</title>
|
|
28
|
+
<desc id="hamburgerDescID">
|
|
29
|
+
An icon used to represent a menu that can be toggled by interacting
|
|
30
|
+
with this icon.
|
|
31
|
+
</desc>
|
|
32
|
+
<path
|
|
33
|
+
d="m30.5 26.5c.8284271 0 1.5.6715729 1.5 1.5s-.6715729 1.5-1.5 1.5h-21c-.82842712 0-1.5-.6715729-1.5-1.5s.67157288-1.5 1.5-1.5zm0-8c.8284271 0 1.5.6715729 1.5 1.5s-.6715729 1.5-1.5 1.5h-21c-.82842712 0-1.5-.6715729-1.5-1.5s.67157288-1.5 1.5-1.5zm0-8c.8284271 0 1.5.6715729 1.5 1.5s-.6715729 1.5-1.5 1.5h-21c-.82842712 0-1.5-.6715729-1.5-1.5s.67157288-1.5 1.5-1.5z"
|
|
34
|
+
fill="#999"
|
|
35
|
+
fill-rule="evenodd"
|
|
36
|
+
/>
|
|
37
|
+
</svg>
|
|
38
|
+
`;
|
|
39
|
+
}
|
|
40
|
+
static get opened() {
|
|
41
|
+
return icons.close;
|
|
42
|
+
}
|
|
43
|
+
render() {
|
|
44
|
+
return this.active ? HamBurger_1.opened : HamBurger_1.closed;
|
|
45
|
+
}
|
|
46
|
+
};
|
|
47
|
+
HamBurger = HamBurger_1 = __decorate([
|
|
48
|
+
customElement('icon-hamburger')
|
|
49
|
+
], HamBurger);
|
|
50
|
+
export { HamBurger };
|
|
51
|
+
//# sourceMappingURL=hamburger.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"hamburger.js","sourceRoot":"","sources":["../../../../src/assets/img/hamburger.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,IAAI,MAAM,QAAQ,CAAC;AAC1B,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAG3C,IAAM,SAAS,iBAAf,MAAM,SAAU,SAAQ,IAAI;IACjC,MAAM,KAAK,MAAM;QACf,OAAO,GAAG,CAAA;;;;;;;;;KAST,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,IAAI,CAAA;;;;;;;;;;;;;;;;;KAiBV,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,MAAM;QACf,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,MAAM;QACJ,OAAO,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,WAAS,CAAC,MAAM,CAAC,CAAC,CAAC,WAAS,CAAC,MAAM,CAAC;IAC3D,CAAC;CACF,CAAA;AA1CY,SAAS;IADrB,aAAa,CAAC,gBAAgB,CAAC;GACnB,SAAS,CA0CrB","sourcesContent":["import { html, css } from 'lit';\nimport Icon from './icon';\nimport icons from './icons';\nimport { customElement } from 'lit/decorators.js';\n\n@customElement('icon-hamburger')\nexport class HamBurger extends Icon {\n static get styles() {\n return css`\n svg {\n display: block;\n height: 4rem;\n width: 4rem;\n }\n .fill-color {\n fill: var(--activeColor);\n }\n `;\n }\n\n static get closed() {\n return html`\n <svg\n viewBox=\"0 0 40 40\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-labelledby=\"hamburgerTitleID hamburgerDescID\"\n >\n <title id=\"hamburgerTitleID\">Hamburger icon</title>\n <desc id=\"hamburgerDescID\">\n An icon used to represent a menu that can be toggled by interacting\n with this icon.\n </desc>\n <path\n d=\"m30.5 26.5c.8284271 0 1.5.6715729 1.5 1.5s-.6715729 1.5-1.5 1.5h-21c-.82842712 0-1.5-.6715729-1.5-1.5s.67157288-1.5 1.5-1.5zm0-8c.8284271 0 1.5.6715729 1.5 1.5s-.6715729 1.5-1.5 1.5h-21c-.82842712 0-1.5-.6715729-1.5-1.5s.67157288-1.5 1.5-1.5zm0-8c.8284271 0 1.5.6715729 1.5 1.5s-.6715729 1.5-1.5 1.5h-21c-.82842712 0-1.5-.6715729-1.5-1.5s.67157288-1.5 1.5-1.5z\"\n fill=\"#999\"\n fill-rule=\"evenodd\"\n />\n </svg>\n `;\n }\n\n static get opened() {\n return icons.close;\n }\n\n render() {\n return this.active ? HamBurger.opened : HamBurger.closed;\n }\n}\n"]}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
var IAIcon_1;
|
|
2
|
+
import { __decorate } from "tslib";
|
|
3
|
+
import { LitElement, html } from 'lit';
|
|
4
|
+
import './icons';
|
|
5
|
+
import { customElement, property } from 'lit/decorators.js';
|
|
6
|
+
let IAIcon = IAIcon_1 = class IAIcon extends LitElement {
|
|
7
|
+
constructor() {
|
|
8
|
+
super(...arguments);
|
|
9
|
+
this.icon = '';
|
|
10
|
+
}
|
|
11
|
+
static get icons() {
|
|
12
|
+
return {
|
|
13
|
+
audio: html `<icon-audio></icon-audio>`,
|
|
14
|
+
ellipses: html `<icon-ellipses></icon-ellipses>`,
|
|
15
|
+
images: html `<icon-images></icon-images>`,
|
|
16
|
+
software: html `<icon-software></icon-software>`,
|
|
17
|
+
texts: html `<icon-texts></icon-texts>`,
|
|
18
|
+
video: html `<icon-video></icon-video>`,
|
|
19
|
+
web: html `<icon-web></icon-web>`,
|
|
20
|
+
};
|
|
21
|
+
}
|
|
22
|
+
render() {
|
|
23
|
+
return IAIcon_1.icons[this.icon];
|
|
24
|
+
}
|
|
25
|
+
};
|
|
26
|
+
__decorate([
|
|
27
|
+
property({ type: String })
|
|
28
|
+
], IAIcon.prototype, "icon", void 0);
|
|
29
|
+
IAIcon = IAIcon_1 = __decorate([
|
|
30
|
+
customElement('ia-icon')
|
|
31
|
+
], IAIcon);
|
|
32
|
+
export { IAIcon };
|
|
33
|
+
//# sourceMappingURL=ia-icon.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ia-icon.js","sourceRoot":"","sources":["../../../../src/assets/img/ia-icon.ts"],"names":[],"mappings":";;AAAA,OAAO,EAAE,UAAU,EAAkB,IAAI,EAAE,MAAM,KAAK,CAAC;AACvD,OAAO,SAAS,CAAC;AACjB,OAAO,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAGrD,IAAM,MAAM,cAAZ,MAAM,MAAO,SAAQ,UAAU;IAA/B;;QACuB,SAAI,GAAG,EAAE,CAAC;IAiBxC,CAAC;IAfC,MAAM,KAAK,KAAK;QACd,OAAO;YACL,KAAK,EAAE,IAAI,CAAA,2BAA2B;YACtC,QAAQ,EAAE,IAAI,CAAA,iCAAiC;YAC/C,MAAM,EAAE,IAAI,CAAA,6BAA6B;YACzC,QAAQ,EAAE,IAAI,CAAA,iCAAiC;YAC/C,KAAK,EAAE,IAAI,CAAA,2BAA2B;YACtC,KAAK,EAAE,IAAI,CAAA,2BAA2B;YACtC,GAAG,EAAE,IAAI,CAAA,uBAAuB;SACjC,CAAC;IACJ,CAAC;IAED,MAAM;QACJ,OAAO,QAAM,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC;CACF,CAAA;AAjB6B;IAA3B,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;oCAAW;AAD3B,MAAM;IADlB,aAAa,CAAC,SAAS,CAAC;GACZ,MAAM,CAkBlB","sourcesContent":["import { LitElement, TemplateResult, html } from 'lit';\nimport './icons';\nimport { customElement, property } from 'lit/decorators.js';\n\n@customElement('ia-icon')\nexport class IAIcon extends LitElement {\n @property({ type: String }) icon = '';\n\n static get icons(): Record<string, TemplateResult> {\n return {\n audio: html`<icon-audio></icon-audio>`,\n ellipses: html`<icon-ellipses></icon-ellipses>`,\n images: html`<icon-images></icon-images>`,\n software: html`<icon-software></icon-software>`,\n texts: html`<icon-texts></icon-texts>`,\n video: html`<icon-video></icon-video>`,\n web: html`<icon-web></icon-web>`,\n };\n }\n\n render() {\n return IAIcon.icons[this.icon];\n }\n}\n"]}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { html } from 'lit';
|
|
2
|
+
export default html `
|
|
3
|
+
<svg
|
|
4
|
+
width="40px"
|
|
5
|
+
height="40px"
|
|
6
|
+
viewBox="0 0 40 40"
|
|
7
|
+
version="1.1"
|
|
8
|
+
xmlns="http://www.w3.org/2000/svg"
|
|
9
|
+
aria-labelledby="audioTitleID audioDescID"
|
|
10
|
+
>
|
|
11
|
+
<title id="audioTitleID">Audio icon</title>
|
|
12
|
+
<desc id="audioDescID">An illustration of an audio speaker.</desc>
|
|
13
|
+
<g stroke="none" stroke-width="1" fill="none" fill-rule="evenodd">
|
|
14
|
+
<g transform="translate(10, 8)" class="fill-color">
|
|
15
|
+
<path
|
|
16
|
+
d="M19.4264564,11.8585048 L19.4264564,20.7200433 C19.4264564,22.3657576 18.8838179,23.2519114 16.8489237,23.2519114 C12.2364969,23.125318 7.75972977,23.125318 3.14730298,23.2519114 C1.24806842,23.2519114 0.569770368,22.492351 0.569770368,20.7200433 L0.569770368,2.74377955 C0.569770368,1.09806526 1.11240881,0.211911416 3.14730298,0.211911416 C7.75972977,0.338504822 12.2364969,0.338504822 16.8489237,0.211911416 C18.7481583,0.211911416 19.4264564,0.971471855 19.4264564,2.74377955 C19.2907967,5.78202131 19.4264564,8.82026306 19.4264564,11.8585048 L19.4264564,11.8585048 Z M10.0659432,2.74377955 C8.16670861,2.74377955 6.67445288,4.13630702 6.67445288,5.90861471 C6.67445288,7.6809224 8.16670861,9.07344988 10.0659432,9.07344988 C11.9651777,9.07344988 13.4574335,7.6809224 13.4574335,5.90861471 C13.4574335,4.13630702 11.8295181,2.74377955 10.0659432,2.74377955 L10.0659432,2.74377955 Z M10.0659432,11.4787246 C7.21709133,11.4787246 5.04653754,13.6308125 5.04653754,16.1626806 C5.04653754,18.8211422 7.35275094,20.8466367 10.0659432,20.8466367 C12.914795,20.8466367 15.0853488,18.6945488 15.0853488,16.1626806 C15.0853488,13.6308125 12.7791354,11.4787246 10.0659432,11.4787246 L10.0659432,11.4787246 Z"
|
|
17
|
+
></path>
|
|
18
|
+
<ellipse
|
|
19
|
+
cx="10.2016028"
|
|
20
|
+
cy="16.5690777"
|
|
21
|
+
rx="1.35659611"
|
|
22
|
+
ry="1.34075134"
|
|
23
|
+
></ellipse>
|
|
24
|
+
</g>
|
|
25
|
+
</g>
|
|
26
|
+
</svg>
|
|
27
|
+
`;
|
|
28
|
+
//# sourceMappingURL=icon-audio.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"icon-audio.js","sourceRoot":"","sources":["../../../../src/assets/img/icon-audio.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAE3B,eAAe,IAAI,CAAA;;;;;;;;;;;;;;;;;;;;;;;;;CAyBlB,CAAC","sourcesContent":["import { html } from 'lit';\n\nexport default html`\n <svg\n width=\"40px\"\n height=\"40px\"\n viewBox=\"0 0 40 40\"\n version=\"1.1\"\n xmlns=\"http://www.w3.org/2000/svg\"\n aria-labelledby=\"audioTitleID audioDescID\"\n >\n <title id=\"audioTitleID\">Audio icon</title>\n <desc id=\"audioDescID\">An illustration of an audio speaker.</desc>\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\n <g transform=\"translate(10, 8)\" class=\"fill-color\">\n <path\n d=\"M19.4264564,11.8585048 L19.4264564,20.7200433 C19.4264564,22.3657576 18.8838179,23.2519114 16.8489237,23.2519114 C12.2364969,23.125318 7.75972977,23.125318 3.14730298,23.2519114 C1.24806842,23.2519114 0.569770368,22.492351 0.569770368,20.7200433 L0.569770368,2.74377955 C0.569770368,1.09806526 1.11240881,0.211911416 3.14730298,0.211911416 C7.75972977,0.338504822 12.2364969,0.338504822 16.8489237,0.211911416 C18.7481583,0.211911416 19.4264564,0.971471855 19.4264564,2.74377955 C19.2907967,5.78202131 19.4264564,8.82026306 19.4264564,11.8585048 L19.4264564,11.8585048 Z M10.0659432,2.74377955 C8.16670861,2.74377955 6.67445288,4.13630702 6.67445288,5.90861471 C6.67445288,7.6809224 8.16670861,9.07344988 10.0659432,9.07344988 C11.9651777,9.07344988 13.4574335,7.6809224 13.4574335,5.90861471 C13.4574335,4.13630702 11.8295181,2.74377955 10.0659432,2.74377955 L10.0659432,2.74377955 Z M10.0659432,11.4787246 C7.21709133,11.4787246 5.04653754,13.6308125 5.04653754,16.1626806 C5.04653754,18.8211422 7.35275094,20.8466367 10.0659432,20.8466367 C12.914795,20.8466367 15.0853488,18.6945488 15.0853488,16.1626806 C15.0853488,13.6308125 12.7791354,11.4787246 10.0659432,11.4787246 L10.0659432,11.4787246 Z\"\n ></path>\n <ellipse\n cx=\"10.2016028\"\n cy=\"16.5690777\"\n rx=\"1.35659611\"\n ry=\"1.34075134\"\n ></ellipse>\n </g>\n </g>\n </svg>\n`;\n"]}
|