@itcenteratunihelsinki/huds-lib 0.12.1 → 0.12.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/components/hy-footer-base.js +9 -5
- package/components/hy-menu-main-group2.js +68 -56
- package/components/hy-site-header.js +34 -62
- package/components/index3.js +13 -2
- package/components/menu-language-item.js +2 -3
- package/components/menu-language.js +58 -40
- package/dist/cjs/{app-globals-6389091b.js → app-globals-96f3dbe1.js} +1 -1
- package/dist/cjs/{globalScript-c309d309.js → globalScript-d9a25ed2.js} +1 -1
- package/dist/cjs/huds-lib.cjs.js +4 -4
- package/dist/cjs/hy-accordion-container_2.cjs.entry.js +1 -1
- package/dist/cjs/hy-adjacent-image-text.cjs.entry.js +2 -2
- package/dist/cjs/hy-anchor-link-list.cjs.entry.js +2 -2
- package/dist/cjs/hy-badge.cjs.entry.js +1 -1
- package/dist/cjs/hy-banner.cjs.entry.js +1 -1
- package/dist/cjs/hy-box.cjs.entry.js +1 -1
- package/dist/cjs/hy-breadcrumbs_15.cjs.entry.js +101 -105
- package/dist/cjs/hy-checkbox.cjs.entry.js +1 -1
- package/dist/cjs/hy-collaboration.cjs.entry.js +1 -1
- package/dist/cjs/hy-content-list_2.cjs.entry.js +2 -2
- package/dist/cjs/hy-crisis-banner.cjs.entry.js +1 -1
- package/dist/cjs/hy-cta-button.cjs.entry.js +1 -1
- package/dist/cjs/hy-cta-link.cjs.entry.js +1 -1
- package/dist/cjs/hy-dropdown.cjs.entry.js +2 -2
- package/dist/cjs/hy-event-item.cjs.entry.js +1 -1
- package/dist/cjs/hy-events.cjs.entry.js +1 -1
- package/dist/cjs/hy-filter-group_6.cjs.entry.js +1 -1
- package/dist/cjs/hy-general-list_2.cjs.entry.js +2 -2
- package/dist/cjs/hy-hero-carousel.cjs.entry.js +2 -2
- package/dist/cjs/hy-hero.cjs.entry.js +2 -2
- package/dist/cjs/hy-icon-add-to-todo-list.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-alert.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-archive.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-arrow-down.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-arrow-left.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-arrow-right.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-arrow-to-right.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-arrow-up.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-avatar-group.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-avatar.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-bachelor.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-bullet-list.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-camera.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-caret-down.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-caret-left.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-caret-right.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-caret-up.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-chat.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-code-fork.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-cogs.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-contentlink.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-customlink.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-date.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-discover.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-done.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-dot-arrow-right.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-dot.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-download.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-drag.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-dragbutton.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-drop-down.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-edit-event.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-edit.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-embed.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-euro.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-events.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-external-link.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-eye-slash.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-facebook.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-favorites.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-feed.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-file-text.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-full-screen.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-globe.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-google-plus.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-grid.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-hamburger.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-heart-support.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-heart.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-helsinginyliopisto.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-home.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-horizontal-resize.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-hy-logo.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-id-number.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-image-gallery.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-image.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-images.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-info-stroke.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-info.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-instagram.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-leiki-list.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-link-arrow-down.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-link-arrow-left.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-link-arrow-offsite.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-link-arrow-up.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-link-arrow.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-link-arrow1.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-linkedin.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-list-as-blocks.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-list-style-grid.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-list-style-list.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-list.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-listoflinks.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-location.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-log.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-login.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-logout.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-magnify-minus.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-magnify-plus.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-mail.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-master.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-minus.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-mobile.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-modify.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-navi-triangle.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-new-group.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-new-person.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-notification.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-opinder-logo-new.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-opinder-logo.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-pdf.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-people.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-permission-all.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-permission-group.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-permission-private.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-person-outline.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-person.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-phone.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-play.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-plus.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-preview.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-profile.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-question.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-quote.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-remove.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-retweet.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-rotate-left.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-rotate-right.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-search.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-share.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-slim-hamburger-menu.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-social-media.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-some-facebook.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-some-instagram.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-some-linkedin.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-some-tiktok.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-some-twitter.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-some-youtube.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-spinner.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-square-checked.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-square.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-time.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-todo-list.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-tour.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-twitter-like.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-units-and-faculties.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-url.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-video.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-warning.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-wrench.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon-youtube.cjs.entry.js +1 -1
- package/dist/cjs/hy-icon.cjs.entry.js +1 -1
- package/dist/cjs/hy-iconicons.cjs.entry.js +1 -1
- package/dist/cjs/hy-image.cjs.entry.js +1 -1
- package/dist/cjs/hy-introduction.cjs.entry.js +1 -1
- package/dist/cjs/hy-key-figure_2.cjs.entry.js +2 -2
- package/dist/cjs/hy-key-highlight_2.cjs.entry.js +2 -2
- package/dist/cjs/hy-large-process-flow_2.cjs.entry.js +2 -2
- package/dist/cjs/hy-link-box_2.cjs.entry.js +2 -2
- package/dist/cjs/hy-link-list.cjs.entry.js +2 -2
- package/dist/cjs/hy-link.cjs.entry.js +1 -1
- package/dist/cjs/hy-list-item.cjs.entry.js +1 -1
- package/dist/cjs/hy-logo-grid_2.cjs.entry.js +1 -1
- package/dist/cjs/hy-main.cjs.entry.js +1 -1
- package/dist/cjs/hy-menu-main-group.cjs.entry.js +69 -57
- package/dist/cjs/hy-opening-hours_2.cjs.entry.js +1 -1
- package/dist/cjs/hy-pager_2.cjs.entry.js +1 -1
- package/dist/cjs/hy-paragraph-text.cjs.entry.js +1 -1
- package/dist/cjs/hy-person-card.cjs.entry.js +1 -1
- package/dist/cjs/hy-person-profile-listing.cjs.entry.js +1 -1
- package/dist/cjs/hy-person-profile.cjs.entry.js +1 -1
- package/dist/cjs/hy-process_2.cjs.entry.js +2 -2
- package/dist/cjs/hy-prominent-image.cjs.entry.js +1 -1
- package/dist/cjs/hy-quote.cjs.entry.js +1 -1
- package/dist/cjs/hy-row.cjs.entry.js +1 -1
- package/dist/cjs/hy-section-container.cjs.entry.js +1 -1
- package/dist/cjs/hy-shortcuts.cjs.entry.js +1 -1
- package/dist/cjs/hy-table-container.cjs.entry.js +1 -1
- package/dist/cjs/hy-tabs_2.cjs.entry.js +1 -1
- package/dist/cjs/hy-tag.cjs.entry.js +1 -1
- package/dist/cjs/hy-tiny-text.cjs.entry.js +1 -1
- package/dist/cjs/hy-twitter-feed.cjs.entry.js +1 -1
- package/dist/cjs/hy-two-columns.cjs.entry.js +1 -1
- package/dist/cjs/hy-user-login-form.cjs.entry.js +1 -1
- package/dist/cjs/hy-video.cjs.entry.js +1 -1
- package/dist/cjs/{index-701b1b84.js → index-362c147c.js} +13 -2
- package/dist/cjs/loader.cjs.js +4 -4
- package/dist/collection/components/footer/hy-footer-base/hy-footer-base.css +6 -0
- package/dist/collection/components/footer/hy-footer-base/hy-footer-base.js +8 -4
- package/dist/collection/components/hy-navigation/hy-menu-main-group/hy-menu-main-group.css +42 -36
- package/dist/collection/components/hy-navigation/hy-menu-main-group/hy-menu-main-group.js +68 -62
- package/dist/collection/components/hy-navigation/menu-language/menu-language.css +4 -4
- package/dist/collection/components/hy-navigation/menu-language/menu-language.js +82 -45
- package/dist/collection/components/hy-navigation/menu-language-item/menu-language-item.js +1 -2
- package/dist/collection/components/hy-site-header/site-header.css +7 -14
- package/dist/collection/components/hy-site-header/site-header.js +38 -61
- package/dist/esm/{app-globals-1b021639.js → app-globals-a069cf15.js} +1 -1
- package/dist/esm/{globalScript-3f479486.js → globalScript-326c6753.js} +1 -1
- package/dist/esm/huds-lib.js +5 -5
- package/dist/esm/hy-accordion-container_2.entry.js +1 -1
- package/dist/esm/hy-adjacent-image-text.entry.js +2 -2
- package/dist/esm/hy-anchor-link-list.entry.js +2 -2
- package/dist/esm/hy-badge.entry.js +1 -1
- package/dist/esm/hy-banner.entry.js +1 -1
- package/dist/esm/hy-box.entry.js +1 -1
- package/dist/esm/hy-breadcrumbs_15.entry.js +101 -105
- package/dist/esm/hy-checkbox.entry.js +1 -1
- package/dist/esm/hy-collaboration.entry.js +1 -1
- package/dist/esm/hy-content-list_2.entry.js +2 -2
- package/dist/esm/hy-crisis-banner.entry.js +1 -1
- package/dist/esm/hy-cta-button.entry.js +1 -1
- package/dist/esm/hy-cta-link.entry.js +1 -1
- package/dist/esm/hy-dropdown.entry.js +2 -2
- package/dist/esm/hy-event-item.entry.js +1 -1
- package/dist/esm/hy-events.entry.js +1 -1
- package/dist/esm/hy-filter-group_6.entry.js +1 -1
- package/dist/esm/hy-general-list_2.entry.js +2 -2
- package/dist/esm/hy-hero-carousel.entry.js +2 -2
- package/dist/esm/hy-hero.entry.js +2 -2
- package/dist/esm/hy-icon-add-to-todo-list.entry.js +1 -1
- package/dist/esm/hy-icon-alert.entry.js +1 -1
- package/dist/esm/hy-icon-archive.entry.js +1 -1
- package/dist/esm/hy-icon-arrow-down.entry.js +1 -1
- package/dist/esm/hy-icon-arrow-left.entry.js +1 -1
- package/dist/esm/hy-icon-arrow-right.entry.js +1 -1
- package/dist/esm/hy-icon-arrow-to-right.entry.js +1 -1
- package/dist/esm/hy-icon-arrow-up.entry.js +1 -1
- package/dist/esm/hy-icon-avatar-group.entry.js +1 -1
- package/dist/esm/hy-icon-avatar.entry.js +1 -1
- package/dist/esm/hy-icon-bachelor.entry.js +1 -1
- package/dist/esm/hy-icon-bullet-list.entry.js +1 -1
- package/dist/esm/hy-icon-camera.entry.js +1 -1
- package/dist/esm/hy-icon-caret-down.entry.js +1 -1
- package/dist/esm/hy-icon-caret-left.entry.js +1 -1
- package/dist/esm/hy-icon-caret-right.entry.js +1 -1
- package/dist/esm/hy-icon-caret-up.entry.js +1 -1
- package/dist/esm/hy-icon-chat.entry.js +1 -1
- package/dist/esm/hy-icon-code-fork.entry.js +1 -1
- package/dist/esm/hy-icon-cogs.entry.js +1 -1
- package/dist/esm/hy-icon-contentlink.entry.js +1 -1
- package/dist/esm/hy-icon-customlink.entry.js +1 -1
- package/dist/esm/hy-icon-date.entry.js +1 -1
- package/dist/esm/hy-icon-discover.entry.js +1 -1
- package/dist/esm/hy-icon-done.entry.js +1 -1
- package/dist/esm/hy-icon-dot-arrow-right.entry.js +1 -1
- package/dist/esm/hy-icon-dot.entry.js +1 -1
- package/dist/esm/hy-icon-download.entry.js +1 -1
- package/dist/esm/hy-icon-drag.entry.js +1 -1
- package/dist/esm/hy-icon-dragbutton.entry.js +1 -1
- package/dist/esm/hy-icon-drop-down.entry.js +1 -1
- package/dist/esm/hy-icon-edit-event.entry.js +1 -1
- package/dist/esm/hy-icon-edit.entry.js +1 -1
- package/dist/esm/hy-icon-embed.entry.js +1 -1
- package/dist/esm/hy-icon-euro.entry.js +1 -1
- package/dist/esm/hy-icon-events.entry.js +1 -1
- package/dist/esm/hy-icon-external-link.entry.js +1 -1
- package/dist/esm/hy-icon-eye-slash.entry.js +1 -1
- package/dist/esm/hy-icon-facebook.entry.js +1 -1
- package/dist/esm/hy-icon-favorites.entry.js +1 -1
- package/dist/esm/hy-icon-feed.entry.js +1 -1
- package/dist/esm/hy-icon-file-text.entry.js +1 -1
- package/dist/esm/hy-icon-full-screen.entry.js +1 -1
- package/dist/esm/hy-icon-globe.entry.js +1 -1
- package/dist/esm/hy-icon-google-plus.entry.js +1 -1
- package/dist/esm/hy-icon-grid.entry.js +1 -1
- package/dist/esm/hy-icon-hamburger.entry.js +1 -1
- package/dist/esm/hy-icon-heart-support.entry.js +1 -1
- package/dist/esm/hy-icon-heart.entry.js +1 -1
- package/dist/esm/hy-icon-helsinginyliopisto.entry.js +1 -1
- package/dist/esm/hy-icon-home.entry.js +1 -1
- package/dist/esm/hy-icon-horizontal-resize.entry.js +1 -1
- package/dist/esm/hy-icon-hy-logo.entry.js +1 -1
- package/dist/esm/hy-icon-id-number.entry.js +1 -1
- package/dist/esm/hy-icon-image-gallery.entry.js +1 -1
- package/dist/esm/hy-icon-image.entry.js +1 -1
- package/dist/esm/hy-icon-images.entry.js +1 -1
- package/dist/esm/hy-icon-info-stroke.entry.js +1 -1
- package/dist/esm/hy-icon-info.entry.js +1 -1
- package/dist/esm/hy-icon-instagram.entry.js +1 -1
- package/dist/esm/hy-icon-leiki-list.entry.js +1 -1
- package/dist/esm/hy-icon-link-arrow-down.entry.js +1 -1
- package/dist/esm/hy-icon-link-arrow-left.entry.js +1 -1
- package/dist/esm/hy-icon-link-arrow-offsite.entry.js +1 -1
- package/dist/esm/hy-icon-link-arrow-up.entry.js +1 -1
- package/dist/esm/hy-icon-link-arrow.entry.js +1 -1
- package/dist/esm/hy-icon-link-arrow1.entry.js +1 -1
- package/dist/esm/hy-icon-linkedin.entry.js +1 -1
- package/dist/esm/hy-icon-list-as-blocks.entry.js +1 -1
- package/dist/esm/hy-icon-list-style-grid.entry.js +1 -1
- package/dist/esm/hy-icon-list-style-list.entry.js +1 -1
- package/dist/esm/hy-icon-list.entry.js +1 -1
- package/dist/esm/hy-icon-listoflinks.entry.js +1 -1
- package/dist/esm/hy-icon-location.entry.js +1 -1
- package/dist/esm/hy-icon-log.entry.js +1 -1
- package/dist/esm/hy-icon-login.entry.js +1 -1
- package/dist/esm/hy-icon-logout.entry.js +1 -1
- package/dist/esm/hy-icon-magnify-minus.entry.js +1 -1
- package/dist/esm/hy-icon-magnify-plus.entry.js +1 -1
- package/dist/esm/hy-icon-mail.entry.js +1 -1
- package/dist/esm/hy-icon-master.entry.js +1 -1
- package/dist/esm/hy-icon-minus.entry.js +1 -1
- package/dist/esm/hy-icon-mobile.entry.js +1 -1
- package/dist/esm/hy-icon-modify.entry.js +1 -1
- package/dist/esm/hy-icon-navi-triangle.entry.js +1 -1
- package/dist/esm/hy-icon-new-group.entry.js +1 -1
- package/dist/esm/hy-icon-new-person.entry.js +1 -1
- package/dist/esm/hy-icon-notification.entry.js +1 -1
- package/dist/esm/hy-icon-opinder-logo-new.entry.js +1 -1
- package/dist/esm/hy-icon-opinder-logo.entry.js +1 -1
- package/dist/esm/hy-icon-pdf.entry.js +1 -1
- package/dist/esm/hy-icon-people.entry.js +1 -1
- package/dist/esm/hy-icon-permission-all.entry.js +1 -1
- package/dist/esm/hy-icon-permission-group.entry.js +1 -1
- package/dist/esm/hy-icon-permission-private.entry.js +1 -1
- package/dist/esm/hy-icon-person-outline.entry.js +1 -1
- package/dist/esm/hy-icon-person.entry.js +1 -1
- package/dist/esm/hy-icon-phone.entry.js +1 -1
- package/dist/esm/hy-icon-play.entry.js +1 -1
- package/dist/esm/hy-icon-plus.entry.js +1 -1
- package/dist/esm/hy-icon-preview.entry.js +1 -1
- package/dist/esm/hy-icon-profile.entry.js +1 -1
- package/dist/esm/hy-icon-question.entry.js +1 -1
- package/dist/esm/hy-icon-quote.entry.js +1 -1
- package/dist/esm/hy-icon-remove.entry.js +1 -1
- package/dist/esm/hy-icon-retweet.entry.js +1 -1
- package/dist/esm/hy-icon-rotate-left.entry.js +1 -1
- package/dist/esm/hy-icon-rotate-right.entry.js +1 -1
- package/dist/esm/hy-icon-search.entry.js +1 -1
- package/dist/esm/hy-icon-share.entry.js +1 -1
- package/dist/esm/hy-icon-slim-hamburger-menu.entry.js +1 -1
- package/dist/esm/hy-icon-social-media.entry.js +1 -1
- package/dist/esm/hy-icon-some-facebook.entry.js +1 -1
- package/dist/esm/hy-icon-some-instagram.entry.js +1 -1
- package/dist/esm/hy-icon-some-linkedin.entry.js +1 -1
- package/dist/esm/hy-icon-some-tiktok.entry.js +1 -1
- package/dist/esm/hy-icon-some-twitter.entry.js +1 -1
- package/dist/esm/hy-icon-some-youtube.entry.js +1 -1
- package/dist/esm/hy-icon-spinner.entry.js +1 -1
- package/dist/esm/hy-icon-square-checked.entry.js +1 -1
- package/dist/esm/hy-icon-square.entry.js +1 -1
- package/dist/esm/hy-icon-time.entry.js +1 -1
- package/dist/esm/hy-icon-todo-list.entry.js +1 -1
- package/dist/esm/hy-icon-tour.entry.js +1 -1
- package/dist/esm/hy-icon-twitter-like.entry.js +1 -1
- package/dist/esm/hy-icon-units-and-faculties.entry.js +1 -1
- package/dist/esm/hy-icon-url.entry.js +1 -1
- package/dist/esm/hy-icon-video.entry.js +1 -1
- package/dist/esm/hy-icon-warning.entry.js +1 -1
- package/dist/esm/hy-icon-wrench.entry.js +1 -1
- package/dist/esm/hy-icon-youtube.entry.js +1 -1
- package/dist/esm/hy-icon.entry.js +1 -1
- package/dist/esm/hy-iconicons.entry.js +1 -1
- package/dist/esm/hy-image.entry.js +1 -1
- package/dist/esm/hy-introduction.entry.js +1 -1
- package/dist/esm/hy-key-figure_2.entry.js +2 -2
- package/dist/esm/hy-key-highlight_2.entry.js +2 -2
- package/dist/esm/hy-large-process-flow_2.entry.js +2 -2
- package/dist/esm/hy-link-box_2.entry.js +2 -2
- package/dist/esm/hy-link-list.entry.js +2 -2
- package/dist/esm/hy-link.entry.js +1 -1
- package/dist/esm/hy-list-item.entry.js +1 -1
- package/dist/esm/hy-logo-grid_2.entry.js +1 -1
- package/dist/esm/hy-main.entry.js +1 -1
- package/dist/esm/hy-menu-main-group.entry.js +69 -57
- package/dist/esm/hy-opening-hours_2.entry.js +1 -1
- package/dist/esm/hy-pager_2.entry.js +1 -1
- package/dist/esm/hy-paragraph-text.entry.js +1 -1
- package/dist/esm/hy-person-card.entry.js +1 -1
- package/dist/esm/hy-person-profile-listing.entry.js +1 -1
- package/dist/esm/hy-person-profile.entry.js +1 -1
- package/dist/esm/hy-process_2.entry.js +2 -2
- package/dist/esm/hy-prominent-image.entry.js +1 -1
- package/dist/esm/hy-quote.entry.js +1 -1
- package/dist/esm/hy-row.entry.js +1 -1
- package/dist/esm/hy-section-container.entry.js +1 -1
- package/dist/esm/hy-shortcuts.entry.js +1 -1
- package/dist/esm/hy-table-container.entry.js +1 -1
- package/dist/esm/hy-tabs_2.entry.js +1 -1
- package/dist/esm/hy-tag.entry.js +1 -1
- package/dist/esm/hy-tiny-text.entry.js +1 -1
- package/dist/esm/hy-twitter-feed.entry.js +1 -1
- package/dist/esm/hy-two-columns.entry.js +1 -1
- package/dist/esm/hy-user-login-form.entry.js +1 -1
- package/dist/esm/hy-video.entry.js +1 -1
- package/dist/esm/{index-2ffe17c9.js → index-61e707b7.js} +13 -2
- package/dist/esm/loader.js +5 -5
- package/dist/huds-lib/app-globals-a069cf15.js +1 -0
- package/dist/huds-lib/{globalScript-3f479486.js → globalScript-326c6753.js} +1 -1
- package/dist/huds-lib/huds-lib.esm.js +1 -1
- package/dist/huds-lib/hy-accordion-container_2.entry.js +1 -1
- package/dist/huds-lib/hy-adjacent-image-text.entry.js +1 -1
- package/dist/huds-lib/hy-anchor-link-list.entry.js +1 -1
- package/dist/huds-lib/hy-badge.entry.js +1 -1
- package/dist/huds-lib/hy-banner.entry.js +1 -1
- package/dist/huds-lib/hy-box.entry.js +1 -1
- package/dist/huds-lib/hy-breadcrumbs_15.entry.js +1 -1
- package/dist/huds-lib/hy-checkbox.entry.js +1 -1
- package/dist/huds-lib/hy-collaboration.entry.js +1 -1
- package/dist/huds-lib/hy-content-list_2.entry.js +1 -1
- package/dist/huds-lib/hy-crisis-banner.entry.js +1 -1
- package/dist/huds-lib/hy-cta-button.entry.js +1 -1
- package/dist/huds-lib/hy-cta-link.entry.js +1 -1
- package/dist/huds-lib/hy-dropdown.entry.js +1 -1
- package/dist/huds-lib/hy-event-item.entry.js +1 -1
- package/dist/huds-lib/hy-events.entry.js +1 -1
- package/dist/huds-lib/hy-filter-group_6.entry.js +1 -1
- package/dist/huds-lib/hy-general-list_2.entry.js +1 -1
- package/dist/huds-lib/hy-hero-carousel.entry.js +1 -1
- package/dist/huds-lib/hy-hero.entry.js +1 -1
- package/dist/huds-lib/hy-icon-add-to-todo-list.entry.js +1 -1
- package/dist/huds-lib/hy-icon-alert.entry.js +1 -1
- package/dist/huds-lib/hy-icon-archive.entry.js +1 -1
- package/dist/huds-lib/hy-icon-arrow-down.entry.js +1 -1
- package/dist/huds-lib/hy-icon-arrow-left.entry.js +1 -1
- package/dist/huds-lib/hy-icon-arrow-right.entry.js +1 -1
- package/dist/huds-lib/hy-icon-arrow-to-right.entry.js +1 -1
- package/dist/huds-lib/hy-icon-arrow-up.entry.js +1 -1
- package/dist/huds-lib/hy-icon-avatar-group.entry.js +1 -1
- package/dist/huds-lib/hy-icon-avatar.entry.js +1 -1
- package/dist/huds-lib/hy-icon-bachelor.entry.js +1 -1
- package/dist/huds-lib/hy-icon-bullet-list.entry.js +1 -1
- package/dist/huds-lib/hy-icon-camera.entry.js +1 -1
- package/dist/huds-lib/hy-icon-caret-down.entry.js +1 -1
- package/dist/huds-lib/hy-icon-caret-left.entry.js +1 -1
- package/dist/huds-lib/hy-icon-caret-right.entry.js +1 -1
- package/dist/huds-lib/hy-icon-caret-up.entry.js +1 -1
- package/dist/huds-lib/hy-icon-chat.entry.js +1 -1
- package/dist/huds-lib/hy-icon-code-fork.entry.js +1 -1
- package/dist/huds-lib/hy-icon-cogs.entry.js +1 -1
- package/dist/huds-lib/hy-icon-contentlink.entry.js +1 -1
- package/dist/huds-lib/hy-icon-customlink.entry.js +1 -1
- package/dist/huds-lib/hy-icon-date.entry.js +1 -1
- package/dist/huds-lib/hy-icon-discover.entry.js +1 -1
- package/dist/huds-lib/hy-icon-done.entry.js +1 -1
- package/dist/huds-lib/hy-icon-dot-arrow-right.entry.js +1 -1
- package/dist/huds-lib/hy-icon-dot.entry.js +1 -1
- package/dist/huds-lib/hy-icon-download.entry.js +1 -1
- package/dist/huds-lib/hy-icon-drag.entry.js +1 -1
- package/dist/huds-lib/hy-icon-dragbutton.entry.js +1 -1
- package/dist/huds-lib/hy-icon-drop-down.entry.js +1 -1
- package/dist/huds-lib/hy-icon-edit-event.entry.js +1 -1
- package/dist/huds-lib/hy-icon-edit.entry.js +1 -1
- package/dist/huds-lib/hy-icon-embed.entry.js +1 -1
- package/dist/huds-lib/hy-icon-euro.entry.js +1 -1
- package/dist/huds-lib/hy-icon-events.entry.js +1 -1
- package/dist/huds-lib/hy-icon-external-link.entry.js +1 -1
- package/dist/huds-lib/hy-icon-eye-slash.entry.js +1 -1
- package/dist/huds-lib/hy-icon-facebook.entry.js +1 -1
- package/dist/huds-lib/hy-icon-favorites.entry.js +1 -1
- package/dist/huds-lib/hy-icon-feed.entry.js +1 -1
- package/dist/huds-lib/hy-icon-file-text.entry.js +1 -1
- package/dist/huds-lib/hy-icon-full-screen.entry.js +1 -1
- package/dist/huds-lib/hy-icon-globe.entry.js +1 -1
- package/dist/huds-lib/hy-icon-google-plus.entry.js +1 -1
- package/dist/huds-lib/hy-icon-grid.entry.js +1 -1
- package/dist/huds-lib/hy-icon-hamburger.entry.js +1 -1
- package/dist/huds-lib/hy-icon-heart-support.entry.js +1 -1
- package/dist/huds-lib/hy-icon-heart.entry.js +1 -1
- package/dist/huds-lib/hy-icon-helsinginyliopisto.entry.js +1 -1
- package/dist/huds-lib/hy-icon-home.entry.js +1 -1
- package/dist/huds-lib/hy-icon-horizontal-resize.entry.js +1 -1
- package/dist/huds-lib/hy-icon-hy-logo.entry.js +1 -1
- package/dist/huds-lib/hy-icon-id-number.entry.js +1 -1
- package/dist/huds-lib/hy-icon-image-gallery.entry.js +1 -1
- package/dist/huds-lib/hy-icon-image.entry.js +1 -1
- package/dist/huds-lib/hy-icon-images.entry.js +1 -1
- package/dist/huds-lib/hy-icon-info-stroke.entry.js +1 -1
- package/dist/huds-lib/hy-icon-info.entry.js +1 -1
- package/dist/huds-lib/hy-icon-instagram.entry.js +1 -1
- package/dist/huds-lib/hy-icon-leiki-list.entry.js +1 -1
- package/dist/huds-lib/hy-icon-link-arrow-down.entry.js +1 -1
- package/dist/huds-lib/hy-icon-link-arrow-left.entry.js +1 -1
- package/dist/huds-lib/hy-icon-link-arrow-offsite.entry.js +1 -1
- package/dist/huds-lib/hy-icon-link-arrow-up.entry.js +1 -1
- package/dist/huds-lib/hy-icon-link-arrow.entry.js +1 -1
- package/dist/huds-lib/hy-icon-link-arrow1.entry.js +1 -1
- package/dist/huds-lib/hy-icon-linkedin.entry.js +1 -1
- package/dist/huds-lib/hy-icon-list-as-blocks.entry.js +1 -1
- package/dist/huds-lib/hy-icon-list-style-grid.entry.js +1 -1
- package/dist/huds-lib/hy-icon-list-style-list.entry.js +1 -1
- package/dist/huds-lib/hy-icon-list.entry.js +1 -1
- package/dist/huds-lib/hy-icon-listoflinks.entry.js +1 -1
- package/dist/huds-lib/hy-icon-location.entry.js +1 -1
- package/dist/huds-lib/hy-icon-log.entry.js +1 -1
- package/dist/huds-lib/hy-icon-login.entry.js +1 -1
- package/dist/huds-lib/hy-icon-logout.entry.js +1 -1
- package/dist/huds-lib/hy-icon-magnify-minus.entry.js +1 -1
- package/dist/huds-lib/hy-icon-magnify-plus.entry.js +1 -1
- package/dist/huds-lib/hy-icon-mail.entry.js +1 -1
- package/dist/huds-lib/hy-icon-master.entry.js +1 -1
- package/dist/huds-lib/hy-icon-minus.entry.js +1 -1
- package/dist/huds-lib/hy-icon-mobile.entry.js +1 -1
- package/dist/huds-lib/hy-icon-modify.entry.js +1 -1
- package/dist/huds-lib/hy-icon-navi-triangle.entry.js +1 -1
- package/dist/huds-lib/hy-icon-new-group.entry.js +1 -1
- package/dist/huds-lib/hy-icon-new-person.entry.js +1 -1
- package/dist/huds-lib/hy-icon-notification.entry.js +1 -1
- package/dist/huds-lib/hy-icon-opinder-logo-new.entry.js +1 -1
- package/dist/huds-lib/hy-icon-opinder-logo.entry.js +1 -1
- package/dist/huds-lib/hy-icon-pdf.entry.js +1 -1
- package/dist/huds-lib/hy-icon-people.entry.js +1 -1
- package/dist/huds-lib/hy-icon-permission-all.entry.js +1 -1
- package/dist/huds-lib/hy-icon-permission-group.entry.js +1 -1
- package/dist/huds-lib/hy-icon-permission-private.entry.js +1 -1
- package/dist/huds-lib/hy-icon-person-outline.entry.js +1 -1
- package/dist/huds-lib/hy-icon-person.entry.js +1 -1
- package/dist/huds-lib/hy-icon-phone.entry.js +1 -1
- package/dist/huds-lib/hy-icon-play.entry.js +1 -1
- package/dist/huds-lib/hy-icon-plus.entry.js +1 -1
- package/dist/huds-lib/hy-icon-preview.entry.js +1 -1
- package/dist/huds-lib/hy-icon-profile.entry.js +1 -1
- package/dist/huds-lib/hy-icon-question.entry.js +1 -1
- package/dist/huds-lib/hy-icon-quote.entry.js +1 -1
- package/dist/huds-lib/hy-icon-remove.entry.js +1 -1
- package/dist/huds-lib/hy-icon-retweet.entry.js +1 -1
- package/dist/huds-lib/hy-icon-rotate-left.entry.js +1 -1
- package/dist/huds-lib/hy-icon-rotate-right.entry.js +1 -1
- package/dist/huds-lib/hy-icon-search.entry.js +1 -1
- package/dist/huds-lib/hy-icon-share.entry.js +1 -1
- package/dist/huds-lib/hy-icon-slim-hamburger-menu.entry.js +1 -1
- package/dist/huds-lib/hy-icon-social-media.entry.js +1 -1
- package/dist/huds-lib/hy-icon-some-facebook.entry.js +1 -1
- package/dist/huds-lib/hy-icon-some-instagram.entry.js +1 -1
- package/dist/huds-lib/hy-icon-some-linkedin.entry.js +1 -1
- package/dist/huds-lib/hy-icon-some-tiktok.entry.js +1 -1
- package/dist/huds-lib/hy-icon-some-twitter.entry.js +1 -1
- package/dist/huds-lib/hy-icon-some-youtube.entry.js +1 -1
- package/dist/huds-lib/hy-icon-spinner.entry.js +1 -1
- package/dist/huds-lib/hy-icon-square-checked.entry.js +1 -1
- package/dist/huds-lib/hy-icon-square.entry.js +1 -1
- package/dist/huds-lib/hy-icon-time.entry.js +1 -1
- package/dist/huds-lib/hy-icon-todo-list.entry.js +1 -1
- package/dist/huds-lib/hy-icon-tour.entry.js +1 -1
- package/dist/huds-lib/hy-icon-twitter-like.entry.js +1 -1
- package/dist/huds-lib/hy-icon-units-and-faculties.entry.js +1 -1
- package/dist/huds-lib/hy-icon-url.entry.js +1 -1
- package/dist/huds-lib/hy-icon-video.entry.js +1 -1
- package/dist/huds-lib/hy-icon-warning.entry.js +1 -1
- package/dist/huds-lib/hy-icon-wrench.entry.js +1 -1
- package/dist/huds-lib/hy-icon-youtube.entry.js +1 -1
- package/dist/huds-lib/hy-icon.entry.js +1 -1
- package/dist/huds-lib/hy-iconicons.entry.js +1 -1
- package/dist/huds-lib/hy-image.entry.js +1 -1
- package/dist/huds-lib/hy-introduction.entry.js +1 -1
- package/dist/huds-lib/hy-key-figure_2.entry.js +1 -1
- package/dist/huds-lib/hy-key-highlight_2.entry.js +1 -1
- package/dist/huds-lib/hy-large-process-flow_2.entry.js +1 -1
- package/dist/huds-lib/hy-link-box_2.entry.js +1 -1
- package/dist/huds-lib/hy-link-list.entry.js +1 -1
- package/dist/huds-lib/hy-link.entry.js +1 -1
- package/dist/huds-lib/hy-list-item.entry.js +1 -1
- package/dist/huds-lib/hy-logo-grid_2.entry.js +1 -1
- package/dist/huds-lib/hy-main.entry.js +1 -1
- package/dist/huds-lib/hy-menu-main-group.entry.js +1 -1
- package/dist/huds-lib/hy-opening-hours_2.entry.js +1 -1
- package/dist/huds-lib/hy-pager_2.entry.js +1 -1
- package/dist/huds-lib/hy-paragraph-text.entry.js +1 -1
- package/dist/huds-lib/hy-person-card.entry.js +1 -1
- package/dist/huds-lib/hy-person-profile-listing.entry.js +1 -1
- package/dist/huds-lib/hy-person-profile.entry.js +1 -1
- package/dist/huds-lib/hy-process_2.entry.js +1 -1
- package/dist/huds-lib/hy-prominent-image.entry.js +1 -1
- package/dist/huds-lib/hy-quote.entry.js +1 -1
- package/dist/huds-lib/hy-row.entry.js +4 -4
- package/dist/huds-lib/hy-section-container.entry.js +1 -1
- package/dist/huds-lib/hy-shortcuts.entry.js +1 -1
- package/dist/huds-lib/hy-table-container.entry.js +1 -1
- package/dist/huds-lib/hy-tabs_2.entry.js +1 -1
- package/dist/huds-lib/hy-tag.entry.js +1 -1
- package/dist/huds-lib/hy-tiny-text.entry.js +1 -1
- package/dist/huds-lib/hy-twitter-feed.entry.js +1 -1
- package/dist/huds-lib/hy-two-columns.entry.js +1 -1
- package/dist/huds-lib/hy-user-login-form.entry.js +1 -1
- package/dist/huds-lib/hy-video.entry.js +1 -1
- package/dist/huds-lib/index-61e707b7.js +2 -0
- package/dist/types/components/footer/hy-footer-base/hy-footer-base.d.ts +1 -0
- package/dist/types/components/hy-navigation/hy-menu-main-group/hy-menu-main-group.d.ts +12 -6
- package/dist/types/components/hy-navigation/menu-language/menu-language.d.ts +8 -7
- package/dist/types/components/hy-site-header/site-header.d.ts +5 -3
- package/dist/types/components.d.ts +2 -2
- package/package.json +2 -2
- package/readme.md +5 -3
- package/dist/huds-lib/app-globals-1b021639.js +0 -1
- package/dist/huds-lib/index-2ffe17c9.js +0 -2
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { h } from "@stencil/core";
|
|
2
2
|
import { jsonParserWorker } from "../../../global/globalScript";
|
|
3
|
+
// No shadow DOM so user stylesheets and text-spacing tools (WCAG 1.4.12) reach the menu.
|
|
3
4
|
export class MenuLanguage {
|
|
4
5
|
constructor() {
|
|
5
6
|
this.dataMenuLanguage = undefined;
|
|
@@ -7,48 +8,68 @@ export class MenuLanguage {
|
|
|
7
8
|
this.labels = undefined;
|
|
8
9
|
this.isMenuOpen = false;
|
|
9
10
|
}
|
|
10
|
-
// Close the language menu
|
|
11
|
-
|
|
12
|
-
this.isMenuOpen
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
11
|
+
// Close the language menu on clicks outside it, when another header panel opens, or on scroll.
|
|
12
|
+
handleOutsideEvent(event) {
|
|
13
|
+
if (!this.isMenuOpen)
|
|
14
|
+
return;
|
|
15
|
+
// Clicks inside the component are handled by the toggle button.
|
|
16
|
+
if (event.type === "click" && event.composedPath().includes(this.el))
|
|
17
|
+
return;
|
|
18
|
+
// Only move focus back if it was inside the menu, not wherever the user clicked.
|
|
19
|
+
this.close(this.el.contains(document.activeElement));
|
|
18
20
|
}
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
21
|
+
handleKeyDown(event) {
|
|
22
|
+
if (event.key === "Escape" && this.isMenuOpen) {
|
|
23
|
+
event.stopPropagation();
|
|
24
|
+
this.close(true);
|
|
25
|
+
}
|
|
22
26
|
}
|
|
23
|
-
//
|
|
24
|
-
|
|
25
|
-
|
|
27
|
+
// Non-modal disclosure: Tab moves on to the next control and the menu closes behind it.
|
|
28
|
+
// relatedTarget is null for mouse clicks (handled by the window click listener) and for Tab into
|
|
29
|
+
// the browser UI, so only a real focus move to another element on the page closes it.
|
|
30
|
+
handleFocusOut(event) {
|
|
31
|
+
const next = event.relatedTarget;
|
|
32
|
+
if (next && !this.el.contains(next)) {
|
|
33
|
+
this.close();
|
|
34
|
+
}
|
|
26
35
|
}
|
|
36
|
+
// focusin, not focus: without a shadow root the host no longer gets focus events from its button.
|
|
27
37
|
handleComponentFocus(event) {
|
|
38
|
+
// Only when focus enters the component, not on every Tab inside it.
|
|
39
|
+
if (this.el.contains(event.relatedTarget))
|
|
40
|
+
return;
|
|
28
41
|
// Close desktop menu panel if it's open.
|
|
29
42
|
this.menuLanguageToggled.emit();
|
|
30
|
-
event.stopPropagation();
|
|
31
43
|
}
|
|
32
|
-
|
|
33
|
-
this.isMenuOpen = !this.isMenuOpen;
|
|
44
|
+
toggle() {
|
|
34
45
|
if (this.isMenuOpen) {
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
const languageMenuSelector = event.target;
|
|
38
|
-
this.adjustPosition(languageMenuSelector, this.el);
|
|
46
|
+
this.close(true);
|
|
47
|
+
return;
|
|
39
48
|
}
|
|
40
|
-
|
|
49
|
+
this.isMenuOpen = true;
|
|
50
|
+
// Close desktop menu panel if it's open.
|
|
51
|
+
this.menuLanguageToggled.emit();
|
|
52
|
+
this.adjustPosition();
|
|
41
53
|
}
|
|
42
|
-
|
|
43
|
-
|
|
54
|
+
close(restoreFocus = false) {
|
|
55
|
+
if (!this.isMenuOpen)
|
|
56
|
+
return;
|
|
57
|
+
this.isMenuOpen = false;
|
|
58
|
+
// preventScroll: a close caused by scrolling must not jump the page back to the header.
|
|
59
|
+
if (restoreFocus) {
|
|
60
|
+
this.toggleEl.focus({ preventScroll: true });
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
adjustPosition() {
|
|
64
|
+
const languagePanel = this.el.querySelector(".menu-language__dropdown");
|
|
44
65
|
let headerHeight = "0";
|
|
45
66
|
let hyHeader = this.isGroup
|
|
46
|
-
?
|
|
47
|
-
:
|
|
67
|
+
? this.el.closest(".hy-site-header__content-top")
|
|
68
|
+
: this.el.closest(".hy-site-header");
|
|
48
69
|
if (hyHeader) {
|
|
49
70
|
let rectHeader = hyHeader.getBoundingClientRect();
|
|
50
|
-
let rectLangMenu =
|
|
51
|
-
headerHeight = `${
|
|
71
|
+
let rectLangMenu = this.el.getBoundingClientRect();
|
|
72
|
+
headerHeight = `${this.el.offsetHeight + rectHeader.bottom + 8 - rectLangMenu.bottom}px`;
|
|
52
73
|
}
|
|
53
74
|
languagePanel.style.top = headerHeight;
|
|
54
75
|
}
|
|
@@ -61,25 +82,23 @@ export class MenuLanguage {
|
|
|
61
82
|
const white = "var(--grayscale-white)";
|
|
62
83
|
const svgColor = this.isGroup ? white : black;
|
|
63
84
|
const globeIconSize = this.isGroup ? 16 : 14;
|
|
64
|
-
return (h("div", { key: '
|
|
85
|
+
return (h("div", { key: 'fb0e7e0c3af245ee988b8e1a4a95404ea4f53c01', class: {
|
|
65
86
|
"menu-language": true,
|
|
66
87
|
"is-open": this.isMenuOpen,
|
|
67
88
|
"is-group": this.isGroup,
|
|
68
|
-
} }, h("button", { key: '
|
|
89
|
+
} }, h("button", { key: 'c7e04d71bc600c41879f7e6e3fde314d2cb704f4', class: {
|
|
69
90
|
"menu-language__toggle": true,
|
|
70
|
-
}, "aria-label": this.isMenuOpen ? this._labels["close"] : this._labels["open"] }, h("hy-icon", { key: '
|
|
91
|
+
}, "aria-label": this.isMenuOpen ? this._labels["close"] : this._labels["open"], "aria-expanded": this.isMenuOpen ? "true" : "false", onClick: () => this.toggle(), ref: (el) => (this.toggleEl = el) }, h("hy-icon", { key: '390c171cb8bde67b2ffff23b806bfebc0c0d1a37', icon: "hy-icon-globe", size: globeIconSize, fill: svgColor }), h("span", { key: 'c9dd333c58ad6a50f284fc4375497fd598bf7e9f' }, this._dataMenuLanguage.map(({ isActive, langCode }) => {
|
|
71
92
|
if (isActive) {
|
|
72
93
|
return langCode;
|
|
73
94
|
}
|
|
74
|
-
})), h("hy-icon", { key: '
|
|
95
|
+
})), h("hy-icon", { key: '9519f29962f06a29ec2bce7c7f7ed368166bdf81', icon: "hy-icon-caret-down", size: 8, fill: svgColor })), h("div", { key: '8701a88869013d3ebb7e011b21fd997715fe4bfc', class: {
|
|
75
96
|
"menu-language__dropdown": true,
|
|
76
|
-
}, "aria-hidden": `${!this.isMenuOpen}` }, this.isMenuOpen &&
|
|
77
|
-
h("
|
|
78
|
-
|
|
79
|
-
})))));
|
|
97
|
+
}, "aria-hidden": `${!this.isMenuOpen}` }, this.isMenuOpen && (h("ul", { key: '3b494d0530bbb408cc57975339275a1f30946348', class: "menu-language__links" }, this._dataMenuLanguage.map((item) => {
|
|
98
|
+
return (h("hy-menu-language-item", { "lang-code": item.langCode, url: item.url, label: item.label, abbr: item.abbr, "is-active": item.isActive, "is-disabled": item.isDisabled }));
|
|
99
|
+
}))))));
|
|
80
100
|
}
|
|
81
101
|
static get is() { return "hy-menu-language"; }
|
|
82
|
-
static get encapsulation() { return "shadow"; }
|
|
83
102
|
static get originalStyleUrls() {
|
|
84
103
|
return {
|
|
85
104
|
"$": ["menu-language.scss"]
|
|
@@ -185,37 +204,55 @@ export class MenuLanguage {
|
|
|
185
204
|
static get listeners() {
|
|
186
205
|
return [{
|
|
187
206
|
"name": "click",
|
|
188
|
-
"method": "
|
|
207
|
+
"method": "handleOutsideEvent",
|
|
189
208
|
"target": "window",
|
|
190
209
|
"capture": false,
|
|
191
210
|
"passive": false
|
|
192
211
|
}, {
|
|
193
212
|
"name": "menuDesktopToggled",
|
|
194
|
-
"method": "
|
|
213
|
+
"method": "handleOutsideEvent",
|
|
195
214
|
"target": "document",
|
|
196
215
|
"capture": false,
|
|
197
216
|
"passive": false
|
|
198
217
|
}, {
|
|
199
218
|
"name": "searchPanelToggled",
|
|
200
|
-
"method": "
|
|
219
|
+
"method": "handleOutsideEvent",
|
|
201
220
|
"target": "document",
|
|
202
221
|
"capture": false,
|
|
203
222
|
"passive": false
|
|
204
223
|
}, {
|
|
205
224
|
"name": "universityMainMenuToggled",
|
|
206
|
-
"method": "
|
|
225
|
+
"method": "handleOutsideEvent",
|
|
207
226
|
"target": "document",
|
|
208
227
|
"capture": false,
|
|
209
228
|
"passive": false
|
|
210
229
|
}, {
|
|
211
|
-
"name": "
|
|
212
|
-
"method": "
|
|
230
|
+
"name": "headerScrollDown",
|
|
231
|
+
"method": "handleOutsideEvent",
|
|
232
|
+
"target": "window",
|
|
233
|
+
"capture": false,
|
|
234
|
+
"passive": false
|
|
235
|
+
}, {
|
|
236
|
+
"name": "headerScrollUp",
|
|
237
|
+
"method": "handleOutsideEvent",
|
|
238
|
+
"target": "window",
|
|
239
|
+
"capture": false,
|
|
240
|
+
"passive": false
|
|
241
|
+
}, {
|
|
242
|
+
"name": "keydown",
|
|
243
|
+
"method": "handleKeyDown",
|
|
213
244
|
"target": undefined,
|
|
214
245
|
"capture": false,
|
|
215
246
|
"passive": false
|
|
216
247
|
}, {
|
|
217
|
-
"name": "
|
|
218
|
-
"method": "
|
|
248
|
+
"name": "focusout",
|
|
249
|
+
"method": "handleFocusOut",
|
|
250
|
+
"target": undefined,
|
|
251
|
+
"capture": false,
|
|
252
|
+
"passive": false
|
|
253
|
+
}, {
|
|
254
|
+
"name": "focusin",
|
|
255
|
+
"method": "handleComponentFocus",
|
|
219
256
|
"target": undefined,
|
|
220
257
|
"capture": false,
|
|
221
258
|
"passive": false
|
|
@@ -9,14 +9,13 @@ export class SiteLanguage {
|
|
|
9
9
|
this.url = undefined;
|
|
10
10
|
}
|
|
11
11
|
render() {
|
|
12
|
-
return (h("li", { key: '
|
|
12
|
+
return (h("li", { key: 'b213cebc44ae59c439099b754b388c80d61efe72', class: `menu-language__links-item` }, h("a", { key: '8a3f48894ea138327228f90e0bf0f6915b130a39', href: this.url, lang: this.langCode, class: {
|
|
13
13
|
"is-active": this.isActive,
|
|
14
14
|
"is-disabled": this.isDisabled,
|
|
15
15
|
"menu-language__link": true,
|
|
16
16
|
} }, this.label)));
|
|
17
17
|
}
|
|
18
18
|
static get is() { return "hy-menu-language-item"; }
|
|
19
|
-
static get encapsulation() { return "shadow"; }
|
|
20
19
|
static get originalStyleUrls() {
|
|
21
20
|
return {
|
|
22
21
|
"$": ["menu-language-item.scss"]
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
-webkit-box-sizing: border-box;
|
|
7
7
|
box-sizing: border-box;
|
|
8
8
|
}
|
|
9
|
-
|
|
9
|
+
hy-site-header {
|
|
10
10
|
display: block;
|
|
11
11
|
}
|
|
12
12
|
.hy-site-header {
|
|
@@ -211,6 +211,12 @@
|
|
|
211
211
|
padding: 0;
|
|
212
212
|
margin: 0;
|
|
213
213
|
}
|
|
214
|
+
.hy-site-header__menu-open-button:focus-visible {
|
|
215
|
+
-webkit-box-shadow: inset 0 0 0 var(--ds-borderWidth-thick) var(--ds-borderColor-white);
|
|
216
|
+
box-shadow: inset 0 0 0 var(--ds-borderWidth-thick) var(--ds-borderColor-white);
|
|
217
|
+
outline: var(--ds-borderWidth-thin) solid var(--ds-borderColor-black);
|
|
218
|
+
outline-offset: calc(var(--ds-borderWidth-thin) * -1 * 1);
|
|
219
|
+
}
|
|
214
220
|
.hy-site-header__menu-open-button[aria-expanded=true] {
|
|
215
221
|
font-size: 1rem;
|
|
216
222
|
line-height: 18px;
|
|
@@ -236,12 +242,6 @@
|
|
|
236
242
|
z-index: 101;
|
|
237
243
|
width: auto;
|
|
238
244
|
}
|
|
239
|
-
.hy-site-header__menu-open-button[aria-expanded=true]:focus-visible {
|
|
240
|
-
-webkit-box-shadow: inset 0 0 0 var(--ds-borderWidth-thick) var(--ds-borderColor-white);
|
|
241
|
-
box-shadow: inset 0 0 0 var(--ds-borderWidth-thick) var(--ds-borderColor-white);
|
|
242
|
-
outline: var(--ds-borderWidth-thin) solid var(--ds-borderColor-black);
|
|
243
|
-
outline-offset: calc(var(--ds-borderWidth-thin) * -1 * 1);
|
|
244
|
-
}
|
|
245
245
|
.hy-site-header__menu-open-button[aria-expanded=true]:hover {
|
|
246
246
|
cursor: pointer;
|
|
247
247
|
}
|
|
@@ -325,13 +325,6 @@
|
|
|
325
325
|
visibility: visible;
|
|
326
326
|
z-index: 99;
|
|
327
327
|
}
|
|
328
|
-
.hy-backdrop.is-active-top {
|
|
329
|
-
background-color: rgba(0, 0, 0, 0.4);
|
|
330
|
-
-webkit-transition: background-color 300ms;
|
|
331
|
-
transition: background-color 300ms;
|
|
332
|
-
visibility: visible;
|
|
333
|
-
z-index: 98;
|
|
334
|
-
}
|
|
335
328
|
.hy-site-header__panel {
|
|
336
329
|
background: var(--grayscale-white);
|
|
337
330
|
bottom: 0;
|
|
@@ -1,8 +1,6 @@
|
|
|
1
|
-
let clickTimer = null;
|
|
2
1
|
import { Fragment, h } from "@stencil/core";
|
|
3
2
|
import { MenuType, ColorVariant, SiteLogoSize } from "../../utils/utils";
|
|
4
3
|
import { jsonParserWorker } from "../../global/globalScript";
|
|
5
|
-
let clickTimeout = null;
|
|
6
4
|
export class SiteHeader {
|
|
7
5
|
constructor() {
|
|
8
6
|
this.isGroup = false;
|
|
@@ -32,7 +30,6 @@ export class SiteHeader {
|
|
|
32
30
|
this.isDesktopMenuOpen = false;
|
|
33
31
|
this.isDesktopMenuDropdown = false;
|
|
34
32
|
this.isTopMenuOpen = false;
|
|
35
|
-
this.isBottomVisible = false;
|
|
36
33
|
this.isTopVisible = false;
|
|
37
34
|
this.lastScrollTop = 0;
|
|
38
35
|
this.delta = 50;
|
|
@@ -51,8 +48,10 @@ export class SiteHeader {
|
|
|
51
48
|
}
|
|
52
49
|
}
|
|
53
50
|
// Listener for toggling mobile menu top panel on or off.
|
|
54
|
-
|
|
55
|
-
|
|
51
|
+
// Falls back to toggling for emitters that send no detail (the old contract).
|
|
52
|
+
mobileMenuTopToggle(event) {
|
|
53
|
+
var _a, _b;
|
|
54
|
+
this.isTopMenuOpen = (_b = (_a = event.detail) === null || _a === void 0 ? void 0 : _a.open) !== null && _b !== void 0 ? _b : !this.isTopMenuOpen;
|
|
56
55
|
this.menuMobileTopToggled.emit();
|
|
57
56
|
}
|
|
58
57
|
mainMenuToggled() {
|
|
@@ -61,6 +60,9 @@ export class SiteHeader {
|
|
|
61
60
|
handleScroll() {
|
|
62
61
|
this.headerScrollHandler();
|
|
63
62
|
}
|
|
63
|
+
handleResize() {
|
|
64
|
+
this.applySizeClasses(window.innerWidth);
|
|
65
|
+
}
|
|
64
66
|
headerScrollHandler() {
|
|
65
67
|
let topOffset = window.pageYOffset;
|
|
66
68
|
if (Math.abs(this.lastScrollTop - topOffset) <= this.delta) {
|
|
@@ -90,7 +92,7 @@ export class SiteHeader {
|
|
|
90
92
|
if (toggleOn) {
|
|
91
93
|
hySiteHeader.classList.add("hy-site-header--sticky-active", "hy-site-header--sticky-visible");
|
|
92
94
|
hySiteHeader.classList.remove("hy-site-header--sticky-hidden");
|
|
93
|
-
!this.
|
|
95
|
+
!this.isTopVisible && bodyElementClasses.add("sticky-active");
|
|
94
96
|
if (bodyElementClasses.contains("toolbar-horizontal")) {
|
|
95
97
|
hySiteHeader.classList.add("has-toolbar");
|
|
96
98
|
if (bodyElementClasses.contains("toolbar-tray-open")) {
|
|
@@ -105,41 +107,18 @@ export class SiteHeader {
|
|
|
105
107
|
}
|
|
106
108
|
componentDidLoad() {
|
|
107
109
|
this.applySizeClasses(window.innerWidth);
|
|
108
|
-
window.addEventListener('resize', () => {
|
|
109
|
-
this.applySizeClasses(window.innerWidth);
|
|
110
|
-
});
|
|
111
110
|
const topOptions = {
|
|
112
111
|
root: null,
|
|
113
112
|
rootMargin: "250px",
|
|
114
113
|
threshold: [0.0, 1.0],
|
|
115
114
|
};
|
|
115
|
+
// Observe the host (display: block in site-header.scss), not the page's <header>, so this works without one.
|
|
116
116
|
this.topObserver = new IntersectionObserver((entries) => {
|
|
117
117
|
entries.forEach((entry) => {
|
|
118
|
-
|
|
119
|
-
this.isTopVisible = entry.isIntersecting;
|
|
120
|
-
}
|
|
118
|
+
this.isTopVisible = entry.isIntersecting;
|
|
121
119
|
});
|
|
122
120
|
}, topOptions);
|
|
123
|
-
|
|
124
|
-
if (header) {
|
|
125
|
-
this.topObserver.observe(header);
|
|
126
|
-
}
|
|
127
|
-
const bottomOptions = {
|
|
128
|
-
root: null,
|
|
129
|
-
rootMargin: "0px",
|
|
130
|
-
threshold: [0.0, 1.0],
|
|
131
|
-
};
|
|
132
|
-
this.bottomObserver = new IntersectionObserver((entries) => {
|
|
133
|
-
entries.forEach((entry) => {
|
|
134
|
-
if (entry.target.nodeName === "HEADER") {
|
|
135
|
-
this.isTopVisible = entry.isIntersecting;
|
|
136
|
-
}
|
|
137
|
-
});
|
|
138
|
-
}, bottomOptions);
|
|
139
|
-
const footer = document.querySelector("hy-footer");
|
|
140
|
-
if (footer) {
|
|
141
|
-
this.bottomObserver.observe(footer);
|
|
142
|
-
}
|
|
121
|
+
this.topObserver.observe(this.el);
|
|
143
122
|
// Pass the dataMenuLanguage prop to menu component.
|
|
144
123
|
this.el.children[0].setAttribute("data-menu-language", this.dataMenuLanguage);
|
|
145
124
|
this.navbarHeight = 120;
|
|
@@ -147,6 +126,10 @@ export class SiteHeader {
|
|
|
147
126
|
body.style.setProperty("--nav-height", `${this.navbarHeight * 2}px`);
|
|
148
127
|
}
|
|
149
128
|
async componentWillLoad() {
|
|
129
|
+
var _a;
|
|
130
|
+
// Render <header> only when the page doesn't already wrap us in one, so there is a single
|
|
131
|
+
// banner landmark either way (Drupal has its own <header>; other consumers keep ours).
|
|
132
|
+
this.isInsideBanner = !!((_a = this.el.parentElement) === null || _a === void 0 ? void 0 : _a.closest("header, [role='banner']"));
|
|
150
133
|
// Check for site header labels and set them to variables accordingly.
|
|
151
134
|
if (this.dataSiteHeaderLabels) {
|
|
152
135
|
const labels = await jsonParserWorker(this.dataSiteHeaderLabels);
|
|
@@ -178,51 +161,40 @@ export class SiteHeader {
|
|
|
178
161
|
}
|
|
179
162
|
}
|
|
180
163
|
disconnectedCallback() {
|
|
181
|
-
clearTimeout(clickTimer);
|
|
182
164
|
this.topObserver.disconnect();
|
|
183
|
-
this.bottomObserver.disconnect();
|
|
184
|
-
clearTimeout(clickTimeout);
|
|
185
165
|
}
|
|
186
166
|
applySizeClasses(size) {
|
|
187
167
|
// Set the menu-type based on the width of the browser.
|
|
168
|
+
const previousMenuType = this.menuType;
|
|
188
169
|
size <= 1200 ? (this.menuType = MenuType.mobile) : (this.menuType = MenuType.desktop);
|
|
170
|
+
// Crossing the breakpoint swaps hy-menu-main-group for a new instance. The old one is
|
|
171
|
+
// removed while possibly open and can't emit its close, so reset the open state here.
|
|
172
|
+
if (previousMenuType !== this.menuType) {
|
|
173
|
+
this.isTopMenuOpen = false;
|
|
174
|
+
}
|
|
189
175
|
// Pass the menu type to menu component.
|
|
190
|
-
this.isMobile =
|
|
176
|
+
this.isMobile = [MenuType.mobile, MenuType.tablet].includes(this.menuType);
|
|
191
177
|
const menuAttribute = this.menuType;
|
|
192
178
|
this.el.children[0].setAttribute("menu-type", menuAttribute);
|
|
193
179
|
}
|
|
194
180
|
render() {
|
|
195
|
-
var _a;
|
|
181
|
+
var _a, _b, _c;
|
|
196
182
|
if (this.menuType === null)
|
|
197
183
|
return;
|
|
198
184
|
const logoSize = this.isMobile ? SiteLogoSize.small : SiteLogoSize.big;
|
|
199
|
-
const logoSizeGroup =
|
|
185
|
+
const logoSizeGroup = SiteLogoSize.small;
|
|
200
186
|
const logoColor = ColorVariant.black;
|
|
201
187
|
const logoColorGroup = ColorVariant.white;
|
|
188
|
+
const Wrapper = this.isInsideBanner ? "div" : "header";
|
|
202
189
|
let classAttributes = [
|
|
203
190
|
"hy-site-header",
|
|
204
191
|
`hy-site-header--${this.menuType}`,
|
|
205
192
|
this.isGroup ? "is-group" : "",
|
|
206
193
|
"is-at-top",
|
|
207
194
|
];
|
|
208
|
-
const
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
};
|
|
212
|
-
const handleClickOutside = (event) => {
|
|
213
|
-
const [targetElement] = event.composedPath();
|
|
214
|
-
if (targetElement.classList.contains("hy-backdrop")) {
|
|
215
|
-
toggleMenuMobileAndRemoveListener();
|
|
216
|
-
}
|
|
217
|
-
};
|
|
218
|
-
if (this.isMenuOpen) {
|
|
219
|
-
window.addEventListener("click", () => {
|
|
220
|
-
clearTimeout(clickTimeout);
|
|
221
|
-
clickTimeout = setTimeout(() => {
|
|
222
|
-
handleClickOutside;
|
|
223
|
-
}, 250);
|
|
224
|
-
});
|
|
225
|
-
}
|
|
195
|
+
const universityMainMenuLabel = (_a = this.groupPages) === null || _a === void 0 ? void 0 : _a["university_main_menu"];
|
|
196
|
+
// Black bar landmark name. Falls back to the menu label until Drupal sends the new key.
|
|
197
|
+
const universityMainNavigationLabel = (_c = (_b = this.groupPages) === null || _b === void 0 ? void 0 : _b["university_main_navigation"]) !== null && _c !== void 0 ? _c : universityMainMenuLabel;
|
|
226
198
|
let activeLang = "en";
|
|
227
199
|
let dataMenuLanguageArray = JSON.parse(this.dataMenuLanguage);
|
|
228
200
|
dataMenuLanguageArray.forEach((lang) => {
|
|
@@ -234,19 +206,19 @@ export class SiteHeader {
|
|
|
234
206
|
case MenuType.desktop:
|
|
235
207
|
// Larger than 1200px screens
|
|
236
208
|
return [
|
|
237
|
-
h(
|
|
209
|
+
h(Wrapper, { class: `${classAttributes.join(" ")}` }, h("div", { class: {
|
|
238
210
|
"hy-backdrop": true,
|
|
239
211
|
"is-active": (this.isMenuOpen && !this.isDesktopMenuDropdown) ||
|
|
240
212
|
(this.isTopMenuOpen && !this.isDesktopMenuDropdown),
|
|
241
|
-
} }), this.isGroup && (h("
|
|
213
|
+
} }), this.isGroup && (h("nav", { class: `hy-site-header__content-top ${this.isTopMenuOpen ? "is-open" : ""}`, "aria-label": universityMainNavigationLabel }, h("div", { class: "hy-site-header__container" }, h("div", { class: "hy-site-header__branding" }, h("hy-site-logo", { "is-group": true, "is-luomus-group": this.isLuomusGroup, size: logoSizeGroup, color: logoColorGroup, url: this.siteUrl, label: this.siteLabel })), this.dataMainMenuLinks.length > 2 && (h("hy-menu-main-group", { "is-mobile": false, "menu-label": universityMainMenuLabel !== null && universityMainMenuLabel !== void 0 ? universityMainMenuLabel : null, "data-main-menu": this.dataMainMenuLinks, "menu-label-close": this.menuLabelClose })), h("div", { class: "hy-site-header__actions" }, h("hy-menu-language", { "data-menu-language": this.dataMenuLanguage, labels: this.languageLabels, isGroup: true }), !this.noSearch && (h("hy-site-search", { class: "menu--secondary__item group", size: 18, color: logoColorGroup, "is-group": true, "is-luomus-group": this.isLuomusGroup, "is-beta-group": this.isBetaGroup, "search-language": activeLang, "show-label": this.showSearchLabel, labels: this.searchLabels, "search-labels": this.dataSiteSearchLabels, "search-tools": this.dataSearchTools })), this.donateLink.map(({ label, url }) => {
|
|
242
214
|
return (h("a", { class: "hy-site-header__donate-link", href: url }, h("hy-icon", { icon: "hy-icon-heart-support", size: 14, fill: ColorVariant.black }), h("span", null, label)));
|
|
243
|
-
}))))), h("
|
|
215
|
+
}))))), h("div", { class: `hy-site-header__container ${this.isGroup ? "is-group" : ""} ${this.groupType === "research_group_menu" ? "is-research-group" : ""}` }, h("div", { class: "hy-site-header__branding" }, this.isGroup && this.groupType == "research_group_menu" && h("p", null, this.researchGroupLabel), this.isGroup ? (h("a", { href: this.logoUrl }, this.groupType == "generic_site_group_menu" && this.groupLogoUrl ? (h("img", { src: this.groupLogoUrl, alt: `${this.logoLabel} logo` })) : (this.logoLabel))) : (h("hy-site-logo", { size: logoSize, color: logoColor, url: this.logoUrl, label: this.logoLabel }))), this.groupType != "research_group_menu" && h("slot", { name: "menu" }), !this.isGroup && (h("div", { class: "hy-site-header__actions" }, h("hy-menu-language", { "data-menu-language": this.dataMenuLanguage, labels: this.languageLabels }), !this.noSearch && (h("hy-site-search", { size: 14, "is-luomus-group": this.isLuomusGroup, "is-beta-group": this.isBetaGroup, "search-language": activeLang, color: ColorVariant.black, "show-label": this.showSearchLabel, labels: this.searchLabels, "search-labels": this.dataSiteSearchLabels, "search-tools": this.dataSearchTools })), this.donateLink.map(({ label, url }) => {
|
|
244
216
|
return (h("a", { class: "hy-site-header__donate-link", href: url }, h("hy-icon", { icon: "hy-icon-heart-support", size: 14, fill: ColorVariant.black }), h("span", null, label)));
|
|
245
217
|
}))))),
|
|
246
218
|
];
|
|
247
219
|
case MenuType.mobile:
|
|
248
220
|
// Smaller than 960px screens
|
|
249
|
-
return (h(
|
|
221
|
+
return (h(Wrapper, { class: classAttributes.join(" "), "data-menu-active": this.isMenuOpen }, h("div", { class: { "hy-backdrop": true, "is-active": this.isMenuOpen }, onClick: () => this.isMenuOpen && this.mobileMenuToggle() }), this.isGroup && (h("nav", { class: `hy-site-header__content-top ${this.isTopMenuOpen ? "is-open" : ""}`, "aria-label": universityMainNavigationLabel }, h("div", { class: "hy-site-header__container" }, h("div", { class: "hy-site-header__branding" }, h("hy-site-logo", { "is-group": true, "is-luomus-group": this.isLuomusGroup, size: logoSizeGroup, color: logoColorGroup, url: this.siteUrl, label: this.siteLabel })), h("div", { class: "hy-site-header__actions" }, h("hy-menu-language", { "data-menu-language": this.dataMenuLanguage, labels: this.languageLabels, isGroup: true }), !this.noSearch && (h("hy-site-search", { class: "menu--secondary__item group", size: 18, color: logoColorGroup, "is-group": true, "is-luomus-group": this.isLuomusGroup, "is-beta-group": this.isBetaGroup, "search-language": activeLang, "show-label": this.showSearchLabel, labels: this.searchLabels, "search-labels": this.dataSiteSearchLabels, "search-tools": this.dataSearchTools })), this.dataMainMenuLinks.length > 2 && (h("hy-menu-main-group", { "site-label": this.siteLabel, "site-url": this.siteUrl, "logo-label": this.logoLabel, "logo-url": this.logoUrl, "is-mobile": true, donate: this.donateLink, "data-main-menu": this.dataMainMenuLinks, "menu-label": universityMainMenuLabel !== null && universityMainMenuLabel !== void 0 ? universityMainMenuLabel : null, "menu-label-close": this.menuLabelClose })))))), h("div", { class: "hy-site-header__container" }, h("div", { class: "hy-site-header__branding" }, this.groupType == "research_group_menu" && h("p", null, this.researchGroupLabel), this.isGroup ? (h("a", { href: this.logoUrl }, this.groupType == "generic_site_group_menu" && this.groupLogoUrl ? (h("img", { src: this.groupLogoUrl, alt: `${this.logoLabel} logo` })) : (this.logoLabel))) : (h("hy-site-logo", { size: logoSize, color: logoColor, url: this.logoUrl, label: this.logoLabel }))), h("div", { class: "hy-site-header__actions" }, !this.isGroup && (h("hy-menu-language", { "data-menu-language": this.dataMenuLanguage, labels: this.languageLabels })), !this.isGroup && !this.noSearch && (h("hy-site-search", { size: 24, color: ColorVariant.black, "is-luomus-group": this.isLuomusGroup, "is-beta-group": this.isBetaGroup, "search-language": activeLang, "show-label": this.showSearchLabel, labels: this.searchLabels, "search-labels": this.dataSiteSearchLabels, "search-tools": this.dataSearchTools })), h("button", { onClick: () => this.mobileMenuToggle(), class: `hy-site-header__menu-open-button`, "aria-label": this.isMenuOpen ? this.menuLabels["close"] : this.menuLabels["open"], "aria-expanded": `${this.isMenuOpen}` }, !this.isMenuOpen && h("hy-icon", { icon: "hy-icon-hamburger", size: 24, fill: ColorVariant.black }), this.isMenuOpen && (h(Fragment, null, h("span", null, this.menuLabelClose), h("hy-icon", { icon: "hy-icon-remove", size: 16 }))))), h("div", { class: {
|
|
250
222
|
"is-open": this.isMenuOpen,
|
|
251
223
|
"hy-site-header__panel": true,
|
|
252
224
|
}, "aria-hidden": `${!this.isMenuOpen}` }, h("slot", { name: "menu_mobile" })))));
|
|
@@ -676,7 +648,6 @@ export class SiteHeader {
|
|
|
676
648
|
"isDesktopMenuOpen": {},
|
|
677
649
|
"isDesktopMenuDropdown": {},
|
|
678
650
|
"isTopMenuOpen": {},
|
|
679
|
-
"isBottomVisible": {},
|
|
680
651
|
"isTopVisible": {},
|
|
681
652
|
"lastScrollTop": {},
|
|
682
653
|
"delta": {},
|
|
@@ -772,6 +743,12 @@ export class SiteHeader {
|
|
|
772
743
|
"target": "window",
|
|
773
744
|
"capture": false,
|
|
774
745
|
"passive": true
|
|
746
|
+
}, {
|
|
747
|
+
"name": "resize",
|
|
748
|
+
"method": "handleResize",
|
|
749
|
+
"target": "window",
|
|
750
|
+
"capture": false,
|
|
751
|
+
"passive": true
|
|
775
752
|
}];
|
|
776
753
|
}
|
|
777
754
|
}
|