@uoguelph/web-components 0.0.7
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/README.md +4 -0
- package/dist/cjs/index-160752dd.js +1825 -0
- package/dist/cjs/index.cjs.js +2 -0
- package/dist/cjs/loader.cjs.js +22 -0
- package/dist/cjs/uofg-footer_3.cjs.entry.js +528 -0
- package/dist/cjs/uofg-web-components.cjs.js +26 -0
- package/dist/collection/collection-manifest.json +14 -0
- package/dist/collection/components/uofg-footer/footer-links.js +5 -0
- package/dist/collection/components/uofg-footer/improve-life.svg +4 -0
- package/dist/collection/components/uofg-footer/social-links.js +5 -0
- package/dist/collection/components/uofg-footer/uofg-footer.css +173 -0
- package/dist/collection/components/uofg-footer/uofg-footer.js +23 -0
- package/dist/collection/components/uofg-header/decoration.svg +1 -0
- package/dist/collection/components/uofg-header/global-links.js +2 -0
- package/dist/collection/components/uofg-header/hello-you.js +4 -0
- package/dist/collection/components/uofg-header/logo-full-size.svg +1 -0
- package/dist/collection/components/uofg-header/logo-reduced-size.svg +1 -0
- package/dist/collection/components/uofg-header/page-specific.js +15 -0
- package/dist/collection/components/uofg-header/search.js +4 -0
- package/dist/collection/components/uofg-header/single-sign-on.js +2 -0
- package/dist/collection/components/uofg-header/uofg-header.css +548 -0
- package/dist/collection/components/uofg-header/uofg-header.js +131 -0
- package/dist/collection/components/uofg-menu/uofg-menu.js +440 -0
- package/dist/collection/index.js +1 -0
- package/dist/collection/utils/feature-check.js +2 -0
- package/dist/collection/utils/font-awesome-icon.js +7 -0
- package/dist/components/index.d.ts +36 -0
- package/dist/components/index.js +4 -0
- package/dist/components/index2.js +82 -0
- package/dist/components/uofg-footer.d.ts +11 -0
- package/dist/components/uofg-footer.js +100 -0
- package/dist/components/uofg-header.d.ts +11 -0
- package/dist/components/uofg-header.js +156 -0
- package/dist/components/uofg-menu.d.ts +11 -0
- package/dist/components/uofg-menu.js +6 -0
- package/dist/components/uofg-menu2.js +264 -0
- package/dist/esm/index-48bb3110.js +1796 -0
- package/dist/esm/index.js +1 -0
- package/dist/esm/loader.js +18 -0
- package/dist/esm/polyfills/core-js.js +11 -0
- package/dist/esm/polyfills/css-shim.js +1 -0
- package/dist/esm/polyfills/dom.js +79 -0
- package/dist/esm/polyfills/es5-html-element.js +1 -0
- package/dist/esm/polyfills/index.js +34 -0
- package/dist/esm/polyfills/system.js +6 -0
- package/dist/esm/uofg-footer_3.entry.js +522 -0
- package/dist/esm/uofg-web-components.js +21 -0
- package/dist/index.cjs.js +1 -0
- package/dist/index.js +1 -0
- package/dist/loader/cdn.js +3 -0
- package/dist/loader/index.cjs.js +3 -0
- package/dist/loader/index.d.ts +21 -0
- package/dist/loader/index.es2017.js +3 -0
- package/dist/loader/index.js +4 -0
- package/dist/loader/package.json +11 -0
- package/dist/types/components/uofg-footer/footer-links.d.ts +2 -0
- package/dist/types/components/uofg-footer/social-links.d.ts +2 -0
- package/dist/types/components/uofg-footer/uofg-footer.d.ts +3 -0
- package/dist/types/components/uofg-header/global-links.d.ts +2 -0
- package/dist/types/components/uofg-header/hello-you.d.ts +6 -0
- package/dist/types/components/uofg-header/page-specific.d.ts +17 -0
- package/dist/types/components/uofg-header/search.d.ts +2 -0
- package/dist/types/components/uofg-header/single-sign-on.d.ts +2 -0
- package/dist/types/components/uofg-header/uofg-header.d.ts +19 -0
- package/dist/types/components/uofg-menu/uofg-menu.d.ts +67 -0
- package/dist/types/components.d.ts +132 -0
- package/dist/types/index.d.ts +1 -0
- package/dist/types/stencil-public-runtime.d.ts +1640 -0
- package/dist/types/utils/feature-check.d.ts +2 -0
- package/dist/types/utils/font-awesome-icon.d.ts +5 -0
- package/dist/uofg-web-components/index.esm.js +0 -0
- package/dist/uofg-web-components/p-24bd712c.entry.js +1 -0
- package/dist/uofg-web-components/p-b6a9700a.js +2 -0
- package/dist/uofg-web-components/uofg-web-components.css +1 -0
- package/dist/uofg-web-components/uofg-web-components.esm.js +1 -0
- package/package.json +51 -0
|
@@ -0,0 +1,522 @@
|
|
|
1
|
+
import { h, r as registerInstance, g as getElement, c as createEvent, H as Host } from './index-48bb3110.js';
|
|
2
|
+
|
|
3
|
+
const FontAwesomeIcon = (props) => {
|
|
4
|
+
const width = props.icon.icon[0];
|
|
5
|
+
const height = props.icon.icon[1];
|
|
6
|
+
const iconPathData = props.icon.icon[4];
|
|
7
|
+
return (h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: `0 0 ${width} ${height}` }, Array.isArray(iconPathData) ? (iconPathData.map((path) => h("path", { d: path }))) : (h("path", { d: iconPathData }))));
|
|
8
|
+
};
|
|
9
|
+
|
|
10
|
+
var faSquareTwitter = {
|
|
11
|
+
prefix: 'fab',
|
|
12
|
+
iconName: 'square-twitter',
|
|
13
|
+
icon: [448, 512, ["twitter-square"], "f081", "M400 32H48C21.5 32 0 53.5 0 80v352c0 26.5 21.5 48 48 48h352c26.5 0 48-21.5 48-48V80c0-26.5-21.5-48-48-48zm-48.9 158.8c.2 2.8.2 5.7.2 8.5 0 86.7-66 186.6-186.6 186.6-37.2 0-71.7-10.8-100.7-29.4 5.3.6 10.4.8 15.8.8 30.7 0 58.9-10.4 81.4-28-28.8-.6-53-19.5-61.3-45.5 10.1 1.5 19.2 1.5 29.6-1.2-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3a65.447 65.447 0 0 1-29.2-54.6c0-12.2 3.2-23.4 8.9-33.1 32.3 39.8 80.8 65.8 135.2 68.6-9.3-44.5 24-80.6 64-80.6 18.9 0 35.9 7.9 47.9 20.7 14.8-2.8 29-8.3 41.6-15.8-4.9 15.2-15.2 28-28.8 36.1 13.2-1.4 26-5.1 37.8-10.2-8.9 13.1-20.1 24.7-32.9 34z"]
|
|
14
|
+
};
|
|
15
|
+
var faTwitterSquare = faSquareTwitter;
|
|
16
|
+
var faTiktok = {
|
|
17
|
+
prefix: 'fab',
|
|
18
|
+
iconName: 'tiktok',
|
|
19
|
+
icon: [448, 512, [], "e07b", "M448,209.91a210.06,210.06,0,0,1-122.77-39.25V349.38A162.55,162.55,0,1,1,185,188.31V278.2a74.62,74.62,0,1,0,52.23,71.18V0l88,0a121.18,121.18,0,0,0,1.86,22.17h0A122.18,122.18,0,0,0,381,102.39a121.43,121.43,0,0,0,67,20.14Z"]
|
|
20
|
+
};
|
|
21
|
+
var faSquareFacebook = {
|
|
22
|
+
prefix: 'fab',
|
|
23
|
+
iconName: 'square-facebook',
|
|
24
|
+
icon: [448, 512, ["facebook-square"], "f082", "M400 32H48A48 48 0 0 0 0 80v352a48 48 0 0 0 48 48h137.25V327.69h-63V256h63v-54.64c0-62.15 37-96.48 93.67-96.48 27.14 0 55.52 4.84 55.52 4.84v61h-31.27c-30.81 0-40.42 19.12-40.42 38.73V256h68.78l-11 71.69h-57.78V480H400a48 48 0 0 0 48-48V80a48 48 0 0 0-48-48z"]
|
|
25
|
+
};
|
|
26
|
+
var faFacebookSquare = faSquareFacebook;
|
|
27
|
+
var faLinkedin = {
|
|
28
|
+
prefix: 'fab',
|
|
29
|
+
iconName: 'linkedin',
|
|
30
|
+
icon: [448, 512, [], "f08c", "M416 32H31.9C14.3 32 0 46.5 0 64.3v383.4C0 465.5 14.3 480 31.9 480H416c17.6 0 32-14.5 32-32.3V64.3c0-17.8-14.4-32.3-32-32.3zM135.4 416H69V202.2h66.5V416zm-33.2-243c-21.3 0-38.5-17.3-38.5-38.5S80.9 96 102.2 96c21.2 0 38.5 17.3 38.5 38.5 0 21.3-17.2 38.5-38.5 38.5zm282.1 243h-66.4V312c0-24.8-.5-56.7-34.5-56.7-34.6 0-39.9 27-39.9 54.9V416h-66.4V202.2h63.7v29.2h.9c8.9-16.8 30.6-34.5 62.9-34.5 67.2 0 79.7 44.3 79.7 101.9V416z"]
|
|
31
|
+
};
|
|
32
|
+
var faInstagram = {
|
|
33
|
+
prefix: 'fab',
|
|
34
|
+
iconName: 'instagram',
|
|
35
|
+
icon: [448, 512, [], "f16d", "M224.1 141c-63.6 0-114.9 51.3-114.9 114.9s51.3 114.9 114.9 114.9S339 319.5 339 255.9 287.7 141 224.1 141zm0 189.6c-41.1 0-74.7-33.5-74.7-74.7s33.5-74.7 74.7-74.7 74.7 33.5 74.7 74.7-33.6 74.7-74.7 74.7zm146.4-194.3c0 14.9-12 26.8-26.8 26.8-14.9 0-26.8-12-26.8-26.8s12-26.8 26.8-26.8 26.8 12 26.8 26.8zm76.1 27.2c-1.7-35.9-9.9-67.7-36.2-93.9-26.2-26.2-58-34.4-93.9-36.2-37-2.1-147.9-2.1-184.9 0-35.8 1.7-67.6 9.9-93.9 36.1s-34.4 58-36.2 93.9c-2.1 37-2.1 147.9 0 184.9 1.7 35.9 9.9 67.7 36.2 93.9s58 34.4 93.9 36.2c37 2.1 147.9 2.1 184.9 0 35.9-1.7 67.7-9.9 93.9-36.2 26.2-26.2 34.4-58 36.2-93.9 2.1-37 2.1-147.8 0-184.8zM398.8 388c-7.8 19.6-22.9 34.7-42.6 42.6-29.5 11.7-99.5 9-132.1 9s-102.7 2.6-132.1-9c-19.6-7.8-34.7-22.9-42.6-42.6-11.7-29.5-9-99.5-9-132.1s-2.6-102.7 9-132.1c7.8-19.6 22.9-34.7 42.6-42.6 29.5-11.7 99.5-9 132.1-9s102.7-2.6 132.1 9c19.6 7.8 34.7 22.9 42.6 42.6 11.7 29.5 9 99.5 9 132.1s2.7 102.7-9 132.1z"]
|
|
36
|
+
};
|
|
37
|
+
var faYoutube = {
|
|
38
|
+
prefix: 'fab',
|
|
39
|
+
iconName: 'youtube',
|
|
40
|
+
icon: [576, 512, [61802], "f167", "M549.655 124.083c-6.281-23.65-24.787-42.276-48.284-48.597C458.781 64 288 64 288 64S117.22 64 74.629 75.486c-23.497 6.322-42.003 24.947-48.284 48.597-11.412 42.867-11.412 132.305-11.412 132.305s0 89.438 11.412 132.305c6.281 23.65 24.787 41.5 48.284 47.821C117.22 448 288 448 288 448s170.78 0 213.371-11.486c23.497-6.321 42.003-24.171 48.284-47.821 11.412-42.867 11.412-132.305 11.412-132.305s0-89.438-11.412-132.305zm-317.51 213.508V175.185l142.739 81.205-142.739 81.201z"]
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
const SocialLink = (props) => (h("li", null,
|
|
44
|
+
h("a", { href: props.url, "aria-label": props.name },
|
|
45
|
+
h(FontAwesomeIcon, { icon: props.icon }))));
|
|
46
|
+
const SocialLinks = () => (h("ul", { id: "uofg-footer-social-links" },
|
|
47
|
+
h(SocialLink, { name: "Twitter", url: "https://twitter.com/uofg", icon: faTwitterSquare }),
|
|
48
|
+
h(SocialLink, { name: "Facebook", url: "https://www.facebook.com/uofguelph", icon: faFacebookSquare }),
|
|
49
|
+
h(SocialLink, { name: "Instagram", url: "https://www.instagram.com/uofguelph/", icon: faInstagram }),
|
|
50
|
+
h(SocialLink, { name: "Youtube", url: "https://www.youtube.com/user/uofguelph", icon: faYoutube }),
|
|
51
|
+
h(SocialLink, { name: "LinkedIn", url: "https://www.linkedin.com/school/university-of-guelph/", icon: faLinkedin }),
|
|
52
|
+
h(SocialLink, { name: "TikTok", url: "https://www.tiktok.com/@uofguelph", icon: faTiktok })));
|
|
53
|
+
|
|
54
|
+
var faTrees = {
|
|
55
|
+
prefix: 'fas',
|
|
56
|
+
iconName: 'trees',
|
|
57
|
+
icon: [640, 512, [], "f724", "M70.2 121.4L178.5 5.8C182 2.1 186.9 0 192 0s10 2.1 13.5 5.8L313.8 121.4c4 4.3 6.2 9.9 6.2 15.7c0 12.7-10.3 22.9-22.9 22.9H272l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H304l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H224v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416H23.5C10.5 416 0 405.5 0 392.5c0-5.5 1.9-10.8 5.4-15L80 288H55.5c-13 0-23.5-10.5-23.5-23.5c0-5.5 1.9-10.8 5.4-15L112 160H86.9C74.3 160 64 149.7 64 137.1c0-5.8 2.2-11.4 6.2-15.7zm271.4-16.4L434.5 5.8C438 2.1 442.9 0 448 0s10 2.1 13.5 5.8L569.8 121.4c4 4.3 6.2 9.9 6.2 15.7c0 12.7-10.3 22.9-22.9 22.9H528l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H560l74.6 89.5c3.5 4.2 5.4 9.5 5.4 15c0 13-10.5 23.5-23.5 23.5H480v64c0 17.7-14.3 32-32 32s-32-14.3-32-32V416l0-23.4 0-.1 0-.1V392h0c-.1-12.8-4.7-25.2-12.9-35l-40.6-48.7c13-10.2 21.4-26 21.4-43.8c0-13-4.6-25.6-12.9-35.5l-40.4-48.5c12.9-10 21.3-25.8 21.3-43.4c0-11.6-3.7-22.8-10.4-32.1z"]
|
|
58
|
+
};
|
|
59
|
+
var faBars = {
|
|
60
|
+
prefix: 'fas',
|
|
61
|
+
iconName: 'bars',
|
|
62
|
+
icon: [448, 512, ["navicon"], "f0c9", "M0 96C0 78.3 14.3 64 32 64H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32C14.3 128 0 113.7 0 96zM0 256c0-17.7 14.3-32 32-32H416c17.7 0 32 14.3 32 32s-14.3 32-32 32H32c-17.7 0-32-14.3-32-32zM448 416c0 17.7-14.3 32-32 32H32c-17.7 0-32-14.3-32-32s14.3-32 32-32H416c17.7 0 32 14.3 32 32z"]
|
|
63
|
+
};
|
|
64
|
+
var faSitemap = {
|
|
65
|
+
prefix: 'fas',
|
|
66
|
+
iconName: 'sitemap',
|
|
67
|
+
icon: [576, 512, [], "f0e8", "M208 80c0-26.5 21.5-48 48-48h64c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48h-8v40H464c30.9 0 56 25.1 56 56v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H464c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V288c0-4.4-3.6-8-8-8H312v40h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H256c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V280H112c-4.4 0-8 3.6-8 8v32h8c26.5 0 48 21.5 48 48v64c0 26.5-21.5 48-48 48H48c-26.5 0-48-21.5-48-48V368c0-26.5 21.5-48 48-48h8V288c0-30.9 25.1-56 56-56H264V192h-8c-26.5 0-48-21.5-48-48V80z"]
|
|
68
|
+
};
|
|
69
|
+
var faList = {
|
|
70
|
+
prefix: 'fas',
|
|
71
|
+
iconName: 'list',
|
|
72
|
+
icon: [512, 512, ["list-squares"], "f03a", "M40 48C26.7 48 16 58.7 16 72v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V72c0-13.3-10.7-24-24-24H40zM192 64c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zm0 160c-17.7 0-32 14.3-32 32s14.3 32 32 32H480c17.7 0 32-14.3 32-32s-14.3-32-32-32H192zM16 232v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V232c0-13.3-10.7-24-24-24H40c-13.3 0-24 10.7-24 24zM40 368c-13.3 0-24 10.7-24 24v48c0 13.3 10.7 24 24 24H88c13.3 0 24-10.7 24-24V392c0-13.3-10.7-24-24-24H40z"]
|
|
73
|
+
};
|
|
74
|
+
var faKey = {
|
|
75
|
+
prefix: 'fas',
|
|
76
|
+
iconName: 'key',
|
|
77
|
+
icon: [512, 512, [128273], "f084", "M336 352c97.2 0 176-78.8 176-176S433.2 0 336 0S160 78.8 160 176c0 18.7 2.9 36.8 8.3 53.7L7 391c-4.5 4.5-7 10.6-7 17v80c0 13.3 10.7 24 24 24h80c13.3 0 24-10.7 24-24V448h40c13.3 0 24-10.7 24-24V384h40c6.4 0 12.5-2.5 17-7l33.3-33.3c16.9 5.4 35 8.3 53.7 8.3zM376 96a40 40 0 1 1 0 80 40 40 0 1 1 0-80z"]
|
|
78
|
+
};
|
|
79
|
+
var faRightToBracket = {
|
|
80
|
+
prefix: 'fas',
|
|
81
|
+
iconName: 'right-to-bracket',
|
|
82
|
+
icon: [512, 512, ["sign-in-alt"], "f2f6", "M217.9 105.9L340.7 228.7c7.2 7.2 11.3 17.1 11.3 27.3s-4.1 20.1-11.3 27.3L217.9 406.1c-6.4 6.4-15 9.9-24 9.9c-18.7 0-33.9-15.2-33.9-33.9l0-62.1L32 320c-17.7 0-32-14.3-32-32l0-64c0-17.7 14.3-32 32-32l128 0 0-62.1c0-18.7 15.2-33.9 33.9-33.9c9 0 17.6 3.6 24 9.9zM352 416l64 0c17.7 0 32-14.3 32-32l0-256c0-17.7-14.3-32-32-32l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32l64 0c53 0 96 43 96 96l0 256c0 53-43 96-96 96l-64 0c-17.7 0-32-14.3-32-32s14.3-32 32-32z"]
|
|
83
|
+
};
|
|
84
|
+
var faCalendarRange = {
|
|
85
|
+
prefix: 'fas',
|
|
86
|
+
iconName: 'calendar-range',
|
|
87
|
+
icon: [512, 512, [], "e0d6", "M128 32V64H80c-26.5 0-48 21.5-48 48v48H480V112c0-26.5-21.5-48-48-48H384V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H192V32c0-17.7-14.3-32-32-32s-32 14.3-32 32zM480 192H32V464c0 26.5 21.5 48 48 48H432c26.5 0 48-21.5 48-48V192zM160 288a32 32 0 1 1 -64 0 32 32 0 1 1 64 0zM384 448a32 32 0 1 1 0-64 32 32 0 1 1 0 64zM224 288c0-13.3 10.7-24 24-24H392c13.3 0 24 10.7 24 24s-10.7 24-24 24H248c-13.3 0-24-10.7-24-24zm40 104c13.3 0 24 10.7 24 24s-10.7 24-24 24H120c-13.3 0-24-10.7-24-24s10.7-24 24-24H264z"]
|
|
88
|
+
};
|
|
89
|
+
var faCircleCheck = {
|
|
90
|
+
prefix: 'fas',
|
|
91
|
+
iconName: 'circle-check',
|
|
92
|
+
icon: [512, 512, [61533, "check-circle"], "f058", "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z"]
|
|
93
|
+
};
|
|
94
|
+
var faUniversalAccess = {
|
|
95
|
+
prefix: 'fas',
|
|
96
|
+
iconName: 'universal-access',
|
|
97
|
+
icon: [512, 512, [], "f29a", "M0 256a256 256 0 1 1 512 0A256 256 0 1 1 0 256zm161.5-86.1c-12.2-5.2-26.3 .4-31.5 12.6s.4 26.3 12.6 31.5l11.9 5.1c17.3 7.4 35.2 12.9 53.6 16.3v50.1c0 4.3-.7 8.6-2.1 12.6l-28.7 86.1c-4.2 12.6 2.6 26.2 15.2 30.4s26.2-2.6 30.4-15.2l24.4-73.2c1.3-3.8 4.8-6.4 8.8-6.4s7.6 2.6 8.8 6.4l24.4 73.2c4.2 12.6 17.8 19.4 30.4 15.2s19.4-17.8 15.2-30.4l-28.7-86.1c-1.4-4.1-2.1-8.3-2.1-12.6V235.5c18.4-3.5 36.3-8.9 53.6-16.3l11.9-5.1c12.2-5.2 17.8-19.3 12.6-31.5s-19.3-17.8-31.5-12.6L338.7 175c-26.1 11.2-54.2 17-82.7 17s-56.5-5.8-82.7-17l-11.9-5.1zM256 160a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"]
|
|
98
|
+
};
|
|
99
|
+
var faHandHoldingHeart = {
|
|
100
|
+
prefix: 'fas',
|
|
101
|
+
iconName: 'hand-holding-heart',
|
|
102
|
+
icon: [576, 512, [], "f4be", "M148 76.6C148 34.3 182.3 0 224.6 0c20.3 0 39.8 8.1 54.1 22.4l9.3 9.3 9.3-9.3C311.6 8.1 331.1 0 351.4 0C393.7 0 428 34.3 428 76.6c0 20.3-8.1 39.8-22.4 54.1L302.1 234.1c-7.8 7.8-20.5 7.8-28.3 0L170.4 130.7C156.1 116.4 148 96.9 148 76.6zM568.2 336.3c13.1 17.8 9.3 42.8-8.5 55.9L433.1 485.5c-23.4 17.2-51.6 26.5-80.7 26.5H192 32c-17.7 0-32-14.3-32-32V416c0-17.7 14.3-32 32-32H68.8l44.9-36c22.7-18.2 50.9-28 80-28H272h16 64c17.7 0 32 14.3 32 32s-14.3 32-32 32H288 272c-8.8 0-16 7.2-16 16s7.2 16 16 16H392.6l119.7-88.2c17.8-13.1 42.8-9.3 55.9 8.5zM193.6 384l0 0-.9 0c.3 0 .6 0 .9 0z"]
|
|
103
|
+
};
|
|
104
|
+
var faPhoneFlip = {
|
|
105
|
+
prefix: 'fas',
|
|
106
|
+
iconName: 'phone-flip',
|
|
107
|
+
icon: [512, 512, [128381, "phone-alt"], "f879", "M347.1 24.6c7.7-18.6 28-28.5 47.4-23.2l88 24C499.9 30.2 512 46 512 64c0 247.4-200.6 448-448 448c-18 0-33.8-12.1-38.6-29.5l-24-88c-5.3-19.4 4.6-39.7 23.2-47.4l96-40c16.3-6.8 35.2-2.1 46.3 11.6L207.3 368c70.4-33.3 127.4-90.3 160.7-160.7L318.7 167c-13.7-11.2-18.4-30-11.6-46.3l40-96z"]
|
|
108
|
+
};
|
|
109
|
+
var faCaretDown = {
|
|
110
|
+
prefix: 'fas',
|
|
111
|
+
iconName: 'caret-down',
|
|
112
|
+
icon: [320, 512, [], "f0d7", "M137.4 374.6c12.5 12.5 32.8 12.5 45.3 0l128-128c9.2-9.2 11.9-22.9 6.9-34.9s-16.6-19.8-29.6-19.8L32 192c-12.9 0-24.6 7.8-29.6 19.8s-2.2 25.7 6.9 34.9l128 128z"]
|
|
113
|
+
};
|
|
114
|
+
var faMagnifyingGlass = {
|
|
115
|
+
prefix: 'fas',
|
|
116
|
+
iconName: 'magnifying-glass',
|
|
117
|
+
icon: [512, 512, [128269, "search"], "f002", "M416 208c0 45.9-14.9 88.3-40 122.7L502.6 457.4c12.5 12.5 12.5 32.8 0 45.3s-32.8 12.5-45.3 0L330.7 376c-34.4 25.2-76.8 40-122.7 40C93.1 416 0 322.9 0 208S93.1 0 208 0S416 93.1 416 208zM208 352a144 144 0 1 0 0-288 144 144 0 1 0 0 288z"]
|
|
118
|
+
};
|
|
119
|
+
var faSearch = faMagnifyingGlass;
|
|
120
|
+
var faBriefcase = {
|
|
121
|
+
prefix: 'fas',
|
|
122
|
+
iconName: 'briefcase',
|
|
123
|
+
icon: [512, 512, [128188], "f0b1", "M184 48H328c4.4 0 8 3.6 8 8V96H176V56c0-4.4 3.6-8 8-8zm-56 8V96H64C28.7 96 0 124.7 0 160v96H192 320 512V160c0-35.3-28.7-64-64-64H384V56c0-30.9-25.1-56-56-56H184c-30.9 0-56 25.1-56 56zM512 288H320v32c0 17.7-14.3 32-32 32H224c-17.7 0-32-14.3-32-32V288H0V416c0 35.3 28.7 64 64 64H448c35.3 0 64-28.7 64-64V288z"]
|
|
124
|
+
};
|
|
125
|
+
|
|
126
|
+
const FooterLink = (props) => (h("li", null,
|
|
127
|
+
h("a", { href: props.url, title: props.title },
|
|
128
|
+
h(FontAwesomeIcon, { icon: props.icon }),
|
|
129
|
+
h("span", null, props.text))));
|
|
130
|
+
const FooterLinks = () => (h("ul", { id: "uofg-footer-links", class: "uofg-footer-content-separator" },
|
|
131
|
+
h(FooterLink, { text: "Accessibility", url: "https://www.uoguelph.ca/diversity-human-rights/accessibility-u-g", icon: faUniversalAccess }),
|
|
132
|
+
h(FooterLink, { text: "Privacy", url: "https://www.uoguelph.ca/web/privacy/", icon: faKey }),
|
|
133
|
+
h(FooterLink, { text: "Site Map", url: "https://www.uoguelph.ca/site-map/", icon: faSitemap }),
|
|
134
|
+
h(FooterLink, { text: "Status Page", url: "https://uoguelph.statuspage.io/", icon: faCircleCheck }),
|
|
135
|
+
h(FooterLink, { text: "Land Acknowledgement", url: "https://www.uoguelph.ca/land-acknowledgement/", icon: faTrees, title: "The University of Guelph resides on the treaty lands and territory of the Mississaugas of the Credit. We recognize that today this gathering place is home to many First Nations, Inuit and M\u00E9tis peoples and acknowledging them reminds us of our collective responsibility to the land where we learn and work." }),
|
|
136
|
+
h(FooterLink, { text: "Careers", url: "https://www.uoguelph.ca/hr/careers-guelph/current-opportunities", icon: faBriefcase }),
|
|
137
|
+
h(FooterLink, { text: "Undergraduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/undergraduate/current/", icon: faCalendarRange }),
|
|
138
|
+
h(FooterLink, { text: "Graduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/graduate/current/", icon: faCalendarRange }),
|
|
139
|
+
h(FooterLink, { text: "Program Plans", url: "https://admission.uoguelph.ca/programs", icon: faList }),
|
|
140
|
+
h(FooterLink, { text: "Give to U of G", url: "https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give", icon: faHandHoldingHeart })));
|
|
141
|
+
|
|
142
|
+
const improveLifeLogo = `<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" viewBox="0 0 107.4 12">
|
|
143
|
+
<path
|
|
144
|
+
d="M0 0h5.3v.5C4 .5 3.6.8 3.6 2.1v7.3c0 1.4.3 1.8 1.6 1.8v.5H0v-.5c1.5 0 1.5-.5 1.5-1.6V1.9C1.5.9 1.3.5 0 .5ZM6.1 11.4c.9 0 1.1-.2 1.2-1.4l.3-5.1c.1-1.2-.1-1.4-.9-1.4v-.4h2.6l3 6.5 2.8-6.5h2.6v.4c-.8 0-.9.2-.9.8l.5 6.3c.1.7.3.8 1.1.8v.4h-4v-.4c1.1 0 1.3-.3 1.2-1.8l-.4-5.1-3.2 7.3h-.5L8.4 4.7l-.3 5.1c-.1 1.5.2 1.5 1.1 1.6v.4H6.1ZM19.2 11.4c1 0 1.2-.2 1.2-1.5v-5c0-1.4-.2-1.5-1.3-1.5v-.3h1.4a14.4 14.4 0 0 1 1.8-.1c2.6 0 4.1.6 4.1 2.5 0 1.6-1.4 2.8-3.3 2.8a3.8 3.8 0 0 1-1.1-.1v1.9c0 1.1.3 1.3 1.6 1.3v.4h-4.3v-.4Zm2.7-3.7.6.1a2.2 2.2 0 0 0 2.2-2.3 2 2 0 0 0-2.1-2.1h-.7ZM29.7 10c0 1.2.2 1.4 1.4 1.4v.4h-4.3v-.4c1.2 0 1.3-.3 1.3-1.2V4.6c0-.9-.2-1.1-1.3-1.1v-.4l2-.1h1.7c2.8 0 3.8 1.2 3.8 2.5a2.5 2.5 0 0 1-1.8 2.3 9.4 9.4 0 0 1 1 1l.9.9a5.4 5.4 0 0 0 3.3 1.9v.4c-2.7.1-3.4-.4-4.7-1.7l-.7-.7a8 8 0 0 0-1.5-1.3h-1.2V10Zm0-2.2h.4c1.9-.1 2.5-.8 2.5-2.2a2 2 0 0 0-2.3-2.2 1.7 1.7 0 0 0-.7.1v4.3ZM42.4 2.9c3 0 5.1 1.8 5.1 4.4a4.8 4.8 0 0 1-5.1 4.7c-2.9 0-5-1.8-5-4.3-.1-2.8 2.1-4.8 5-4.8Zm.2 8.6c1.9 0 3.2-1.6 3.2-3.9 0-2.5-1.5-4.3-3.5-4.3S39 4.8 39 7.3c0 2.8 1.8 4.2 3.6 4.2ZM49 4.5c-.4-1-.5-1.1-1.4-1.1v-.3h4.3v.4c-1.1 0-1.3.3-1.3.6a3 3 0 0 0 .2.8l2.1 5.2 2-4.9a4.5 4.5 0 0 0 .3-1.1c0-.5-.4-.6-1.3-.6v-.4h3.4v.4c-1 0-1.2.5-1.6 1.6L52.8 12H52ZM57.7 11.8v-.4c1.1 0 1.4-.2 1.4-1v-6c0-.9-.5-.9-1.4-.9v-.4h7.1l.1 2.1h-.4l-.1-.3c-.3-1.1-.5-1.2-1.4-1.2h-2.5V7h2.2c.8 0 1-.1 1-1.1h.4v2.8h-.4c-.1-1-.3-1.1-1-1.1h-2.2v2.5c0 .9.1 1 .8 1H63c1.4 0 1.7-.2 2.1-1.6h.4l-.2 2.2h-7.6ZM72.2 11.8v-.5c1.5 0 1.8-.1 1.8-1.6V2.1C74 .8 73.9.4 72.2.5V0h6.2v.5c-2 0-2.3.1-2.3 1.5v8c0 .8.2.9 1 .9H79c1.6 0 1.7-.1 3.1-2h.6l-1.5 2.9ZM83.2 3.1h3.9v.4c-.9 0-1.2.2-1.2 1.2v5.4c0 1 .2 1.3 1.2 1.3v.4h-3.9v-.4c1.1 0 1.1-.4 1.1-1.2V4.5c0-.8-.2-1.1-1.1-1ZM90.7 10c0 1.1.2 1.3 1.2 1.3v.4H88v-.4c.9 0 1.1-.3 1.1-1.1V4.5c0-.8-.3-1-1.1-1v-.4h6.6v1.7h-.4c-.1-.9-.3-1.1-1.4-1.1h-2.2v3.1h2.2c.9 0 1-.1 1.1-.9h.4v2.6H94c-.1-.9-.3-1-1.2-1h-2.1ZM95.3 11.8v-.4c1.1 0 1.4-.2 1.4-1v-6c0-.9-.5-.9-1.4-.9v-.4h7.1l.1 2.1h-.4l-.1-.3c-.3-1.1-.5-1.2-1.4-1.2h-2.5V7h2.2c.8 0 1-.1 1-1.1h.4v2.8h-.4c-.1-1-.3-1.1-1-1.1h-2.2v2.5c0 .9.1 1 .8 1h1.5c1.4 0 1.7-.2 2.1-1.6h.4l-.2 2.2h-7.4ZM107.4 10.9c0 .7-.5 1.1-1.3 1.1s-1.3-.4-1.3-1.1a1.2 1.2 0 0 1 1.3-1.2 1.2 1.2 0 0 1 1.3 1.2Z"/>
|
|
145
|
+
</svg>
|
|
146
|
+
`;
|
|
147
|
+
|
|
148
|
+
const uofgFooterCss = ":host{display:block;width:100%;font-size:1.6rem;font-family:sans-serif}*{box-sizing:border-box}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}a{display:flex;align-items:center;gap:0.5rem;border-bottom:2px dotted transparent;transition-property:border-color;width:fit-content;color:inherit;transition-duration:200ms;transition-timing-function:ease-in-out;text-decoration:none;white-space:nowrap;padding-bottom:0.2rem}a:hover,a:focus{border-color:currentColor}svg{fill:currentColor;height:1.6rem}ul{list-style:none;padding:0;margin:unset}ul li{display:contents}#uofg-footer{display:flex;justify-content:center;align-items:center;background-color:#000;color:#fff;padding:2rem}#uofg-footer-content{display:grid;grid-template-columns:1fr;gap:2rem;width:100%;max-width:1370px}@media (min-width: 570px){#uofg-footer-content{grid-template-columns:1fr 1fr}}@media (min-width: 962px){#uofg-footer-content{grid-template-columns:0.5fr 2fr 0.5fr;justify-items:center;gap:2rem 4.75vw}}.uofg-footer-content-separator{display:flex;flex-direction:column;gap:0.75rem;justify-content:space-between}#uofg-footer-improve-life{transition-property:opacity;border:0}#uofg-footer-improve-life>svg{height:2.5rem}#uofg-footer-improve-life:hover,#uofg-footer-improve-life:focus{opacity:0.8}#uofg-footer-social-links{display:flex;align-items:center;list-style:none;padding:0;margin-left:0;gap:0.75rem}#uofg-footer-social-links a{transition-property:color;border:0}#uofg-footer-social-links a:hover,#uofg-footer-social-links a:focus{color:#ffc72a}#uofg-footer-social-links a:hover[aria-label=Twitter],#uofg-footer-social-links a:focus[aria-label=Twitter]{color:#1da1f2}#uofg-footer-social-links a:hover[aria-label=Facebook],#uofg-footer-social-links a:focus[aria-label=Facebook]{color:#4267b2}#uofg-footer-social-links a:hover[aria-label=Instagram],#uofg-footer-social-links a:focus[aria-label=Instagram]{color:#e1306c}#uofg-footer-social-links a:hover[aria-label=Youtube],#uofg-footer-social-links a:focus[aria-label=Youtube]{color:#f00}#uofg-footer-social-links a:hover[aria-label=LinkedIn],#uofg-footer-social-links a:focus[aria-label=LinkedIn]{color:#0077b5}#uofg-footer-social-links a:hover[aria-label=TikTok],#uofg-footer-social-links a:focus[aria-label=TikTok]{color:#f00}#uofg-footer-social-links svg{height:2rem}#uofg-footer-links{display:grid;grid-template-columns:1fr}#uofg-footer-links svg{color:#ffc72a}@media (min-width: 570px){#uofg-footer-links{grid-template-columns:1fr 1fr;grid-column-start:1;grid-column-end:3}}@media (min-width: 962px){#uofg-footer-links{grid-row:unset;grid-column:unset;gap:0.75rem 9.5vw}}#uofg-footer-address{font-style:normal;white-space:nowrap}#uofg-footer-address a{color:#69a3b9}@media (min-width: 570px){#uofg-footer-address{grid-row:1;grid-column:2}}@media (min-width: 962px){#uofg-footer-address{grid-row:unset;grid-column:unset}}";
|
|
149
|
+
|
|
150
|
+
const UofgFooter = class {
|
|
151
|
+
constructor(hostRef) {
|
|
152
|
+
registerInstance(this, hostRef);
|
|
153
|
+
}
|
|
154
|
+
render() {
|
|
155
|
+
return (h("footer", { id: "uofg-footer" }, h("div", { id: "uofg-footer-content" }, h("div", { id: "uofg-footer-social", class: "uofg-footer-content-separator" }, h("a", { id: "uofg-footer-improve-life", href: "//www.uoguelph.ca/improve-life", "aria-label": "Improve Life", innerHTML: improveLifeLogo }), h(SocialLinks, null), h("a", { href: "https://www.uoguelph.ca/web/socialmedia/" }, "Social Media Directory"), h("a", { href: "//www.uoguelph.ca/web/" }, "\u00A9 ", new Date().getFullYear(), " University of Guelph")), h(FooterLinks, null), h("address", { id: "uofg-footer-address", class: "uofg-footer-content-separator" }, h("strong", null, "University of Guelph"), h("span", null, "50 Stone Road East,"), h("span", null, "Guelph, Ontario, Canada"), h("span", null, "N1G 2W1"), h("a", { href: "tel:1-519-824-4120" }, h(FontAwesomeIcon, { icon: faPhoneFlip }), h("span", null, "519-824-4120"))))));
|
|
156
|
+
}
|
|
157
|
+
};
|
|
158
|
+
UofgFooter.style = uofgFooterCss;
|
|
159
|
+
|
|
160
|
+
const PageSpecific = (props) => {
|
|
161
|
+
var _a;
|
|
162
|
+
return (h("ul", { class: "uofg-header-page-specific" }, (_a = props.content) === null || _a === void 0 ? void 0 : _a.map((item) => {
|
|
163
|
+
if (!item) {
|
|
164
|
+
return null;
|
|
165
|
+
}
|
|
166
|
+
if ('text' in item) {
|
|
167
|
+
return (h("li", null,
|
|
168
|
+
h("a", Object.assign({ href: item.href }, item.attributes), item.text)));
|
|
169
|
+
}
|
|
170
|
+
return (h("li", null,
|
|
171
|
+
h("uofg-menu", { autoCollapse: props.autoCollapseMenus },
|
|
172
|
+
h("button", { slot: "button" },
|
|
173
|
+
h("span", null, item.title),
|
|
174
|
+
h(FontAwesomeIcon, { icon: faCaretDown })),
|
|
175
|
+
h("ul", { slot: "content", role: "menu" }, item.links.map((link) => (h("li", null,
|
|
176
|
+
h("a", Object.assign({ href: link.href }, link.attributes), link.text))))))));
|
|
177
|
+
}).filter(Boolean)));
|
|
178
|
+
};
|
|
179
|
+
|
|
180
|
+
const Decoration = `<svg viewBox="0 0 68 90" xmlns="http://www.w3.org/2000/svg"><path d="M23.131 0l44.847 90H0V0" fill="#d41728"/><path d="M23.131 0l16.03 32.044L55.1 0" fill="#ffc500"/></svg>`;
|
|
181
|
+
|
|
182
|
+
const FullSizeLogo = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 150 90"><path d="M0 0h150v90H0V0z"/><path fill="#fff" d="M116 25.5s-1.3-.4-1.3 2.6V39c0 1.7.4 2.6 1.7 2.6v.9h-5.6v-.9c0-.4 1.8 0 1.8-1.7V28.6c0-3-2.6-3-2.6-3s-.5-1 .8-1h5.2l.4.5-.4.4m-57.8 19l-6-15.5c-1.4-3.5-2.7-3.5-2.7-3.5s0-.8 1.3-.8h5.6l-.4.8c-.9 0-1.7.9-.9 3L58.6 39l3.5-8.6c.8-3 .4-3.9-1-4.3-1.2-.9-.3-1.3-.3-1.3h5.1v.8c-1.3 0-2.1 3.5-2.6 4.8L58.6 44l-.4.4m19 7c-.5.8-1 .8-2.2.8l-3 .4v-5.2h4.7s1.8 0 2.2 1.8c.4 1.7 1.7.4 1.3-.5l-.5-3H68.1c-1.7 0-.9.9-.9.9s2.2 0 2.2 3v10.8c0 1.7-1.3 1.7-1.7 2.2-.5.4 0 .4.4.4h12l.5-3.9s0-1.3-.9 0c-.8 1.3-.8 2.6-3.8 2.6s-4-.4-4-1.3v-6s.5-1 1.4-1H75s1.7.5 2.2 2.3l.4-.5V52l-.4-.5M91 24.7c1.7 0 3.4 1.7 3.4 3.9 0 2.5-3 4.3-4.7 4.3 0 0 2.1 1.3 4.7 5.6 2.6 3.9 5.2 4.7 7.8 5.2 1.3 0 3.4-.5 5.6-1.8 1.7-.8.4.5.4.5 0 .4-3 2.6-6.9 2.6-5.2 0-8.2-4-9.9-6.5l-3.5-4.8c-.8-.8-2.1-.4-2.1-.4v6.5s0 1.3 1.3 1.3c1.3.4.4.8.4.8H82v-.4c0-.4 1.7 0 1.7-1.7V28.6c.5-3-2.1-3.5-2.1-3.5l1.3-.4H91M89.2 26l-3.4.4v5.2l3 .4 2.2-.9.8-2.1c0-1.3-.8-2.6-2.6-3z"/><path fill="#fff" d="M109.1 24.7h-1.3l-3.9-.5c-3 0-5.6 2.6-5.6 4.8 0 2.6 1.7 4.3 4.8 4.7 2.5.9 4.3 1.3 4.3 4 0 2-2.2 3-4 3a5.9 5.9 0 01-4.7-3c-.8-1-.4-1.8-.4-1.8l-.9.4v3c-.4 1 2.2 3 5.7 3 4.3 0 6.9-2 6.9-6.4 0-3.5-4.4-4.3-5.7-4.3-1.2 0-3.4-1.3-3.4-3 0-1.8 2.2-2.6 3.4-2.6 1.8 0 2.6.4 3.5 1.3l.4 1.7h.9l-.4-2.6.4-1.7m9.5.4h10l1.6-.4.5.8V29c0 .4-.9.9-.9 0-.4-2.2-.8-2.6-2.6-2.6-.8 0-2.1 0-2.1.9v13c0 .8 1.7 1.2 2.1 1.2l-.4.9h-6s-.5-.9.4-.9c.8 0 1.3-1.3 1.3-1.7V27.3s.4-.9-.9-.9c-1.7 0-3-.4-3.4 2.6-.5.4-.9.9-.9 0v-3.5c-.4-.8 0-.8 1.3-.4M31 45.8h.8v3c-1.3 0-1.3-.8-1.3-1.3 0-.4-2.1.5-3.8 2.2-1.8 1.3-2.2 3-2.2 3s2.2 0 2.6-.8l.4.4v3l-.8.5s.8-2.2-1.3-2.2H24s-.9 4.3-3.5 6.9c-2.6 2.6-6 3.5-8.2 1.7v-.8l2.6.8c1.7 0 3.9-.8 5.2-3.4l2.1-5.2h-.8v-.9h1.3s.4-2.1 2.6-3.9c1.7-1.3 3.4-2.5 5.6-3m16.8 0v6l-.9.5s-.8-3.9-3.4-4.3c-2.2-.5-5.6-.5-7 1.3a12.4 12.4 0 00-2.5 8.2c0 4.7.9 9.5 7.3 9.5 3.5 0 3.5-3 3.5-2.6v-4.8c0-.4-1.3-1.3-2.6-1.3l.4-.8h7.8v.8s-2.2.5-2.2 1.8v6l-4.7 2.2c-2.2 1.3-1.7 1.3-3.9 1.3S32.3 68.3 31 64c-1.3-4.4-1.3-10 2.1-14.7 2.2-3 5.2-4 8.7-4l3.9.5 1.7-.4.4.4m2.6 0H56v.9s-1.7.4-1.7 1.3v10.3c0 2.2 2.1 3.5 3.9 3.5 1.3 0 4.7-1.3 4.7-4.3V48c0-.5-.4-1.3-2.1-1.3l.4-.9h4.7v.9s-1.3.4-1.3 1.3v8.6c0 3.9-3 7-6.4 7-4.3 0-6.5-1.8-6.5-5.3V47.5l-1.7-.8c-.9 0 .4-.9.4-.9m31 0H88l-.4.9s-1.7-.4-1.7 2.1v11.7c0 .4-.4.9.9 1.3l4.7-.4c1.7-.9 2.2-2.6 2.2-2.6h.4l-.4 3.9c0 .8-.5.4-1.8.4H81.5v-.4s1.7 0 1.7-3.5V48c0-1.7-1.3-.9-2.2-1.3l.5-.9m13.4.5l5.1-.5c2.6 0 4.3 0 6 .9a4 4 0 011.8 3.4c0 1.8-1.3 3-2.2 4-1.7 1.2-3 1.2-6.4.8v6c0 .5.8 1.3 2.1 1.3l-.4.9h-6l.4-.4 1.3-1.8V48.4c0-.4-.5-1.3-1.7-1.3v-.8m4.3 6.9s0 .8 3 .8c1.7 0 3-2.1 3-3.4 0-1.3-1.3-2.6-2.6-3h-3.4v5.6zm24.6 9.9v-.4s-1.3 0-1.3-2.2v-13c0-.8 1.7-1.2 1.7-1.2v-.5h-5.6l-.4.9s1.7 0 1.7 1.3v4.7h-7.4l-.4-.4V48c0-1.3 1.3-1.3 1.3-1.3v-.9h-5.2l-.4.9s1.7-.4 1.7.8v13c0 .9-.4 2.2-1.3 2.2v.4h5.2s.9-.4 0-.9c-.9 0-1.3-.4-1.3-1.7v-6l.5-.5h7.3v6.5c0 1.7-.9 1.7-1.3 2.2v.4h5.2M20.2 29c0-2.6-.9-3.5-3.5-3.5-.4-.4.5-.8.5-.8h7.3v.4c0 .4-2.2-.4-2.2 3.5v12c0 2.6-1.7 4.4-1.7 4.4-1.3 1.7-3.4 3-6.9 3-8.6 0-8.6-6.5-8.6-6.5V29c0-2.2 0-3.5-2.6-3.5l.4-.8h7.8v.8c-.4 0-2.2-.4-2.2 3.5v10.8c0 3.9 2.6 6 6 6 3.5 0 5.7-2.1 5.7-5.2V29M40 29c0-3.9 1.8-3 1.8-3.5v-.8l-5.2.4s-.9.4 0 .4c2.1.5 2.1 1.3 2.1 3.5v8.6c-.4.5-8.6-11.6-8.6-11.6l-.4-1.3h-3.9l-.4.8c2.6 0 2.6.9 2.6 3.5v9c0 4-2.2 3-2.2 3.5v.9H31s1.3-.9.4-.9c-2.6 0-2.2-.9-2.2-3.4v-8.7s8.2 10.4 9.1 13.4c0 0 .4.9.9.4l.4-.4.4-.9V29m32.4 4l3-.5c.9 0 1.8 1.3 1.8 2.2 0 .9.8 0 .8-.4v-3.5c0-.8-.4-.4-.8-.4l-1.8 1.3h-3v-5.2h4.8s1.7 0 2.5 1.7c.5 1.3 1 .5.5-.4l-.5-3H68.1l-.9.8s2.6 0 2.6 2.6v11.2c0 1.8-2.1 1.8-2.1 1.8l.8.8H79s1.3.5 1.7 0l.4-3.8s0-1-.8 0c-.5.4-.5 2.5-4 2.5-3 0-3.8-.4-3.8-1.3V33m69.5 9.5l.9-.5c.4-.4 0-.4-.5-.4-.4 0-1.3-.4-1.3-1.7V35l3.5-6.4.4-.9c.5-.9.9-1.7 1.7-1.7l1-.5v-.4h-5.3c-.4 0-.8 0-.4.4l1.3.5c.4 0 .9.8.4 1.7l-3.4 5.6-3.5-5.6c-.4-.9-.4-1.7.5-1.7l.8-.5v-.4h-6s-.9 0 0 .4l1.3.9 5.1 9v4.4c0 1.3-.4 1.7-.8 1.7l-.9.4 1.3.5h3.9m5.2-19.5H2l.8-.8h145l-.8.8m-99.7 5.2c0-2.6 1.3-2.6 1.3-2.6l.4-.4h-5.2l-.4-.4c-1.3 0-.9.8-.9.8s2.2 0 2.2 3v11.3c0 1.7-1.3 1.7-1.3 1.7v.9h5.2l.4-.9c-1.3 0-1.7-.4-1.7-2.6V28.1m76.4 37.6H50.4l.4-.5h73.4l-.4.5M14.6 54c-.5.9-1.3 1.8-1.3 3-.9 3.5 1.7 3.5 3 3.5 1.7-.4 3.9-2.6 4.3-5.6.4-3.9-3.4-3.9-6-.9m3.4 3c-.8 1.3-1.3 2.2-2.6 1.8-1.3 0-.8-2.2.5-4 .8-1.2 2.6-1.6 3-.8.4.9 0 2.2-.9 3z"/></svg>`;
|
|
183
|
+
|
|
184
|
+
const ReducedSizeLogo = `<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 100 100"><path d="M0 0h100v100H0V0z"/><path fill="#fff" d="M74.6 54.9l-.7 2c2.4 0 5.6 1.4 5.6 2.9v9.5c0-.2-.2 5.4-7.8 5.4-13.7 0-15.6-10-15.6-20 0-6.7 2.4-13 5.8-17 3.4-3.8 9.8-3.6 15-3 5 .4 6.8 8.7 6.8 8.7l1.7-.5.2-13.2s-.7-.7-1.2-.5c-.5.3-2.4 1-3.7 1-1 0-4.6-.7-8.3-.7-6.6 0-13 1.4-17.8 8a32 32 0 00-3.4 6.1V28c0-8 4.1-6.3 4.6-7 .5-1.3.5-1.3-.2-1.5H39.9s-2 1.4-.7 1.4c5.4.5 7.6 2.5 7.6 7.4v25.4c0 6.6-5.1 10.5-12.5 10.5C27 64.2 22 59.5 22 51.5v-23c0-8 4.1-6.6 4.4-7.6.7-1 .7-1.2 0-1.2 0 0-9.3.5-16.2 0 0 0-2 1.5-.7 1.5 5.4.5 5.4 2.9 5.4 8v26.2s-.5 13.9 17.8 13.9c7.8 0 12.5-3.2 15-6.4l1.1-1.7c.3 2.5.8 5 1.5 7.1 3 9.6 14 12.2 17.6 12.2 4.6 0 4.6 0 8.8-2.9 2.2-1.2 10.2-4.4 10.2-4.4V59.8c0-2.2 4-3.2 4-3.2l.2-1.7H74.6z"/></svg>`;
|
|
185
|
+
|
|
186
|
+
const GlobalLinks = () => (h("ul", { class: "uofg-header-global-links" },
|
|
187
|
+
h("li", null,
|
|
188
|
+
h("a", { href: "/new-header/about" }, "About")),
|
|
189
|
+
h("li", null,
|
|
190
|
+
h("a", { href: "/new-header/academics" }, "Academics")),
|
|
191
|
+
h("li", null,
|
|
192
|
+
h("a", { href: "/new-header/admissions" }, "Admissions")),
|
|
193
|
+
h("li", null,
|
|
194
|
+
h("a", { href: "/new-header/research" }, "Research")),
|
|
195
|
+
h("li", null,
|
|
196
|
+
h("a", { href: "/new-header/student-life" }, "Student Life"))));
|
|
197
|
+
|
|
198
|
+
const HelloYou = (props) => (h("uofg-menu", { class: "uofg-header-hello-you-menu", "auto-collapse": props.autoCollapse },
|
|
199
|
+
h("button", { slot: "button" },
|
|
200
|
+
h("span", null, "Hello, YOU!"),
|
|
201
|
+
h(FontAwesomeIcon, { icon: faCaretDown })),
|
|
202
|
+
h("ul", { slot: "content" },
|
|
203
|
+
h("li", null,
|
|
204
|
+
h("a", { href: "/new-header/future-students" }, "Future Students")),
|
|
205
|
+
h("li", null,
|
|
206
|
+
h("a", { href: "/new-header/current-students" }, "Current Students")),
|
|
207
|
+
h("li", null,
|
|
208
|
+
h("a", { href: "/new-header/alumni-and-donors" }, "Alumni & Donors")),
|
|
209
|
+
h("li", null,
|
|
210
|
+
h("a", { href: "/new-header/staff-and-faculty" }, "Staff & Faculty")),
|
|
211
|
+
h("li", null,
|
|
212
|
+
h("a", { href: "/new-header/parents-and-visitors" }, "Parents & Visitors")),
|
|
213
|
+
h("li", null,
|
|
214
|
+
h("a", { href: "/new-header/employers-and-partners" }, "Employers & Partners")))));
|
|
215
|
+
|
|
216
|
+
const SearchBar = () => (h("form", { class: "uofg-header-search-bar", method: "get", role: "search", action: "https://uoguelph.ca/search/" },
|
|
217
|
+
h("input", { type: "text", name: "q" }),
|
|
218
|
+
h("input", { type: "hidden", name: "cx", value: "002616817380988741256:tp3ks5ha2dw" }),
|
|
219
|
+
h("input", { type: "hidden", name: "cof", value: "FORID:11" }),
|
|
220
|
+
h("input", { type: "hidden", name: "ie", value: "UTF-8" }),
|
|
221
|
+
h("button", { class: "uofg-search-bar-button", "aria-label": "Search", type: "submit" },
|
|
222
|
+
h(FontAwesomeIcon, { icon: faSearch }))));
|
|
223
|
+
|
|
224
|
+
const uofgHeaderCss = "*{box-sizing:border-box}:focus-visible{outline:2px solid #ffc72a;outline-offset:0.5rem}a{display:flex;align-items:center;text-decoration:none;color:inherit;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}ul{list-style:none;margin:0;padding:0}ul>li{display:contents}button{border:none;background:none;cursor:pointer;font-size:inherit;font-family:inherit;color:inherit;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}button[type=submit]{display:flex;align-items:center;justify-content:center;background-color:#d50029;color:#fff;padding:0.5rem;font-size:inherit;font-family:inherit}input[type=text],input[type=password]{background-color:#eff6f7;border:1px solid #69a3b9;padding:1rem;color:#555555;font-size:inherit;font-family:inherit}input[type=text]:focus-visible,input[type=text]:focus,input[type=password]:focus-visible,input[type=password]:focus{outline:none;background-color:#fffdf7}uofg-menu{--uofg-menu-animation-type:slide;--uofg-menu-animation-duration:0.2s;--uofg-menu-animation-easing:ease-in-out;display:block;position:relative}uofg-menu>[slot=button]{display:flex;align-items:center;gap:0.5rem;height:100%;padding:0 1rem}uofg-menu>[slot=button]>svg{height:1em;fill:currentColor;transition-property:transform;transition-duration:0.2s;transition-timing-function:ease-in-out}uofg-menu>[slot=content]{display:flex;flex-direction:column;position:absolute;z-index:1;min-width:20rem;right:0;background-color:#fff;color:#000;box-shadow:0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 3px 1px -2px rgba(0, 0, 0, 0.12), 0px 1px 5px 0px rgba(0, 0, 0, 0.2)}#uofg-header{position:relative;width:100%;z-index:10000;font-size:1.6rem;font-family:\"Roboto Condensed\", Arial, sans-serif}#uofg-header-top-content-container,#uofg-header-main-content-container,#uofg-header-sub-content-container{display:flex;position:relative;align-items:center;justify-content:flex-end;width:100%;padding:0 calc((100vw - 1500px) / 2)}#uofg-header-top-content-container{height:3.5rem;background-color:#fff;color:#000;z-index:3}#uofg-header-top-content-container>ul{display:flex;align-items:center;height:100%}#uofg-header-top-content-container>ul>li>a{height:100%;padding:0 1rem}#uofg-header-top-content-container>ul>li>a:hover,#uofg-header-top-content-container>ul>li>a:focus-visible,#uofg-header-top-content-container>ul>li>a[aria-expanded=true]{background-color:#ddd}#uofg-header-top-content-container>uofg-menu{height:100%}#uofg-header-top-content-container>uofg-menu>[slot=button]{padding:0 1rem;background-color:#ffc72a;color:#000;font-weight:bold}#uofg-header-top-content-container>uofg-menu>[slot=button]:hover,#uofg-header-top-content-container>uofg-menu>[slot=button]:focus-visible,#uofg-header-top-content-container>uofg-menu>[slot=button][aria-expanded=true]{background-color:#ccc;color:#000}#uofg-header-top-content-container>uofg-menu>[slot=button][aria-expanded=true]>svg{transform:rotate(180deg)}#uofg-header-top-content-container>uofg-menu>[slot=content]{background-color:#ddd;color:#000}#uofg-header-top-content-container>uofg-menu>[slot=content] a{height:100%;padding:0.75rem;border-bottom:1px solid rgba(0, 0, 0, 0.4)}#uofg-header-top-content-container>uofg-menu>[slot=content] a:hover,#uofg-header-top-content-container>uofg-menu>[slot=content] a:focus-visible{background-color:#ffc72a}#uofg-header-main-content-container{height:5rem;background-color:#000;color:#fff;z-index:2}#uofg-header-main-content-container>*{height:100%}#uofg-header-main-content-container.full-height{height:8rem}#uofg-header-logo-container{display:flex;height:100%;margin-right:auto;overflow:hidden}#uofg-header-logo-container>*{height:100%}#uofg-header-logo-container svg{width:auto}#uofg-header-decorative-img{position:absolute;left:0}#uofg-header-decorative-img>svg{height:100%}@media screen and (max-width: 1500px){#uofg-header-decorative-img{position:static}}#uofg-header-logo{height:100%;position:relative;margin-left:1rem;transition:opacity 0.2s ease-in-out}#uofg-header-logo>svg{height:100%}#uofg-header-logo:hover,#uofg-header-logo:focus-visible{opacity:0.8}@media screen and (min-width: 1500px) and (max-width: calc(1500px + 7rem)){#uofg-header-logo{position:absolute;left:0;margin-left:7rem}}#uofg-header-full-main-content,#uofg-header-reduced-main-content{display:flex}#uofg-header-full-main-content svg,#uofg-header-reduced-main-content svg{height:1em;fill:currentColor}#uofg-header-full-main-content>ul{display:flex;align-items:center}#uofg-header-full-main-content>ul>li>a,#uofg-header-full-main-content>a,#uofg-header-full-main-content>uofg-menu>[slot=button]{display:flex;align-items:center;justify-content:center;height:100%;padding:0 1.5rem;font-size:1.8rem;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-full-main-content>ul>li>a:hover,#uofg-header-full-main-content>ul>li>a:focus-visible,#uofg-header-full-main-content>a:hover,#uofg-header-full-main-content>a:focus-visible,#uofg-header-full-main-content>uofg-menu>[slot=button]:hover,#uofg-header-full-main-content>uofg-menu>[slot=button]:focus-visible{background-color:#333;color:#ffc72a}#uofg-header-full-main-content>uofg-menu>[slot=button]{color:#ffc72a}#uofg-header-full-main-content>uofg-menu>[slot=content]{color:#000;background-color:#fff;padding:2rem;width:35rem}#uofg-header-full-main-content>uofg-menu>[slot=content]>span{display:block;font-size:2.4rem;font-weight:bold;padding:1rem 0}#uofg-header-full-main-content>a{color:#ffc72a}#uofg-header-reduced-main-content>uofg-menu>[slot=button],#uofg-header-reduced-main-content>a{justify-content:center;padding:0 1.5rem;font-size:2rem;border-left:1px solid rgba(255, 255, 255, 0.15)}#uofg-header-reduced-main-content>uofg-menu>[slot=button]:hover,#uofg-header-reduced-main-content>uofg-menu>[slot=button]:focus-visible,#uofg-header-reduced-main-content>uofg-menu>[slot=button][aria-expanded=true],#uofg-header-reduced-main-content>a:hover,#uofg-header-reduced-main-content>a:focus-visible,#uofg-header-reduced-main-content>a[aria-expanded=true]{background-color:#fff;color:#000}#uofg-header-reduced-main-content>uofg-menu{position:static;height:100%}#uofg-header-reduced-main-content>uofg-menu>[slot=content]{background-color:#fff;color:#000;width:100%;padding:1rem 2rem 2rem}#uofg-header-reduced-main-content>uofg-menu>[slot=content]>span{display:block;font-size:2.4rem;font-weight:bold;padding:1rem 0}#uofg-header-main-menu>[slot=content]{overflow-y:auto;max-height:calc(100vh - 5rem)}#uofg-header-main-menu uofg-menu{position:relative}#uofg-header-main-menu uofg-menu>[slot=button]{display:flex;padding:0.75rem;height:auto;width:100%;color:inherit;border-bottom:1px solid rgba(0, 0, 0, 0.1)}#uofg-header-main-menu uofg-menu>[slot=button]>svg{margin-left:auto}#uofg-header-main-menu uofg-menu>[slot=button]:hover,#uofg-header-main-menu uofg-menu>[slot=button]:focus-visible,#uofg-header-main-menu uofg-menu>[slot=button][aria-expanded=true]{background-color:rgba(0, 0, 0, 0.1)}#uofg-header-main-menu uofg-menu>[slot=button][aria-expanded=true]>svg{transform:rotate(180deg)}#uofg-header-main-menu uofg-menu>[slot=content]{position:relative;box-shadow:none;padding:0}#uofg-header-main-menu uofg-menu>[slot=content]>li>a{padding:0.75rem;border-bottom:1px solid rgba(0, 0, 0, 0.1);transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-main-menu uofg-menu>[slot=content]>li>a:hover,#uofg-header-main-menu uofg-menu>[slot=content]>li>a:focus-visible{background-color:rgba(0, 0, 0, 0.1)}#uofg-header-main-menu uofg-menu.uofg-header-hello-you-menu>[slot=button]{background-color:#ffc72a;color:#000;font-weight:bold}#uofg-header-main-menu uofg-menu.uofg-header-hello-you-menu>[slot=content]{background-color:rgba(0, 0, 0, 0.1);color:#000}#uofg-header-main-menu ul>li>a{padding:0.75rem;width:100%;color:inherit;border-bottom:1px solid rgba(0, 0, 0, 0.1);transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-main-menu ul>li>a:hover,#uofg-header-main-menu ul>li>a:focus-visible,#uofg-header-main-menu ul>li>a[aria-expanded=true]{background-color:rgba(0, 0, 0, 0.1)}.uofg-header-search-menu .uofg-header-search-bar{display:flex;align-items:center;justify-content:center}.uofg-header-search-menu .uofg-header-search-bar>input{flex:1}.uofg-header-search-menu .uofg-header-search-bar>button[type=submit]{width:4rem;height:4rem}#uofg-header-sub-content-container{height:4rem;background-color:#ddd;color:#000;z-index:1}#uofg-header-sub-content-container #uofg-header-page-title{display:flex;align-items:center;margin-right:auto;padding:0 1rem;height:100%;font-weight:bold}#uofg-header-sub-content-container uofg-menu{position:relative;height:100%}#uofg-header-sub-content-container uofg-menu>[slot=button]{color:inherit}#uofg-header-sub-content-container uofg-menu>[slot=button]:hover,#uofg-header-sub-content-container uofg-menu>[slot=button]:focus-visible,#uofg-header-sub-content-container uofg-menu>[slot=button][aria-expanded=true]{background-color:#ffc72a;color:#000}#uofg-header-sub-content-container uofg-menu>[slot=content]{position:absolute;background-color:#ddd;color:#000}#uofg-header-sub-content-container uofg-menu>[slot=content]>li:not(:last-child)>a{border-bottom:1px solid rgba(0, 0, 0, 0.1)}#uofg-header-sub-content-container uofg-menu>[slot=content]>li>a{padding:0.75rem;justify-content:flex-start}#uofg-header-sub-content-container a{display:flex;align-items:center;justify-content:center;height:100%;transition-property:color, background-color;transition-duration:0.2s;transition-timing-function:ease-in-out}#uofg-header-sub-content-container a:hover,#uofg-header-sub-content-container a:focus-visible{background-color:#ffc72a;color:#000}#uofg-header-full-sub-content,#uofg-header-reduced-sub-content{height:100%}#uofg-header-full-sub-content a,#uofg-header-reduced-sub-content a{padding:0 0.5rem}#uofg-header-full-sub-content{height:100%}#uofg-header-full-sub-content>ul{display:flex;align-items:center}#uofg-header-full-sub-content uofg-menu>[slot=button][aria-expanded=true]>svg{transform:rotate(180deg)}#uofg-header-full-sub-content .uofg-header-page-specific{display:flex;height:100%;align-items:center}#uofg-header-reduced-sub-content>uofg-menu{position:static}#uofg-header-reduced-sub-content>uofg-menu>[slot=button]{font-size:2rem;padding:0 1.5rem}#uofg-header-reduced-sub-content>uofg-menu>[slot=content]{background-color:#fff;color:#000;padding:2rem;overflow-y:auto;max-height:calc(100vh - 5rem - 4rem);width:100%}#uofg-header-reduced-sub-content>uofg-menu>[slot=content]>span{display:block;font-size:2.4rem;font-weight:bold;padding:1rem 0}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] a{height:auto;padding:1rem;width:100%;align-items:flex-start;justify-content:flex-start;border-bottom:1px solid rgba(0, 0, 0, 0.1)}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] a:hover,#uofg-header-reduced-sub-content>uofg-menu>[slot=content] a:focus-visible{background-color:rgba(0, 0, 0, 0.1);color:#000}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu{height:auto}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button]{width:100%;padding:1rem;border-bottom:1px solid rgba(0, 0, 0, 0.1)}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button]>svg{margin-left:auto}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button]:hover,#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button]:focus-visible,#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button][aria-expanded=true]{background-color:rgba(0, 0, 0, 0.2);color:#000}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=button][aria-expanded=true]>svg{transform:rotate(180deg)}#uofg-header-reduced-sub-content>uofg-menu>[slot=content] uofg-menu>[slot=content]{position:static;background-color:rgba(0, 0, 0, 0.1);box-shadow:none}";
|
|
225
|
+
|
|
226
|
+
const UofgHeader = class {
|
|
227
|
+
constructor(hostRef) {
|
|
228
|
+
registerInstance(this, hostRef);
|
|
229
|
+
this.pageTitle = '';
|
|
230
|
+
this.pageUrl = '';
|
|
231
|
+
this.isFullSize = false;
|
|
232
|
+
this.pageSpecificContent = undefined;
|
|
233
|
+
}
|
|
234
|
+
connectedCallback() {
|
|
235
|
+
var _a;
|
|
236
|
+
this.updateFullSize();
|
|
237
|
+
this.updatePageSpecificContent();
|
|
238
|
+
(_a = this.observer) !== null && _a !== void 0 ? _a : (this.observer = new MutationObserver(() => {
|
|
239
|
+
this.updatePageSpecificContent();
|
|
240
|
+
}));
|
|
241
|
+
this.observer.observe(this.el, { childList: true });
|
|
242
|
+
}
|
|
243
|
+
updateFullSize() {
|
|
244
|
+
this.isFullSize = window.innerWidth >= 1024;
|
|
245
|
+
}
|
|
246
|
+
updatePageSpecificContent() {
|
|
247
|
+
var _a;
|
|
248
|
+
const aToPageSpecificLink = (a) => {
|
|
249
|
+
const attributes = {};
|
|
250
|
+
a.getAttributeNames()
|
|
251
|
+
.filter((name) => name !== 'href')
|
|
252
|
+
.forEach((name) => (attributes[name] = a.getAttribute(name)));
|
|
253
|
+
return {
|
|
254
|
+
href: a.getAttribute('href'),
|
|
255
|
+
text: a.textContent,
|
|
256
|
+
attributes
|
|
257
|
+
};
|
|
258
|
+
};
|
|
259
|
+
const firstChild = (_a = this.el) === null || _a === void 0 ? void 0 : _a.firstElementChild;
|
|
260
|
+
const root = (firstChild === null || firstChild === void 0 ? void 0 : firstChild.tagName) == 'TEMPLATE' ? firstChild === null || firstChild === void 0 ? void 0 : firstChild.content : this.el;
|
|
261
|
+
this.pageSpecificContent = Array.from(root.children)
|
|
262
|
+
.filter((child) => child.tagName === 'A' || child.tagName === 'UL')
|
|
263
|
+
.map((child) => {
|
|
264
|
+
switch (child.tagName) {
|
|
265
|
+
case 'A':
|
|
266
|
+
return aToPageSpecificLink(child);
|
|
267
|
+
case 'UL':
|
|
268
|
+
return {
|
|
269
|
+
title: child.getAttribute('data-title'),
|
|
270
|
+
links: Array.from(child.querySelectorAll('a')).map(aToPageSpecificLink)
|
|
271
|
+
};
|
|
272
|
+
}
|
|
273
|
+
});
|
|
274
|
+
}
|
|
275
|
+
render() {
|
|
276
|
+
return (h("header", { id: "uofg-header" }, this.isFullSize && (h("div", { id: "uofg-header-top-content-container" }, h("ul", null, h("li", null, h("a", { href: "https://bbis.alumni.uoguelph.ca/BBIS_Cannon/give/uofg" }, "GIVE")), h("li", null, h("a", { href: "/new-header/apply" }, "APPLY")), h("li", null, h("a", { href: "https://news.uoguelph.ca/" }, "NEWS"))), h(HelloYou, { autoCollapse: true }))), h("div", { id: "uofg-header-main-content-container", class: { 'full-height': this.isFullSize } }, h("div", { id: "uofg-header-logo-container" }, this.isFullSize && h("div", { id: "uofg-header-decorative-img", innerHTML: Decoration }), h("a", { id: "uofg-header-logo", href: "https://www.uoguelph.ca", innerHTML: this.isFullSize ? FullSizeLogo : ReducedSizeLogo, "aria-label": "University of Guelph Home Page" })), this.isFullSize ? (h("div", { id: "uofg-header-full-main-content", class: "uofg-header-main-content" }, h(GlobalLinks, null), h("a", { href: "https://intranet.uoguelph.ca", "aria-label": "Intranet" }, h(FontAwesomeIcon, { icon: faRightToBracket })), h("uofg-menu", { class: "uofg-header-search-menu", "auto-collapse": true }, h("button", { slot: "button", "aria-label": "Search Menu" }, h(FontAwesomeIcon, { icon: faSearch })), h("div", { slot: "content" }, h("span", null, "Search the University of Guelph"), h(SearchBar, null))))) : (h("div", { id: "uofg-header-reduced-main-content", class: "uofg-header-main-content" }, h("a", { href: "https://intranet.uoguelph.ca", "aria-label": "Intranet" }, h(FontAwesomeIcon, { icon: faRightToBracket })), h("uofg-menu", { class: "uofg-header-search-menu", "auto-collapse": true }, h("button", { slot: "button", "aria-label": "Search Menu" }, h(FontAwesomeIcon, { icon: faSearch })), h("div", { slot: "content" }, h("span", null, "Search the University of Guelph"), h(SearchBar, null))), h("uofg-menu", { id: "uofg-header-main-menu", "auto-collapse": true }, h("button", { slot: "button", "aria-label": "Main Menu" }, h(FontAwesomeIcon, { icon: faBars })), h("div", { slot: "content" }, h("span", null, "University of Guelph"), h(GlobalLinks, null), h(HelloYou, { autoCollapse: false })))))), this.pageSpecificContent.length > 0 && (h("div", { id: "uofg-header-sub-content-container" }, this.pageTitle &&
|
|
277
|
+
(this.pageUrl ? (h("a", { id: "uofg-header-page-title", href: this.pageUrl }, this.pageTitle)) : (h("span", { id: "uofg-header-page-title" }, this.pageTitle))), this.isFullSize ? (h("div", { id: "uofg-header-full-sub-content", class: "uofg-header-sub-content" }, h(PageSpecific, { content: this.pageSpecificContent, autoCollapseMenus: true }))) : (h("div", { id: "uofg-header-reduced-sub-content", class: "uofg-header-sub-content" }, h("uofg-menu", { id: "uofg-header-sub-menu", "auto-collapse": true }, h("button", { slot: "button", "aria-label": this.pageTitle + ' Menu' }, h(FontAwesomeIcon, { icon: faBars })), h("div", { slot: "content" }, h(PageSpecific, { content: this.pageSpecificContent })))))))));
|
|
278
|
+
}
|
|
279
|
+
get el() { return getElement(this); }
|
|
280
|
+
};
|
|
281
|
+
UofgHeader.style = uofgHeaderCss;
|
|
282
|
+
|
|
283
|
+
const WEB_ANIMATIONS_SUPPORTED = 'animate' in HTMLElement.prototype;
|
|
284
|
+
const PREFERS_REDUCED_MOTION = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
|
|
285
|
+
|
|
286
|
+
const DURATION_REGEX = /^(\d*\.?\d+)(s|ms)$/;
|
|
287
|
+
const EASING_FUNCTION_REGEX = /^cubic-bezier\((\s*-?\d*\.?\d+\s*,){3}\s*-?\d*\.?\d+\s*\)$|^steps\(\s*\d+\s*(,\s*(start|end))?\s*\)$/;
|
|
288
|
+
const observer = new MutationObserver((mutations) => {
|
|
289
|
+
for (const mutation of mutations) {
|
|
290
|
+
mutation.target.dispatchEvent(new CustomEvent('childListChange', { bubbles: false }));
|
|
291
|
+
}
|
|
292
|
+
});
|
|
293
|
+
const observerConfig = {
|
|
294
|
+
childList: true
|
|
295
|
+
};
|
|
296
|
+
const UofgMenu = class {
|
|
297
|
+
constructor(hostRef) {
|
|
298
|
+
registerInstance(this, hostRef);
|
|
299
|
+
this.expanded = createEvent(this, "expanded", 2);
|
|
300
|
+
this.collapsed = createEvent(this, "collapsed", 2);
|
|
301
|
+
this.animationStarted = createEvent(this, "animationStarted", 2);
|
|
302
|
+
this.animationEnded = createEvent(this, "animationEnded", 2);
|
|
303
|
+
this.computedStyle = null;
|
|
304
|
+
this.button = null;
|
|
305
|
+
this.content = null;
|
|
306
|
+
this.contentComputedStyle = null;
|
|
307
|
+
this.isExpanded = false;
|
|
308
|
+
this.autoCollapse = false;
|
|
309
|
+
}
|
|
310
|
+
connectedCallback() {
|
|
311
|
+
// Bind functions so that "this" correctly refers to the component's instance.
|
|
312
|
+
this.handleChildListChange = this.handleChildListChange.bind(this);
|
|
313
|
+
this.updateButton = this.updateButton.bind(this);
|
|
314
|
+
this.updateContent = this.updateContent.bind(this);
|
|
315
|
+
this.handleButtonClick = this.handleButtonClick.bind(this);
|
|
316
|
+
this.handleFocusout = this.handleFocusout.bind(this);
|
|
317
|
+
this.computedStyle = window.getComputedStyle(this.el);
|
|
318
|
+
this.isExpanded = false;
|
|
319
|
+
this.handleChildListChange();
|
|
320
|
+
observer.observe(this.el, observerConfig);
|
|
321
|
+
}
|
|
322
|
+
handleChildListChange() {
|
|
323
|
+
this.updateButton();
|
|
324
|
+
this.updateContent();
|
|
325
|
+
}
|
|
326
|
+
updateButton() {
|
|
327
|
+
var _a, _b, _c;
|
|
328
|
+
const button = this.el.querySelector('[slot="button"]');
|
|
329
|
+
// Clean up the old button before setting the new one
|
|
330
|
+
(_a = this.button) === null || _a === void 0 ? void 0 : _a.removeEventListener('click', this.handleButtonClick);
|
|
331
|
+
(_b = this.button) === null || _b === void 0 ? void 0 : _b.removeAttribute('aria-expanded');
|
|
332
|
+
(_c = this.button) === null || _c === void 0 ? void 0 : _c.removeAttribute('aria-haspopup');
|
|
333
|
+
// Set up the new button
|
|
334
|
+
button === null || button === void 0 ? void 0 : button.setAttribute('aria-expanded', this.isExpanded ? 'true' : 'false');
|
|
335
|
+
button === null || button === void 0 ? void 0 : button.setAttribute('aria-haspopup', 'true');
|
|
336
|
+
button === null || button === void 0 ? void 0 : button.addEventListener('click', this.handleButtonClick);
|
|
337
|
+
this.button = button;
|
|
338
|
+
}
|
|
339
|
+
updateContent() {
|
|
340
|
+
const content = this.el.querySelector('[slot="content"]');
|
|
341
|
+
if (content == null) {
|
|
342
|
+
this.content = null;
|
|
343
|
+
this.contentComputedStyle = null;
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
this.content = content;
|
|
347
|
+
this.content.style.display = this.isExpanded ? '' : 'none';
|
|
348
|
+
this.contentComputedStyle = window.getComputedStyle(this.content);
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
handleButtonClick() {
|
|
352
|
+
this.isExpanded = !this.isExpanded;
|
|
353
|
+
}
|
|
354
|
+
handleFocusout(e) {
|
|
355
|
+
if (this.autoCollapse && !this.el.contains(e.relatedTarget)) {
|
|
356
|
+
this.isExpanded = false;
|
|
357
|
+
}
|
|
358
|
+
}
|
|
359
|
+
handleIsExpandedChange(newValue) {
|
|
360
|
+
var _a, _b, _c;
|
|
361
|
+
(_a = this.button) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', newValue ? 'true' : 'false');
|
|
362
|
+
newValue ? this.expanded.emit() : this.collapsed.emit();
|
|
363
|
+
// No content is slotted, so we don't need to do anything else.
|
|
364
|
+
if (this.content == null) {
|
|
365
|
+
return;
|
|
366
|
+
}
|
|
367
|
+
// Determine what animation type the user wants.
|
|
368
|
+
const type = this.getAnimationType();
|
|
369
|
+
// If Web Animations API isn't supported, or the user requested no animation, we can simply set display style
|
|
370
|
+
if (!WEB_ANIMATIONS_SUPPORTED || PREFERS_REDUCED_MOTION || type === 'none') {
|
|
371
|
+
this.content.style.display = newValue ? '' : 'none';
|
|
372
|
+
return;
|
|
373
|
+
}
|
|
374
|
+
// Check if we are in the middle of an animation.
|
|
375
|
+
const animations = (_b = this.content) === null || _b === void 0 ? void 0 : _b.getAnimations().filter((animation) => animation.id === 'uofg-menu-animation');
|
|
376
|
+
// If we are, then we want to reverse the existing one rather than starting a new animation.
|
|
377
|
+
if (animations.length > 0) {
|
|
378
|
+
animations === null || animations === void 0 ? void 0 : animations.forEach((animation) => animation.reverse());
|
|
379
|
+
return;
|
|
380
|
+
}
|
|
381
|
+
let animationDef;
|
|
382
|
+
const options = {
|
|
383
|
+
id: 'uofg-menu-animation',
|
|
384
|
+
duration: this.getAnimationDuration(),
|
|
385
|
+
fill: 'none',
|
|
386
|
+
easing: this.getAnimationEasing(),
|
|
387
|
+
direction: newValue ? 'normal' : 'reverse'
|
|
388
|
+
};
|
|
389
|
+
// Need to remove display none, otherwise keyframe values won't be calculated correctly.
|
|
390
|
+
this.content.style.display = '';
|
|
391
|
+
switch (type) {
|
|
392
|
+
case 'fade':
|
|
393
|
+
animationDef = this.fadeAnimation();
|
|
394
|
+
break;
|
|
395
|
+
case 'slide':
|
|
396
|
+
animationDef = this.slideAnimation();
|
|
397
|
+
break;
|
|
398
|
+
default:
|
|
399
|
+
animationDef = this.fadeAnimation();
|
|
400
|
+
}
|
|
401
|
+
// We can start the animation.
|
|
402
|
+
this.animationStarted.emit(newValue);
|
|
403
|
+
(_c = this.content) === null || _c === void 0 ? void 0 : _c.animate(animationDef.keyframes, options).finished.finally(() => {
|
|
404
|
+
var _a;
|
|
405
|
+
// Once the animation is done (or something went wrong during it), we update the content's display style.
|
|
406
|
+
if (this.content) {
|
|
407
|
+
this.content.style.display = this.isExpanded ? '' : 'none';
|
|
408
|
+
(_a = animationDef.callback) === null || _a === void 0 ? void 0 : _a.call(animationDef);
|
|
409
|
+
this.animationEnded.emit(this.isExpanded);
|
|
410
|
+
}
|
|
411
|
+
});
|
|
412
|
+
}
|
|
413
|
+
getAnimationType() {
|
|
414
|
+
var _a;
|
|
415
|
+
const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-type')) || '';
|
|
416
|
+
switch (str) {
|
|
417
|
+
case 'slide':
|
|
418
|
+
case 'fade':
|
|
419
|
+
return str;
|
|
420
|
+
default:
|
|
421
|
+
return 'none';
|
|
422
|
+
}
|
|
423
|
+
}
|
|
424
|
+
getAnimationDuration() {
|
|
425
|
+
var _a;
|
|
426
|
+
const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-duration')) || '';
|
|
427
|
+
const matches = DURATION_REGEX.exec(str);
|
|
428
|
+
if (matches == null) {
|
|
429
|
+
return 200;
|
|
430
|
+
}
|
|
431
|
+
return Number.parseFloat(matches[1]) * (matches[2] == 's' ? 1000 : 1);
|
|
432
|
+
}
|
|
433
|
+
getAnimationEasing() {
|
|
434
|
+
var _a;
|
|
435
|
+
const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-easing')) || '';
|
|
436
|
+
switch (str) {
|
|
437
|
+
case 'linear':
|
|
438
|
+
case 'ease':
|
|
439
|
+
case 'ease-in':
|
|
440
|
+
case 'ease-out':
|
|
441
|
+
case 'ease-in-out':
|
|
442
|
+
case 'step-start':
|
|
443
|
+
case 'step-end':
|
|
444
|
+
return str;
|
|
445
|
+
default:
|
|
446
|
+
return EASING_FUNCTION_REGEX.test(str) ? str : 'ease-in-out';
|
|
447
|
+
}
|
|
448
|
+
}
|
|
449
|
+
fadeAnimation() {
|
|
450
|
+
return { keyframes: [{ opacity: 0 }, { opacity: 1 }] };
|
|
451
|
+
}
|
|
452
|
+
slideAnimation() {
|
|
453
|
+
var _a, _b, _c, _d, _e;
|
|
454
|
+
this.content && (this.content.style.overflowY = 'hidden');
|
|
455
|
+
return {
|
|
456
|
+
keyframes: [
|
|
457
|
+
{
|
|
458
|
+
height: 0,
|
|
459
|
+
paddingTop: 0,
|
|
460
|
+
paddingBottom: 0,
|
|
461
|
+
marginTop: 0,
|
|
462
|
+
marginBottom: 0
|
|
463
|
+
},
|
|
464
|
+
{
|
|
465
|
+
height: ((_a = this.contentComputedStyle) === null || _a === void 0 ? void 0 : _a.height) || 0,
|
|
466
|
+
paddingTop: ((_b = this.contentComputedStyle) === null || _b === void 0 ? void 0 : _b.paddingTop) || 0,
|
|
467
|
+
paddingBottom: ((_c = this.contentComputedStyle) === null || _c === void 0 ? void 0 : _c.paddingBottom) || 0,
|
|
468
|
+
marginTop: ((_d = this.contentComputedStyle) === null || _d === void 0 ? void 0 : _d.marginTop) || 0,
|
|
469
|
+
marginBottom: ((_e = this.contentComputedStyle) === null || _e === void 0 ? void 0 : _e.marginBottom) || 0
|
|
470
|
+
}
|
|
471
|
+
],
|
|
472
|
+
callback: () => {
|
|
473
|
+
this.content && (this.content.style.overflowY = '');
|
|
474
|
+
}
|
|
475
|
+
};
|
|
476
|
+
}
|
|
477
|
+
render() {
|
|
478
|
+
return h(Host, { tabindex: -1, "data-expanded": this.isExpanded, onFocusout: this.handleFocusout });
|
|
479
|
+
}
|
|
480
|
+
/**
|
|
481
|
+
* Get the current expanded state of the menu.
|
|
482
|
+
* @returns A promise which will resolve to the current expanded state.
|
|
483
|
+
*/
|
|
484
|
+
async getExpanded() {
|
|
485
|
+
return this.isExpanded;
|
|
486
|
+
}
|
|
487
|
+
/**
|
|
488
|
+
* Set the expanded state of the menu.
|
|
489
|
+
* @param value The new expanded state.
|
|
490
|
+
*/
|
|
491
|
+
async setExpanded(value) {
|
|
492
|
+
this.isExpanded = value;
|
|
493
|
+
}
|
|
494
|
+
/**
|
|
495
|
+
* Toggle the expanded state of the menu.
|
|
496
|
+
* @returns A promise which will resolve to the new expanded state.
|
|
497
|
+
*/
|
|
498
|
+
async toggle() {
|
|
499
|
+
this.isExpanded = !this.isExpanded;
|
|
500
|
+
return this.isExpanded;
|
|
501
|
+
}
|
|
502
|
+
/**
|
|
503
|
+
* Collapse the menu. This is the same as setting the expanded state to false.
|
|
504
|
+
* @returns empty Promise.
|
|
505
|
+
*/
|
|
506
|
+
async collapse() {
|
|
507
|
+
this.isExpanded = false;
|
|
508
|
+
}
|
|
509
|
+
/**
|
|
510
|
+
* Expand the menu. This is the same as setting the expanded state to true.
|
|
511
|
+
* @returns empty Promise.
|
|
512
|
+
*/
|
|
513
|
+
async expand() {
|
|
514
|
+
this.isExpanded = true;
|
|
515
|
+
}
|
|
516
|
+
get el() { return getElement(this); }
|
|
517
|
+
static get watchers() { return {
|
|
518
|
+
"isExpanded": ["handleIsExpandedChange"]
|
|
519
|
+
}; }
|
|
520
|
+
};
|
|
521
|
+
|
|
522
|
+
export { UofgFooter as uofg_footer, UofgHeader as uofg_header, UofgMenu as uofg_menu };
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { p as promiseResolve, b as bootstrapLazy } from './index-48bb3110.js';
|
|
2
|
+
export { s as setNonce } from './index-48bb3110.js';
|
|
3
|
+
|
|
4
|
+
/*
|
|
5
|
+
Stencil Client Patch Browser v3.4.0 | MIT Licensed | https://stenciljs.com
|
|
6
|
+
*/
|
|
7
|
+
const patchBrowser = () => {
|
|
8
|
+
const importMeta = import.meta.url;
|
|
9
|
+
const opts = {};
|
|
10
|
+
// TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
|
|
11
|
+
if (importMeta !== '') {
|
|
12
|
+
opts.resourcesUrl = new URL('.', importMeta).href;
|
|
13
|
+
// TODO(STENCIL-661): Remove code related to the dynamic import shim
|
|
14
|
+
// TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
|
|
15
|
+
}
|
|
16
|
+
return promiseResolve(opts);
|
|
17
|
+
};
|
|
18
|
+
|
|
19
|
+
patchBrowser().then(options => {
|
|
20
|
+
return bootstrapLazy([["uofg-footer_3",[[1,"uofg-header",{"pageTitle":[1,"page-title"],"pageUrl":[1,"page-url"],"isFullSize":[32],"pageSpecificContent":[32]},[[9,"resize","updateFullSize"]]],[1,"uofg-footer"],[0,"uofg-menu",{"autoCollapse":[4,"auto-collapse"],"isExpanded":[32],"getExpanded":[64],"setExpanded":[64],"toggle":[64],"collapse":[64],"expand":[64]},[[0,"onChildListChange","handleChildListChange"]]]]]], options);
|
|
21
|
+
});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
module.exports = require('./cjs/index.cjs.js');
|
package/dist/index.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from './esm/index.js';
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
export * from '../types/components';
|
|
2
|
+
export interface CustomElementsDefineOptions {
|
|
3
|
+
exclude?: string[];
|
|
4
|
+
resourcesUrl?: string;
|
|
5
|
+
syncQueue?: boolean;
|
|
6
|
+
jmp?: (c: Function) => any;
|
|
7
|
+
raf?: (c: FrameRequestCallback) => number;
|
|
8
|
+
ael?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
9
|
+
rel?: (el: EventTarget, eventName: string, listener: EventListenerOrEventListenerObject, options: boolean | AddEventListenerOptions) => void;
|
|
10
|
+
}
|
|
11
|
+
export declare function defineCustomElements(win?: Window, opts?: CustomElementsDefineOptions): Promise<void>;
|
|
12
|
+
export declare function applyPolyfills(): Promise<void>;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Used to specify a nonce value that corresponds with an application's CSP.
|
|
16
|
+
* When set, the nonce will be added to all dynamically created script and style tags at runtime.
|
|
17
|
+
* Alternatively, the nonce value can be set on a meta tag in the DOM head
|
|
18
|
+
* (<meta name="csp-nonce" content="{ nonce value here }" />) which
|
|
19
|
+
* will result in the same behavior.
|
|
20
|
+
*/
|
|
21
|
+
export declare function setNonce(nonce: string): void;
|