@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.
Files changed (76) hide show
  1. package/README.md +4 -0
  2. package/dist/cjs/index-160752dd.js +1825 -0
  3. package/dist/cjs/index.cjs.js +2 -0
  4. package/dist/cjs/loader.cjs.js +22 -0
  5. package/dist/cjs/uofg-footer_3.cjs.entry.js +528 -0
  6. package/dist/cjs/uofg-web-components.cjs.js +26 -0
  7. package/dist/collection/collection-manifest.json +14 -0
  8. package/dist/collection/components/uofg-footer/footer-links.js +5 -0
  9. package/dist/collection/components/uofg-footer/improve-life.svg +4 -0
  10. package/dist/collection/components/uofg-footer/social-links.js +5 -0
  11. package/dist/collection/components/uofg-footer/uofg-footer.css +173 -0
  12. package/dist/collection/components/uofg-footer/uofg-footer.js +23 -0
  13. package/dist/collection/components/uofg-header/decoration.svg +1 -0
  14. package/dist/collection/components/uofg-header/global-links.js +2 -0
  15. package/dist/collection/components/uofg-header/hello-you.js +4 -0
  16. package/dist/collection/components/uofg-header/logo-full-size.svg +1 -0
  17. package/dist/collection/components/uofg-header/logo-reduced-size.svg +1 -0
  18. package/dist/collection/components/uofg-header/page-specific.js +15 -0
  19. package/dist/collection/components/uofg-header/search.js +4 -0
  20. package/dist/collection/components/uofg-header/single-sign-on.js +2 -0
  21. package/dist/collection/components/uofg-header/uofg-header.css +548 -0
  22. package/dist/collection/components/uofg-header/uofg-header.js +131 -0
  23. package/dist/collection/components/uofg-menu/uofg-menu.js +440 -0
  24. package/dist/collection/index.js +1 -0
  25. package/dist/collection/utils/feature-check.js +2 -0
  26. package/dist/collection/utils/font-awesome-icon.js +7 -0
  27. package/dist/components/index.d.ts +36 -0
  28. package/dist/components/index.js +4 -0
  29. package/dist/components/index2.js +82 -0
  30. package/dist/components/uofg-footer.d.ts +11 -0
  31. package/dist/components/uofg-footer.js +100 -0
  32. package/dist/components/uofg-header.d.ts +11 -0
  33. package/dist/components/uofg-header.js +156 -0
  34. package/dist/components/uofg-menu.d.ts +11 -0
  35. package/dist/components/uofg-menu.js +6 -0
  36. package/dist/components/uofg-menu2.js +264 -0
  37. package/dist/esm/index-48bb3110.js +1796 -0
  38. package/dist/esm/index.js +1 -0
  39. package/dist/esm/loader.js +18 -0
  40. package/dist/esm/polyfills/core-js.js +11 -0
  41. package/dist/esm/polyfills/css-shim.js +1 -0
  42. package/dist/esm/polyfills/dom.js +79 -0
  43. package/dist/esm/polyfills/es5-html-element.js +1 -0
  44. package/dist/esm/polyfills/index.js +34 -0
  45. package/dist/esm/polyfills/system.js +6 -0
  46. package/dist/esm/uofg-footer_3.entry.js +522 -0
  47. package/dist/esm/uofg-web-components.js +21 -0
  48. package/dist/index.cjs.js +1 -0
  49. package/dist/index.js +1 -0
  50. package/dist/loader/cdn.js +3 -0
  51. package/dist/loader/index.cjs.js +3 -0
  52. package/dist/loader/index.d.ts +21 -0
  53. package/dist/loader/index.es2017.js +3 -0
  54. package/dist/loader/index.js +4 -0
  55. package/dist/loader/package.json +11 -0
  56. package/dist/types/components/uofg-footer/footer-links.d.ts +2 -0
  57. package/dist/types/components/uofg-footer/social-links.d.ts +2 -0
  58. package/dist/types/components/uofg-footer/uofg-footer.d.ts +3 -0
  59. package/dist/types/components/uofg-header/global-links.d.ts +2 -0
  60. package/dist/types/components/uofg-header/hello-you.d.ts +6 -0
  61. package/dist/types/components/uofg-header/page-specific.d.ts +17 -0
  62. package/dist/types/components/uofg-header/search.d.ts +2 -0
  63. package/dist/types/components/uofg-header/single-sign-on.d.ts +2 -0
  64. package/dist/types/components/uofg-header/uofg-header.d.ts +19 -0
  65. package/dist/types/components/uofg-menu/uofg-menu.d.ts +67 -0
  66. package/dist/types/components.d.ts +132 -0
  67. package/dist/types/index.d.ts +1 -0
  68. package/dist/types/stencil-public-runtime.d.ts +1640 -0
  69. package/dist/types/utils/feature-check.d.ts +2 -0
  70. package/dist/types/utils/font-awesome-icon.d.ts +5 -0
  71. package/dist/uofg-web-components/index.esm.js +0 -0
  72. package/dist/uofg-web-components/p-24bd712c.entry.js +1 -0
  73. package/dist/uofg-web-components/p-b6a9700a.js +2 -0
  74. package/dist/uofg-web-components/uofg-web-components.css +1 -0
  75. package/dist/uofg-web-components/uofg-web-components.esm.js +1 -0
  76. package/package.json +51 -0
@@ -0,0 +1,2 @@
1
+ 'use strict';
2
+
@@ -0,0 +1,22 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-160752dd.js');
6
+
7
+ /*
8
+ Stencil Client Patch Esm v3.4.0 | MIT Licensed | https://stenciljs.com
9
+ */
10
+ const patchEsm = () => {
11
+ return index.promiseResolve();
12
+ };
13
+
14
+ const defineCustomElements = (win, options) => {
15
+ if (typeof window === 'undefined') return Promise.resolve();
16
+ return patchEsm().then(() => {
17
+ return index.bootstrapLazy([["uofg-footer_3.cjs",[[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);
18
+ });
19
+ };
20
+
21
+ exports.setNonce = index.setNonce;
22
+ exports.defineCustomElements = defineCustomElements;
@@ -0,0 +1,528 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-160752dd.js');
6
+
7
+ const FontAwesomeIcon = (props) => {
8
+ const width = props.icon.icon[0];
9
+ const height = props.icon.icon[1];
10
+ const iconPathData = props.icon.icon[4];
11
+ return (index.h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: `0 0 ${width} ${height}` }, Array.isArray(iconPathData) ? (iconPathData.map((path) => index.h("path", { d: path }))) : (index.h("path", { d: iconPathData }))));
12
+ };
13
+
14
+ var faSquareTwitter = {
15
+ prefix: 'fab',
16
+ iconName: 'square-twitter',
17
+ 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"]
18
+ };
19
+ var faTwitterSquare = faSquareTwitter;
20
+ var faTiktok = {
21
+ prefix: 'fab',
22
+ iconName: 'tiktok',
23
+ 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"]
24
+ };
25
+ var faSquareFacebook = {
26
+ prefix: 'fab',
27
+ iconName: 'square-facebook',
28
+ 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"]
29
+ };
30
+ var faFacebookSquare = faSquareFacebook;
31
+ var faLinkedin = {
32
+ prefix: 'fab',
33
+ iconName: 'linkedin',
34
+ 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"]
35
+ };
36
+ var faInstagram = {
37
+ prefix: 'fab',
38
+ iconName: 'instagram',
39
+ 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"]
40
+ };
41
+ var faYoutube = {
42
+ prefix: 'fab',
43
+ iconName: 'youtube',
44
+ 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"]
45
+ };
46
+
47
+ const SocialLink = (props) => (index.h("li", null,
48
+ index.h("a", { href: props.url, "aria-label": props.name },
49
+ index.h(FontAwesomeIcon, { icon: props.icon }))));
50
+ const SocialLinks = () => (index.h("ul", { id: "uofg-footer-social-links" },
51
+ index.h(SocialLink, { name: "Twitter", url: "https://twitter.com/uofg", icon: faTwitterSquare }),
52
+ index.h(SocialLink, { name: "Facebook", url: "https://www.facebook.com/uofguelph", icon: faFacebookSquare }),
53
+ index.h(SocialLink, { name: "Instagram", url: "https://www.instagram.com/uofguelph/", icon: faInstagram }),
54
+ index.h(SocialLink, { name: "Youtube", url: "https://www.youtube.com/user/uofguelph", icon: faYoutube }),
55
+ index.h(SocialLink, { name: "LinkedIn", url: "https://www.linkedin.com/school/university-of-guelph/", icon: faLinkedin }),
56
+ index.h(SocialLink, { name: "TikTok", url: "https://www.tiktok.com/@uofguelph", icon: faTiktok })));
57
+
58
+ var faTrees = {
59
+ prefix: 'fas',
60
+ iconName: 'trees',
61
+ 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"]
62
+ };
63
+ var faBars = {
64
+ prefix: 'fas',
65
+ iconName: 'bars',
66
+ 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"]
67
+ };
68
+ var faSitemap = {
69
+ prefix: 'fas',
70
+ iconName: 'sitemap',
71
+ 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"]
72
+ };
73
+ var faList = {
74
+ prefix: 'fas',
75
+ iconName: 'list',
76
+ 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"]
77
+ };
78
+ var faKey = {
79
+ prefix: 'fas',
80
+ iconName: 'key',
81
+ 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"]
82
+ };
83
+ var faRightToBracket = {
84
+ prefix: 'fas',
85
+ iconName: 'right-to-bracket',
86
+ 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"]
87
+ };
88
+ var faCalendarRange = {
89
+ prefix: 'fas',
90
+ iconName: 'calendar-range',
91
+ 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"]
92
+ };
93
+ var faCircleCheck = {
94
+ prefix: 'fas',
95
+ iconName: 'circle-check',
96
+ 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"]
97
+ };
98
+ var faUniversalAccess = {
99
+ prefix: 'fas',
100
+ iconName: 'universal-access',
101
+ 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"]
102
+ };
103
+ var faHandHoldingHeart = {
104
+ prefix: 'fas',
105
+ iconName: 'hand-holding-heart',
106
+ 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"]
107
+ };
108
+ var faPhoneFlip = {
109
+ prefix: 'fas',
110
+ iconName: 'phone-flip',
111
+ 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"]
112
+ };
113
+ var faCaretDown = {
114
+ prefix: 'fas',
115
+ iconName: 'caret-down',
116
+ 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"]
117
+ };
118
+ var faMagnifyingGlass = {
119
+ prefix: 'fas',
120
+ iconName: 'magnifying-glass',
121
+ 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"]
122
+ };
123
+ var faSearch = faMagnifyingGlass;
124
+ var faBriefcase = {
125
+ prefix: 'fas',
126
+ iconName: 'briefcase',
127
+ 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"]
128
+ };
129
+
130
+ const FooterLink = (props) => (index.h("li", null,
131
+ index.h("a", { href: props.url, title: props.title },
132
+ index.h(FontAwesomeIcon, { icon: props.icon }),
133
+ index.h("span", null, props.text))));
134
+ const FooterLinks = () => (index.h("ul", { id: "uofg-footer-links", class: "uofg-footer-content-separator" },
135
+ index.h(FooterLink, { text: "Accessibility", url: "https://www.uoguelph.ca/diversity-human-rights/accessibility-u-g", icon: faUniversalAccess }),
136
+ index.h(FooterLink, { text: "Privacy", url: "https://www.uoguelph.ca/web/privacy/", icon: faKey }),
137
+ index.h(FooterLink, { text: "Site Map", url: "https://www.uoguelph.ca/site-map/", icon: faSitemap }),
138
+ index.h(FooterLink, { text: "Status Page", url: "https://uoguelph.statuspage.io/", icon: faCircleCheck }),
139
+ index.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." }),
140
+ index.h(FooterLink, { text: "Careers", url: "https://www.uoguelph.ca/hr/careers-guelph/current-opportunities", icon: faBriefcase }),
141
+ index.h(FooterLink, { text: "Undergraduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/undergraduate/current/", icon: faCalendarRange }),
142
+ index.h(FooterLink, { text: "Graduate Calendar", url: "https://www.uoguelph.ca/registrar/calendars/graduate/current/", icon: faCalendarRange }),
143
+ index.h(FooterLink, { text: "Program Plans", url: "https://admission.uoguelph.ca/programs", icon: faList }),
144
+ index.h(FooterLink, { text: "Give to U of G", url: "https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give", icon: faHandHoldingHeart })));
145
+
146
+ const improveLifeLogo = `<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" viewBox="0 0 107.4 12">
147
+ <path
148
+ 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"/>
149
+ </svg>
150
+ `;
151
+
152
+ 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}}";
153
+
154
+ const UofgFooter = class {
155
+ constructor(hostRef) {
156
+ index.registerInstance(this, hostRef);
157
+ }
158
+ render() {
159
+ return (index.h("footer", { id: "uofg-footer" }, index.h("div", { id: "uofg-footer-content" }, index.h("div", { id: "uofg-footer-social", class: "uofg-footer-content-separator" }, index.h("a", { id: "uofg-footer-improve-life", href: "//www.uoguelph.ca/improve-life", "aria-label": "Improve Life", innerHTML: improveLifeLogo }), index.h(SocialLinks, null), index.h("a", { href: "https://www.uoguelph.ca/web/socialmedia/" }, "Social Media Directory"), index.h("a", { href: "//www.uoguelph.ca/web/" }, "\u00A9 ", new Date().getFullYear(), " University of Guelph")), index.h(FooterLinks, null), index.h("address", { id: "uofg-footer-address", class: "uofg-footer-content-separator" }, index.h("strong", null, "University of Guelph"), index.h("span", null, "50 Stone Road East,"), index.h("span", null, "Guelph, Ontario, Canada"), index.h("span", null, "N1G 2W1"), index.h("a", { href: "tel:1-519-824-4120" }, index.h(FontAwesomeIcon, { icon: faPhoneFlip }), index.h("span", null, "519-824-4120"))))));
160
+ }
161
+ };
162
+ UofgFooter.style = uofgFooterCss;
163
+
164
+ const PageSpecific = (props) => {
165
+ var _a;
166
+ return (index.h("ul", { class: "uofg-header-page-specific" }, (_a = props.content) === null || _a === void 0 ? void 0 : _a.map((item) => {
167
+ if (!item) {
168
+ return null;
169
+ }
170
+ if ('text' in item) {
171
+ return (index.h("li", null,
172
+ index.h("a", Object.assign({ href: item.href }, item.attributes), item.text)));
173
+ }
174
+ return (index.h("li", null,
175
+ index.h("uofg-menu", { autoCollapse: props.autoCollapseMenus },
176
+ index.h("button", { slot: "button" },
177
+ index.h("span", null, item.title),
178
+ index.h(FontAwesomeIcon, { icon: faCaretDown })),
179
+ index.h("ul", { slot: "content", role: "menu" }, item.links.map((link) => (index.h("li", null,
180
+ index.h("a", Object.assign({ href: link.href }, link.attributes), link.text))))))));
181
+ }).filter(Boolean)));
182
+ };
183
+
184
+ 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>`;
185
+
186
+ 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>`;
187
+
188
+ 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>`;
189
+
190
+ const GlobalLinks = () => (index.h("ul", { class: "uofg-header-global-links" },
191
+ index.h("li", null,
192
+ index.h("a", { href: "/new-header/about" }, "About")),
193
+ index.h("li", null,
194
+ index.h("a", { href: "/new-header/academics" }, "Academics")),
195
+ index.h("li", null,
196
+ index.h("a", { href: "/new-header/admissions" }, "Admissions")),
197
+ index.h("li", null,
198
+ index.h("a", { href: "/new-header/research" }, "Research")),
199
+ index.h("li", null,
200
+ index.h("a", { href: "/new-header/student-life" }, "Student Life"))));
201
+
202
+ const HelloYou = (props) => (index.h("uofg-menu", { class: "uofg-header-hello-you-menu", "auto-collapse": props.autoCollapse },
203
+ index.h("button", { slot: "button" },
204
+ index.h("span", null, "Hello, YOU!"),
205
+ index.h(FontAwesomeIcon, { icon: faCaretDown })),
206
+ index.h("ul", { slot: "content" },
207
+ index.h("li", null,
208
+ index.h("a", { href: "/new-header/future-students" }, "Future Students")),
209
+ index.h("li", null,
210
+ index.h("a", { href: "/new-header/current-students" }, "Current Students")),
211
+ index.h("li", null,
212
+ index.h("a", { href: "/new-header/alumni-and-donors" }, "Alumni & Donors")),
213
+ index.h("li", null,
214
+ index.h("a", { href: "/new-header/staff-and-faculty" }, "Staff & Faculty")),
215
+ index.h("li", null,
216
+ index.h("a", { href: "/new-header/parents-and-visitors" }, "Parents & Visitors")),
217
+ index.h("li", null,
218
+ index.h("a", { href: "/new-header/employers-and-partners" }, "Employers & Partners")))));
219
+
220
+ const SearchBar = () => (index.h("form", { class: "uofg-header-search-bar", method: "get", role: "search", action: "https://uoguelph.ca/search/" },
221
+ index.h("input", { type: "text", name: "q" }),
222
+ index.h("input", { type: "hidden", name: "cx", value: "002616817380988741256:tp3ks5ha2dw" }),
223
+ index.h("input", { type: "hidden", name: "cof", value: "FORID:11" }),
224
+ index.h("input", { type: "hidden", name: "ie", value: "UTF-8" }),
225
+ index.h("button", { class: "uofg-search-bar-button", "aria-label": "Search", type: "submit" },
226
+ index.h(FontAwesomeIcon, { icon: faSearch }))));
227
+
228
+ 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}";
229
+
230
+ const UofgHeader = class {
231
+ constructor(hostRef) {
232
+ index.registerInstance(this, hostRef);
233
+ this.pageTitle = '';
234
+ this.pageUrl = '';
235
+ this.isFullSize = false;
236
+ this.pageSpecificContent = undefined;
237
+ }
238
+ connectedCallback() {
239
+ var _a;
240
+ this.updateFullSize();
241
+ this.updatePageSpecificContent();
242
+ (_a = this.observer) !== null && _a !== void 0 ? _a : (this.observer = new MutationObserver(() => {
243
+ this.updatePageSpecificContent();
244
+ }));
245
+ this.observer.observe(this.el, { childList: true });
246
+ }
247
+ updateFullSize() {
248
+ this.isFullSize = window.innerWidth >= 1024;
249
+ }
250
+ updatePageSpecificContent() {
251
+ var _a;
252
+ const aToPageSpecificLink = (a) => {
253
+ const attributes = {};
254
+ a.getAttributeNames()
255
+ .filter((name) => name !== 'href')
256
+ .forEach((name) => (attributes[name] = a.getAttribute(name)));
257
+ return {
258
+ href: a.getAttribute('href'),
259
+ text: a.textContent,
260
+ attributes
261
+ };
262
+ };
263
+ const firstChild = (_a = this.el) === null || _a === void 0 ? void 0 : _a.firstElementChild;
264
+ const root = (firstChild === null || firstChild === void 0 ? void 0 : firstChild.tagName) == 'TEMPLATE' ? firstChild === null || firstChild === void 0 ? void 0 : firstChild.content : this.el;
265
+ this.pageSpecificContent = Array.from(root.children)
266
+ .filter((child) => child.tagName === 'A' || child.tagName === 'UL')
267
+ .map((child) => {
268
+ switch (child.tagName) {
269
+ case 'A':
270
+ return aToPageSpecificLink(child);
271
+ case 'UL':
272
+ return {
273
+ title: child.getAttribute('data-title'),
274
+ links: Array.from(child.querySelectorAll('a')).map(aToPageSpecificLink)
275
+ };
276
+ }
277
+ });
278
+ }
279
+ render() {
280
+ return (index.h("header", { id: "uofg-header" }, this.isFullSize && (index.h("div", { id: "uofg-header-top-content-container" }, index.h("ul", null, index.h("li", null, index.h("a", { href: "https://bbis.alumni.uoguelph.ca/BBIS_Cannon/give/uofg" }, "GIVE")), index.h("li", null, index.h("a", { href: "/new-header/apply" }, "APPLY")), index.h("li", null, index.h("a", { href: "https://news.uoguelph.ca/" }, "NEWS"))), index.h(HelloYou, { autoCollapse: true }))), index.h("div", { id: "uofg-header-main-content-container", class: { 'full-height': this.isFullSize } }, index.h("div", { id: "uofg-header-logo-container" }, this.isFullSize && index.h("div", { id: "uofg-header-decorative-img", innerHTML: Decoration }), index.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 ? (index.h("div", { id: "uofg-header-full-main-content", class: "uofg-header-main-content" }, index.h(GlobalLinks, null), index.h("a", { href: "https://intranet.uoguelph.ca", "aria-label": "Intranet" }, index.h(FontAwesomeIcon, { icon: faRightToBracket })), index.h("uofg-menu", { class: "uofg-header-search-menu", "auto-collapse": true }, index.h("button", { slot: "button", "aria-label": "Search Menu" }, index.h(FontAwesomeIcon, { icon: faSearch })), index.h("div", { slot: "content" }, index.h("span", null, "Search the University of Guelph"), index.h(SearchBar, null))))) : (index.h("div", { id: "uofg-header-reduced-main-content", class: "uofg-header-main-content" }, index.h("a", { href: "https://intranet.uoguelph.ca", "aria-label": "Intranet" }, index.h(FontAwesomeIcon, { icon: faRightToBracket })), index.h("uofg-menu", { class: "uofg-header-search-menu", "auto-collapse": true }, index.h("button", { slot: "button", "aria-label": "Search Menu" }, index.h(FontAwesomeIcon, { icon: faSearch })), index.h("div", { slot: "content" }, index.h("span", null, "Search the University of Guelph"), index.h(SearchBar, null))), index.h("uofg-menu", { id: "uofg-header-main-menu", "auto-collapse": true }, index.h("button", { slot: "button", "aria-label": "Main Menu" }, index.h(FontAwesomeIcon, { icon: faBars })), index.h("div", { slot: "content" }, index.h("span", null, "University of Guelph"), index.h(GlobalLinks, null), index.h(HelloYou, { autoCollapse: false })))))), this.pageSpecificContent.length > 0 && (index.h("div", { id: "uofg-header-sub-content-container" }, this.pageTitle &&
281
+ (this.pageUrl ? (index.h("a", { id: "uofg-header-page-title", href: this.pageUrl }, this.pageTitle)) : (index.h("span", { id: "uofg-header-page-title" }, this.pageTitle))), this.isFullSize ? (index.h("div", { id: "uofg-header-full-sub-content", class: "uofg-header-sub-content" }, index.h(PageSpecific, { content: this.pageSpecificContent, autoCollapseMenus: true }))) : (index.h("div", { id: "uofg-header-reduced-sub-content", class: "uofg-header-sub-content" }, index.h("uofg-menu", { id: "uofg-header-sub-menu", "auto-collapse": true }, index.h("button", { slot: "button", "aria-label": this.pageTitle + ' Menu' }, index.h(FontAwesomeIcon, { icon: faBars })), index.h("div", { slot: "content" }, index.h(PageSpecific, { content: this.pageSpecificContent })))))))));
282
+ }
283
+ get el() { return index.getElement(this); }
284
+ };
285
+ UofgHeader.style = uofgHeaderCss;
286
+
287
+ const WEB_ANIMATIONS_SUPPORTED = 'animate' in HTMLElement.prototype;
288
+ const PREFERS_REDUCED_MOTION = window.matchMedia('(prefers-reduced-motion: reduce)').matches;
289
+
290
+ const DURATION_REGEX = /^(\d*\.?\d+)(s|ms)$/;
291
+ const EASING_FUNCTION_REGEX = /^cubic-bezier\((\s*-?\d*\.?\d+\s*,){3}\s*-?\d*\.?\d+\s*\)$|^steps\(\s*\d+\s*(,\s*(start|end))?\s*\)$/;
292
+ const observer = new MutationObserver((mutations) => {
293
+ for (const mutation of mutations) {
294
+ mutation.target.dispatchEvent(new CustomEvent('childListChange', { bubbles: false }));
295
+ }
296
+ });
297
+ const observerConfig = {
298
+ childList: true
299
+ };
300
+ const UofgMenu = class {
301
+ constructor(hostRef) {
302
+ index.registerInstance(this, hostRef);
303
+ this.expanded = index.createEvent(this, "expanded", 2);
304
+ this.collapsed = index.createEvent(this, "collapsed", 2);
305
+ this.animationStarted = index.createEvent(this, "animationStarted", 2);
306
+ this.animationEnded = index.createEvent(this, "animationEnded", 2);
307
+ this.computedStyle = null;
308
+ this.button = null;
309
+ this.content = null;
310
+ this.contentComputedStyle = null;
311
+ this.isExpanded = false;
312
+ this.autoCollapse = false;
313
+ }
314
+ connectedCallback() {
315
+ // Bind functions so that "this" correctly refers to the component's instance.
316
+ this.handleChildListChange = this.handleChildListChange.bind(this);
317
+ this.updateButton = this.updateButton.bind(this);
318
+ this.updateContent = this.updateContent.bind(this);
319
+ this.handleButtonClick = this.handleButtonClick.bind(this);
320
+ this.handleFocusout = this.handleFocusout.bind(this);
321
+ this.computedStyle = window.getComputedStyle(this.el);
322
+ this.isExpanded = false;
323
+ this.handleChildListChange();
324
+ observer.observe(this.el, observerConfig);
325
+ }
326
+ handleChildListChange() {
327
+ this.updateButton();
328
+ this.updateContent();
329
+ }
330
+ updateButton() {
331
+ var _a, _b, _c;
332
+ const button = this.el.querySelector('[slot="button"]');
333
+ // Clean up the old button before setting the new one
334
+ (_a = this.button) === null || _a === void 0 ? void 0 : _a.removeEventListener('click', this.handleButtonClick);
335
+ (_b = this.button) === null || _b === void 0 ? void 0 : _b.removeAttribute('aria-expanded');
336
+ (_c = this.button) === null || _c === void 0 ? void 0 : _c.removeAttribute('aria-haspopup');
337
+ // Set up the new button
338
+ button === null || button === void 0 ? void 0 : button.setAttribute('aria-expanded', this.isExpanded ? 'true' : 'false');
339
+ button === null || button === void 0 ? void 0 : button.setAttribute('aria-haspopup', 'true');
340
+ button === null || button === void 0 ? void 0 : button.addEventListener('click', this.handleButtonClick);
341
+ this.button = button;
342
+ }
343
+ updateContent() {
344
+ const content = this.el.querySelector('[slot="content"]');
345
+ if (content == null) {
346
+ this.content = null;
347
+ this.contentComputedStyle = null;
348
+ }
349
+ else {
350
+ this.content = content;
351
+ this.content.style.display = this.isExpanded ? '' : 'none';
352
+ this.contentComputedStyle = window.getComputedStyle(this.content);
353
+ }
354
+ }
355
+ handleButtonClick() {
356
+ this.isExpanded = !this.isExpanded;
357
+ }
358
+ handleFocusout(e) {
359
+ if (this.autoCollapse && !this.el.contains(e.relatedTarget)) {
360
+ this.isExpanded = false;
361
+ }
362
+ }
363
+ handleIsExpandedChange(newValue) {
364
+ var _a, _b, _c;
365
+ (_a = this.button) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', newValue ? 'true' : 'false');
366
+ newValue ? this.expanded.emit() : this.collapsed.emit();
367
+ // No content is slotted, so we don't need to do anything else.
368
+ if (this.content == null) {
369
+ return;
370
+ }
371
+ // Determine what animation type the user wants.
372
+ const type = this.getAnimationType();
373
+ // If Web Animations API isn't supported, or the user requested no animation, we can simply set display style
374
+ if (!WEB_ANIMATIONS_SUPPORTED || PREFERS_REDUCED_MOTION || type === 'none') {
375
+ this.content.style.display = newValue ? '' : 'none';
376
+ return;
377
+ }
378
+ // Check if we are in the middle of an animation.
379
+ const animations = (_b = this.content) === null || _b === void 0 ? void 0 : _b.getAnimations().filter((animation) => animation.id === 'uofg-menu-animation');
380
+ // If we are, then we want to reverse the existing one rather than starting a new animation.
381
+ if (animations.length > 0) {
382
+ animations === null || animations === void 0 ? void 0 : animations.forEach((animation) => animation.reverse());
383
+ return;
384
+ }
385
+ let animationDef;
386
+ const options = {
387
+ id: 'uofg-menu-animation',
388
+ duration: this.getAnimationDuration(),
389
+ fill: 'none',
390
+ easing: this.getAnimationEasing(),
391
+ direction: newValue ? 'normal' : 'reverse'
392
+ };
393
+ // Need to remove display none, otherwise keyframe values won't be calculated correctly.
394
+ this.content.style.display = '';
395
+ switch (type) {
396
+ case 'fade':
397
+ animationDef = this.fadeAnimation();
398
+ break;
399
+ case 'slide':
400
+ animationDef = this.slideAnimation();
401
+ break;
402
+ default:
403
+ animationDef = this.fadeAnimation();
404
+ }
405
+ // We can start the animation.
406
+ this.animationStarted.emit(newValue);
407
+ (_c = this.content) === null || _c === void 0 ? void 0 : _c.animate(animationDef.keyframes, options).finished.finally(() => {
408
+ var _a;
409
+ // Once the animation is done (or something went wrong during it), we update the content's display style.
410
+ if (this.content) {
411
+ this.content.style.display = this.isExpanded ? '' : 'none';
412
+ (_a = animationDef.callback) === null || _a === void 0 ? void 0 : _a.call(animationDef);
413
+ this.animationEnded.emit(this.isExpanded);
414
+ }
415
+ });
416
+ }
417
+ getAnimationType() {
418
+ var _a;
419
+ const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-type')) || '';
420
+ switch (str) {
421
+ case 'slide':
422
+ case 'fade':
423
+ return str;
424
+ default:
425
+ return 'none';
426
+ }
427
+ }
428
+ getAnimationDuration() {
429
+ var _a;
430
+ const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-duration')) || '';
431
+ const matches = DURATION_REGEX.exec(str);
432
+ if (matches == null) {
433
+ return 200;
434
+ }
435
+ return Number.parseFloat(matches[1]) * (matches[2] == 's' ? 1000 : 1);
436
+ }
437
+ getAnimationEasing() {
438
+ var _a;
439
+ const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-easing')) || '';
440
+ switch (str) {
441
+ case 'linear':
442
+ case 'ease':
443
+ case 'ease-in':
444
+ case 'ease-out':
445
+ case 'ease-in-out':
446
+ case 'step-start':
447
+ case 'step-end':
448
+ return str;
449
+ default:
450
+ return EASING_FUNCTION_REGEX.test(str) ? str : 'ease-in-out';
451
+ }
452
+ }
453
+ fadeAnimation() {
454
+ return { keyframes: [{ opacity: 0 }, { opacity: 1 }] };
455
+ }
456
+ slideAnimation() {
457
+ var _a, _b, _c, _d, _e;
458
+ this.content && (this.content.style.overflowY = 'hidden');
459
+ return {
460
+ keyframes: [
461
+ {
462
+ height: 0,
463
+ paddingTop: 0,
464
+ paddingBottom: 0,
465
+ marginTop: 0,
466
+ marginBottom: 0
467
+ },
468
+ {
469
+ height: ((_a = this.contentComputedStyle) === null || _a === void 0 ? void 0 : _a.height) || 0,
470
+ paddingTop: ((_b = this.contentComputedStyle) === null || _b === void 0 ? void 0 : _b.paddingTop) || 0,
471
+ paddingBottom: ((_c = this.contentComputedStyle) === null || _c === void 0 ? void 0 : _c.paddingBottom) || 0,
472
+ marginTop: ((_d = this.contentComputedStyle) === null || _d === void 0 ? void 0 : _d.marginTop) || 0,
473
+ marginBottom: ((_e = this.contentComputedStyle) === null || _e === void 0 ? void 0 : _e.marginBottom) || 0
474
+ }
475
+ ],
476
+ callback: () => {
477
+ this.content && (this.content.style.overflowY = '');
478
+ }
479
+ };
480
+ }
481
+ render() {
482
+ return index.h(index.Host, { tabindex: -1, "data-expanded": this.isExpanded, onFocusout: this.handleFocusout });
483
+ }
484
+ /**
485
+ * Get the current expanded state of the menu.
486
+ * @returns A promise which will resolve to the current expanded state.
487
+ */
488
+ async getExpanded() {
489
+ return this.isExpanded;
490
+ }
491
+ /**
492
+ * Set the expanded state of the menu.
493
+ * @param value The new expanded state.
494
+ */
495
+ async setExpanded(value) {
496
+ this.isExpanded = value;
497
+ }
498
+ /**
499
+ * Toggle the expanded state of the menu.
500
+ * @returns A promise which will resolve to the new expanded state.
501
+ */
502
+ async toggle() {
503
+ this.isExpanded = !this.isExpanded;
504
+ return this.isExpanded;
505
+ }
506
+ /**
507
+ * Collapse the menu. This is the same as setting the expanded state to false.
508
+ * @returns empty Promise.
509
+ */
510
+ async collapse() {
511
+ this.isExpanded = false;
512
+ }
513
+ /**
514
+ * Expand the menu. This is the same as setting the expanded state to true.
515
+ * @returns empty Promise.
516
+ */
517
+ async expand() {
518
+ this.isExpanded = true;
519
+ }
520
+ get el() { return index.getElement(this); }
521
+ static get watchers() { return {
522
+ "isExpanded": ["handleIsExpandedChange"]
523
+ }; }
524
+ };
525
+
526
+ exports.uofg_footer = UofgFooter;
527
+ exports.uofg_header = UofgHeader;
528
+ exports.uofg_menu = UofgMenu;
@@ -0,0 +1,26 @@
1
+ 'use strict';
2
+
3
+ Object.defineProperty(exports, '__esModule', { value: true });
4
+
5
+ const index = require('./index-160752dd.js');
6
+
7
+ /*
8
+ Stencil Client Patch Browser v3.4.0 | MIT Licensed | https://stenciljs.com
9
+ */
10
+ const patchBrowser = () => {
11
+ const importMeta = (typeof document === 'undefined' ? new (require('u' + 'rl').URL)('file:' + __filename).href : (document.currentScript && document.currentScript.src || new URL('uofg-web-components.cjs.js', document.baseURI).href));
12
+ const opts = {};
13
+ // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
14
+ if (importMeta !== '') {
15
+ opts.resourcesUrl = new URL('.', importMeta).href;
16
+ // TODO(STENCIL-661): Remove code related to the dynamic import shim
17
+ // TODO(STENCIL-663): Remove code related to deprecated `safari10` field.
18
+ }
19
+ return index.promiseResolve(opts);
20
+ };
21
+
22
+ patchBrowser().then(options => {
23
+ return index.bootstrapLazy([["uofg-footer_3.cjs",[[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);
24
+ });
25
+
26
+ exports.setNonce = index.setNonce;