@uoguelph/web-components 1.2.0-rc.7 → 1.2.0-rc.9

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 (94) hide show
  1. package/README.md +0 -63
  2. package/dist/uofg-web-components/index-CSn7dBx6.js +981 -0
  3. package/dist/uofg-web-components/uofg-alert.esm.js +154 -0
  4. package/dist/uofg-web-components/uofg-footer.esm.js +403 -0
  5. package/dist/uofg-web-components/uofg-header.esm.js +2306 -0
  6. package/dist/uofg-web-components/uofg-modal.esm.js +329 -0
  7. package/dist/uofg-web-components/uofg-web-components.css +1 -1
  8. package/dist/uofg-web-components/uofg-web-components.esm.js +8 -1
  9. package/package.json +21 -33
  10. package/dist/cjs/app-globals-3a1e7e63.js +0 -5
  11. package/dist/cjs/index-eb919017.js +0 -1990
  12. package/dist/cjs/index.cjs.js +0 -2
  13. package/dist/cjs/loader.cjs.js +0 -15
  14. package/dist/cjs/uofg-alert.cjs.entry.js +0 -21
  15. package/dist/cjs/uofg-back-to-top_5.cjs.entry.js +0 -1400
  16. package/dist/cjs/uofg-modal.cjs.entry.js +0 -168
  17. package/dist/cjs/uofg-web-components.cjs.js +0 -25
  18. package/dist/cjs/utils-93383c5b.js +0 -65
  19. package/dist/collection/collection-manifest.json +0 -18
  20. package/dist/collection/components/uofg-alert/uofg-alert.js +0 -15
  21. package/dist/collection/components/uofg-back-to-top/uofg-back-to-top.js +0 -64
  22. package/dist/collection/components/uofg-card/uofg-card.js +0 -40
  23. package/dist/collection/components/uofg-footer/uofg-footer.js +0 -145
  24. package/dist/collection/components/uofg-header/uofg-header.js +0 -280
  25. package/dist/collection/components/uofg-menu/uofg-menu.js +0 -438
  26. package/dist/collection/components/uofg-modal/uofg-modal.js +0 -408
  27. package/dist/collection/index.js +0 -1
  28. package/dist/collection/utils/font-awesome-icon.js +0 -7
  29. package/dist/collection/utils/utils.js +0 -29
  30. package/dist/components/font-awesome-icon.js +0 -10
  31. package/dist/components/index.d.ts +0 -50
  32. package/dist/components/index.js +0 -8
  33. package/dist/components/index2.js +0 -18
  34. package/dist/components/uofg-alert.d.ts +0 -11
  35. package/dist/components/uofg-alert.js +0 -37
  36. package/dist/components/uofg-back-to-top.d.ts +0 -11
  37. package/dist/components/uofg-back-to-top.js +0 -51
  38. package/dist/components/uofg-card.d.ts +0 -11
  39. package/dist/components/uofg-card.js +0 -41
  40. package/dist/components/uofg-footer.d.ts +0 -11
  41. package/dist/components/uofg-footer.js +0 -749
  42. package/dist/components/uofg-header.d.ts +0 -11
  43. package/dist/components/uofg-header.js +0 -418
  44. package/dist/components/uofg-menu.d.ts +0 -11
  45. package/dist/components/uofg-menu.js +0 -6
  46. package/dist/components/uofg-menu2.js +0 -268
  47. package/dist/components/uofg-modal.d.ts +0 -11
  48. package/dist/components/uofg-modal.js +0 -198
  49. package/dist/components/utils.js +0 -30
  50. package/dist/esm/app-globals-0f993ce5.js +0 -3
  51. package/dist/esm/index-06ec28fa.js +0 -1960
  52. package/dist/esm/index.js +0 -1
  53. package/dist/esm/loader.js +0 -11
  54. package/dist/esm/polyfills/core-js.js +0 -11
  55. package/dist/esm/polyfills/dom.js +0 -79
  56. package/dist/esm/polyfills/es5-html-element.js +0 -1
  57. package/dist/esm/polyfills/index.js +0 -34
  58. package/dist/esm/polyfills/system.js +0 -6
  59. package/dist/esm/uofg-alert.entry.js +0 -17
  60. package/dist/esm/uofg-back-to-top_5.entry.js +0 -1392
  61. package/dist/esm/uofg-modal.entry.js +0 -164
  62. package/dist/esm/uofg-web-components.js +0 -20
  63. package/dist/esm/utils-acd1ee82.js +0 -56
  64. package/dist/index.cjs.js +0 -1
  65. package/dist/index.js +0 -1
  66. package/dist/types/components/uofg-alert/uofg-alert.d.ts +0 -5
  67. package/dist/types/components/uofg-back-to-top/uofg-back-to-top.d.ts +0 -11
  68. package/dist/types/components/uofg-card/uofg-card.d.ts +0 -9
  69. package/dist/types/components/uofg-footer/uofg-footer.d.ts +0 -8
  70. package/dist/types/components/uofg-header/uofg-header.d.ts +0 -37
  71. package/dist/types/components/uofg-menu/uofg-menu.d.ts +0 -68
  72. package/dist/types/components/uofg-modal/uofg-modal.d.ts +0 -77
  73. package/dist/types/components.d.ts +0 -303
  74. package/dist/types/index.d.ts +0 -1
  75. package/dist/types/stencil-public-runtime.d.ts +0 -1681
  76. package/dist/types/utils/font-awesome-icon.d.ts +0 -5
  77. package/dist/types/utils/utils.d.ts +0 -5
  78. package/dist/uofg-web-components/index.esm.js +0 -0
  79. package/dist/uofg-web-components/p-4a896033.js +0 -2
  80. package/dist/uofg-web-components/p-4e0da5c7.entry.js +0 -1
  81. package/dist/uofg-web-components/p-663d722e.entry.js +0 -1
  82. package/dist/uofg-web-components/p-84b2d8d2.js +0 -1
  83. package/dist/uofg-web-components/p-b0718d71.entry.js +0 -1
  84. package/dist/uofg-web-components/p-e1255160.js +0 -1
  85. package/loader/cdn.js +0 -3
  86. package/loader/index.cjs.js +0 -3
  87. package/loader/index.d.ts +0 -21
  88. package/loader/index.es2017.js +0 -3
  89. package/loader/index.js +0 -4
  90. package/loader/package.json +0 -11
  91. /package/dist/{collection/components/uofg-header/decoration.svg → uofg-web-components/decorative.svg} +0 -0
  92. /package/dist/{collection/components/uofg-footer → uofg-web-components}/improve-life.svg +0 -0
  93. /package/dist/{collection/components/uofg-header/logo-reduced.svg → uofg-web-components/logo-small.svg} +0 -0
  94. /package/dist/{collection/components/uofg-header/logo-full.svg → uofg-web-components/logo.svg} +0 -0
@@ -1,1392 +0,0 @@
1
- import { r as registerInstance, h, g as getElement, F as Fragment, c as createEvent, H as Host } from './index-06ec28fa.js';
2
- import { a as attachTailwind, F as FontAwesomeIcon, f as faChevronUp, W as WEB_ANIMATIONS_SUPPORTED, P as PREFERS_REDUCED_MOTION } from './utils-acd1ee82.js';
3
-
4
- const UofgBackToTop = class {
5
- constructor(hostRef) {
6
- registerInstance(this, hostRef);
7
- this.threshold = 50;
8
- this.isVisible = false;
9
- }
10
- connectedCallback() {
11
- attachTailwind(this.el.shadowRoot);
12
- this.onScroll();
13
- }
14
- onScroll() {
15
- this.isVisible = window.scrollY >= this.threshold;
16
- }
17
- render() {
18
- return (h("button", { key: '847d2b365d97efd1e642a87f2b7a7efa4fc6d43d', "aria-label": "Go back to the top", class: {
19
- 'tw-opacity-100': this.isVisible,
20
- 'tw-fixed tw-bottom-0 tw-right-0 tw-z-[1000] tw-m-4 tw-flex tw-h-[3.5rem] tw-w-[3.5rem] tw-cursor-pointer tw-items-center tw-justify-center tw-rounded-[50%] tw-border tw-border-solid tw-border-white tw-bg-black tw-text-white tw-opacity-0 tw-transition hocus:tw-bg-uofg-red [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current': true,
21
- }, onClick: () => {
22
- window.scrollTo({ top: 0, behavior: 'smooth' });
23
- } }, h(FontAwesomeIcon, { key: '677b62f87847d592da099b729fc858a9bd525c70', icon: faChevronUp })));
24
- }
25
- get el() { return getElement(this); }
26
- };
27
-
28
- const UofgCard = class {
29
- constructor(hostRef) {
30
- registerInstance(this, hostRef);
31
- this.href = undefined;
32
- }
33
- connectedCallback() {
34
- attachTailwind(this.el.shadowRoot);
35
- }
36
- render() {
37
- var _a;
38
- const Body = () => (h(Fragment, { key: '26ca92b107e66a75f4c9236e32b29fe1749cd69d' }, h("div", { key: '58bf291cdeb1cd51bda3f194c7df1cfea664d635', class: "tw-flex tw-items-center tw-justify-center tw-overflow-hidden [&>slot::slotted(img)]:tw-w-full [&>slot::slotted(img)]:tw-object-cover [&>slot::slotted(img)]:tw-transition-transform" }, h("slot", { key: '715c920fcbeeb7453d473e2483b363882adece46', name: "img" })), h("div", { key: '0f758e0f6e8af2ea15cc100c632d4ca3bc4d7c9c', class: 'tw-flex tw-p-4 tw-flex-col [&>slot[name="body"]::slotted(*)]:tw-m-0 [&>slot[name="body"]::slotted(*)]:tw-text-xl [&>slot[name="body"]::slotted(*)]:tw-font-normal [&>slot[name="subtitle"]::slotted(*)]:tw-m-0 [&>slot[name="subtitle"]::slotted(*)]:tw-py-4 [&>slot[name="subtitle"]::slotted(*)]:tw-text-2xl [&>slot[name="subtitle"]::slotted(*)]:tw-font-normal [&>slot[name="title"]::slotted(*)]:tw-m-0 [&>slot[name="title"]::slotted(*)]:tw-py-4 [&>slot[name="title"]::slotted(*)]:tw-text-4xl [&>slot[name="title"]::slotted(*)]:tw-font-normal' }, h("slot", { key: '37f41a48475dd04378c49851719a0fb96b9fa1a4', name: "title" }), h("slot", { key: '89b9560b7df9b3014628d7c88993cc301e41ff16', name: "subtitle" }), h("slot", { key: '6fcd3a1d466a086c8a3ebbd4fc8dcb9ae74f759a', name: "body" })), h("div", { key: 'a9879cd32b2eb3f3eae766b93866508c1089f8e8', class: "tw-bg-uofg-blue-200 tw-px-4 tw-py-2" }, h("slot", { key: 'd557982d2c393581515b93eed69d8e488f979af3', name: "footer" }))));
39
- const classes = 'tw-flex tw-flex-col tw-bg-uofg-blue-50 tw-text-2xl tw-rounded tw-overflow-hidden';
40
- return ((_a = this === null || this === void 0 ? void 0 : this.href) !== null && _a !== void 0 ? _a : '') != '' ? (h("a", { href: this.href, class: `${classes} tw-border tw-border-solid tw-border-transparent tw-transition-colors focus-within:tw-border-uofg-blue-400 hocus:tw-border-uofg-blue-400 [&>div>slot::slotted(img)]:hocus:tw-scale-110 [&>div>slot::slotted(img)]:hocus:tw-transform [&>div>slot::slotted(img)]:hocus:tw-transition-transform` }, h(Body, null))) : (h("div", { class: classes }, h(Body, null)));
41
- }
42
- get el() { return getElement(this); }
43
- };
44
-
45
- const improveLifeLogo = `<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" viewBox="0 0 107.4 12">
46
- <path
47
- 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"/>
48
- </svg>
49
- `;
50
-
51
- var faBriefcase = {};
52
-
53
- (function (exports) {
54
- Object.defineProperty(exports, '__esModule', { value: true });
55
- var prefix = 'fas';
56
- var iconName = 'briefcase';
57
- var width = 512;
58
- var height = 512;
59
- var aliases = [128188];
60
- var unicode = 'f0b1';
61
- var svgPathData = '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';
62
-
63
- exports.definition = {
64
- prefix: prefix,
65
- iconName: iconName,
66
- icon: [
67
- width,
68
- height,
69
- aliases,
70
- unicode,
71
- svgPathData
72
- ]};
73
-
74
- exports.faBriefcase = exports.definition;
75
- exports.prefix = prefix;
76
- exports.iconName = iconName;
77
- exports.width = width;
78
- exports.height = height;
79
- exports.ligatures = aliases;
80
- exports.unicode = unicode;
81
- exports.svgPathData = svgPathData;
82
- exports.aliases = aliases;
83
- }(faBriefcase));
84
-
85
- var faCalendar = {};
86
-
87
- (function (exports) {
88
- Object.defineProperty(exports, '__esModule', { value: true });
89
- var prefix = 'fas';
90
- var iconName = 'calendar';
91
- var width = 448;
92
- var height = 512;
93
- var aliases = [128197,128198];
94
- var unicode = 'f133';
95
- var svgPathData = 'M96 32V64H48C21.5 64 0 85.5 0 112v48H448V112c0-26.5-21.5-48-48-48H352V32c0-17.7-14.3-32-32-32s-32 14.3-32 32V64H160V32c0-17.7-14.3-32-32-32S96 14.3 96 32zM448 192H0V464c0 26.5 21.5 48 48 48H400c26.5 0 48-21.5 48-48V192z';
96
-
97
- exports.definition = {
98
- prefix: prefix,
99
- iconName: iconName,
100
- icon: [
101
- width,
102
- height,
103
- aliases,
104
- unicode,
105
- svgPathData
106
- ]};
107
-
108
- exports.faCalendar = exports.definition;
109
- exports.prefix = prefix;
110
- exports.iconName = iconName;
111
- exports.width = width;
112
- exports.height = height;
113
- exports.ligatures = aliases;
114
- exports.unicode = unicode;
115
- exports.svgPathData = svgPathData;
116
- exports.aliases = aliases;
117
- }(faCalendar));
118
-
119
- var faCircleCheck = {};
120
-
121
- (function (exports) {
122
- Object.defineProperty(exports, '__esModule', { value: true });
123
- var prefix = 'fas';
124
- var iconName = 'circle-check';
125
- var width = 512;
126
- var height = 512;
127
- var aliases = [61533,"check-circle"];
128
- var unicode = 'f058';
129
- var svgPathData = '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';
130
-
131
- exports.definition = {
132
- prefix: prefix,
133
- iconName: iconName,
134
- icon: [
135
- width,
136
- height,
137
- aliases,
138
- unicode,
139
- svgPathData
140
- ]};
141
-
142
- exports.faCircleCheck = exports.definition;
143
- exports.prefix = prefix;
144
- exports.iconName = iconName;
145
- exports.width = width;
146
- exports.height = height;
147
- exports.ligatures = aliases;
148
- exports.unicode = unicode;
149
- exports.svgPathData = svgPathData;
150
- exports.aliases = aliases;
151
- }(faCircleCheck));
152
-
153
- var faHandHoldingHeart = {};
154
-
155
- (function (exports) {
156
- Object.defineProperty(exports, '__esModule', { value: true });
157
- var prefix = 'fas';
158
- var iconName = 'hand-holding-heart';
159
- var width = 576;
160
- var height = 512;
161
- var aliases = [];
162
- var unicode = 'f4be';
163
- var svgPathData = 'M163.9 136.9c-29.4-29.8-29.4-78.2 0-108s77-29.8 106.4 0l17.7 18 17.7-18c29.4-29.8 77-29.8 106.4 0s29.4 78.2 0 108L310.5 240.1c-6.2 6.3-14.3 9.4-22.5 9.4s-16.3-3.1-22.5-9.4L163.9 136.9zM568.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';
164
-
165
- exports.definition = {
166
- prefix: prefix,
167
- iconName: iconName,
168
- icon: [
169
- width,
170
- height,
171
- aliases,
172
- unicode,
173
- svgPathData
174
- ]};
175
-
176
- exports.faHandHoldingHeart = exports.definition;
177
- exports.prefix = prefix;
178
- exports.iconName = iconName;
179
- exports.width = width;
180
- exports.height = height;
181
- exports.ligatures = aliases;
182
- exports.unicode = unicode;
183
- exports.svgPathData = svgPathData;
184
- exports.aliases = aliases;
185
- }(faHandHoldingHeart));
186
-
187
- var faKey = {};
188
-
189
- (function (exports) {
190
- Object.defineProperty(exports, '__esModule', { value: true });
191
- var prefix = 'fas';
192
- var iconName = 'key';
193
- var width = 512;
194
- var height = 512;
195
- var aliases = [128273];
196
- var unicode = 'f084';
197
- var svgPathData = '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';
198
-
199
- exports.definition = {
200
- prefix: prefix,
201
- iconName: iconName,
202
- icon: [
203
- width,
204
- height,
205
- aliases,
206
- unicode,
207
- svgPathData
208
- ]};
209
-
210
- exports.faKey = exports.definition;
211
- exports.prefix = prefix;
212
- exports.iconName = iconName;
213
- exports.width = width;
214
- exports.height = height;
215
- exports.ligatures = aliases;
216
- exports.unicode = unicode;
217
- exports.svgPathData = svgPathData;
218
- exports.aliases = aliases;
219
- }(faKey));
220
-
221
- var faList = {};
222
-
223
- (function (exports) {
224
- Object.defineProperty(exports, '__esModule', { value: true });
225
- var prefix = 'fas';
226
- var iconName = 'list';
227
- var width = 512;
228
- var height = 512;
229
- var aliases = ["list-squares"];
230
- var unicode = 'f03a';
231
- var svgPathData = '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';
232
-
233
- exports.definition = {
234
- prefix: prefix,
235
- iconName: iconName,
236
- icon: [
237
- width,
238
- height,
239
- aliases,
240
- unicode,
241
- svgPathData
242
- ]};
243
-
244
- exports.faList = exports.definition;
245
- exports.prefix = prefix;
246
- exports.iconName = iconName;
247
- exports.width = width;
248
- exports.height = height;
249
- exports.ligatures = aliases;
250
- exports.unicode = unicode;
251
- exports.svgPathData = svgPathData;
252
- exports.aliases = aliases;
253
- }(faList));
254
-
255
- var faSitemap = {};
256
-
257
- (function (exports) {
258
- Object.defineProperty(exports, '__esModule', { value: true });
259
- var prefix = 'fas';
260
- var iconName = 'sitemap';
261
- var width = 576;
262
- var height = 512;
263
- var aliases = [];
264
- var unicode = 'f0e8';
265
- var svgPathData = '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';
266
-
267
- exports.definition = {
268
- prefix: prefix,
269
- iconName: iconName,
270
- icon: [
271
- width,
272
- height,
273
- aliases,
274
- unicode,
275
- svgPathData
276
- ]};
277
-
278
- exports.faSitemap = exports.definition;
279
- exports.prefix = prefix;
280
- exports.iconName = iconName;
281
- exports.width = width;
282
- exports.height = height;
283
- exports.ligatures = aliases;
284
- exports.unicode = unicode;
285
- exports.svgPathData = svgPathData;
286
- exports.aliases = aliases;
287
- }(faSitemap));
288
-
289
- var faTree = {};
290
-
291
- (function (exports) {
292
- Object.defineProperty(exports, '__esModule', { value: true });
293
- var prefix = 'fas';
294
- var iconName = 'tree';
295
- var width = 448;
296
- var height = 512;
297
- var aliases = [127794];
298
- var unicode = 'f1bb';
299
- var svgPathData = 'M210.6 5.9L62 169.4c-3.9 4.2-6 9.8-6 15.5C56 197.7 66.3 208 79.1 208H104L30.6 281.4c-4.2 4.2-6.6 10-6.6 16C24 309.9 34.1 320 46.6 320H80L5.4 409.5C1.9 413.7 0 419 0 424.5c0 13 10.5 23.5 23.5 23.5H192v32c0 17.7 14.3 32 32 32s32-14.3 32-32V448H424.5c13 0 23.5-10.5 23.5-23.5c0-5.5-1.9-10.8-5.4-15L368 320h33.4c12.5 0 22.6-10.1 22.6-22.6c0-6-2.4-11.8-6.6-16L344 208h24.9c12.7 0 23.1-10.3 23.1-23.1c0-5.7-2.1-11.3-6-15.5L237.4 5.9C234 2.1 229.1 0 224 0s-10 2.1-13.4 5.9z';
300
-
301
- exports.definition = {
302
- prefix: prefix,
303
- iconName: iconName,
304
- icon: [
305
- width,
306
- height,
307
- aliases,
308
- unicode,
309
- svgPathData
310
- ]};
311
-
312
- exports.faTree = exports.definition;
313
- exports.prefix = prefix;
314
- exports.iconName = iconName;
315
- exports.width = width;
316
- exports.height = height;
317
- exports.ligatures = aliases;
318
- exports.unicode = unicode;
319
- exports.svgPathData = svgPathData;
320
- exports.aliases = aliases;
321
- }(faTree));
322
-
323
- var faUniversalAccess = {};
324
-
325
- (function (exports) {
326
- Object.defineProperty(exports, '__esModule', { value: true });
327
- var prefix = 'fas';
328
- var iconName = 'universal-access';
329
- var width = 512;
330
- var height = 512;
331
- var aliases = [];
332
- var unicode = 'f29a';
333
- var svgPathData = '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';
334
-
335
- exports.definition = {
336
- prefix: prefix,
337
- iconName: iconName,
338
- icon: [
339
- width,
340
- height,
341
- aliases,
342
- unicode,
343
- svgPathData
344
- ]};
345
-
346
- exports.faUniversalAccess = exports.definition;
347
- exports.prefix = prefix;
348
- exports.iconName = iconName;
349
- exports.width = width;
350
- exports.height = height;
351
- exports.ligatures = aliases;
352
- exports.unicode = unicode;
353
- exports.svgPathData = svgPathData;
354
- exports.aliases = aliases;
355
- }(faUniversalAccess));
356
-
357
- var faPhoneFlip = {};
358
-
359
- (function (exports) {
360
- Object.defineProperty(exports, '__esModule', { value: true });
361
- var prefix = 'fas';
362
- var iconName = 'phone-flip';
363
- var width = 512;
364
- var height = 512;
365
- var aliases = [128381,"phone-alt"];
366
- var unicode = 'f879';
367
- var svgPathData = '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';
368
-
369
- exports.definition = {
370
- prefix: prefix,
371
- iconName: iconName,
372
- icon: [
373
- width,
374
- height,
375
- aliases,
376
- unicode,
377
- svgPathData
378
- ]};
379
-
380
- exports.faPhoneFlip = exports.definition;
381
- exports.prefix = prefix;
382
- exports.iconName = iconName;
383
- exports.width = width;
384
- exports.height = height;
385
- exports.ligatures = aliases;
386
- exports.unicode = unicode;
387
- exports.svgPathData = svgPathData;
388
- exports.aliases = aliases;
389
- }(faPhoneFlip));
390
-
391
- var faFacebookSquare = {};
392
-
393
- var faSquareFacebook = {};
394
-
395
- (function (exports) {
396
- Object.defineProperty(exports, '__esModule', { value: true });
397
- var prefix = 'fab';
398
- var iconName = 'square-facebook';
399
- var width = 448;
400
- var height = 512;
401
- var aliases = ["facebook-square"];
402
- var unicode = 'f082';
403
- var svgPathData = 'M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64h98.2V334.2H109.4V256h52.8V222.3c0-87.1 39.4-127.5 125-127.5c16.2 0 44.2 3.2 55.7 6.4V172c-6-.6-16.5-1-29.6-1c-42 0-58.2 15.9-58.2 57.2V256h83.6l-14.4 78.2H255V480H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64z';
404
-
405
- exports.definition = {
406
- prefix: prefix,
407
- iconName: iconName,
408
- icon: [
409
- width,
410
- height,
411
- aliases,
412
- unicode,
413
- svgPathData
414
- ]};
415
-
416
- exports.faSquareFacebook = exports.definition;
417
- exports.prefix = prefix;
418
- exports.iconName = iconName;
419
- exports.width = width;
420
- exports.height = height;
421
- exports.ligatures = aliases;
422
- exports.unicode = unicode;
423
- exports.svgPathData = svgPathData;
424
- exports.aliases = aliases;
425
- }(faSquareFacebook));
426
-
427
- (function (exports) {
428
- Object.defineProperty(exports, '__esModule', { value: true });
429
- var source = faSquareFacebook;
430
- exports.definition = {
431
- prefix: source.prefix,
432
- iconName: source.iconName,
433
- icon: [
434
- source.width,
435
- source.height,
436
- source.aliases,
437
- source.unicode,
438
- source.svgPathData
439
- ]};
440
-
441
- exports.faFacebookSquare = exports.definition;
442
- exports.prefix = source.prefix;
443
- exports.iconName = source.iconName;
444
- exports.width = source.width;
445
- exports.height = source.height;
446
- exports.ligatures = source.aliases;
447
- exports.unicode = source.unicode;
448
- exports.svgPathData = source.svgPathData;
449
- exports.aliases = source.aliases;
450
- }(faFacebookSquare));
451
-
452
- var faInstagram = {};
453
-
454
- (function (exports) {
455
- Object.defineProperty(exports, '__esModule', { value: true });
456
- var prefix = 'fab';
457
- var iconName = 'instagram';
458
- var width = 448;
459
- var height = 512;
460
- var aliases = [];
461
- var unicode = 'f16d';
462
- var svgPathData = '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';
463
-
464
- exports.definition = {
465
- prefix: prefix,
466
- iconName: iconName,
467
- icon: [
468
- width,
469
- height,
470
- aliases,
471
- unicode,
472
- svgPathData
473
- ]};
474
-
475
- exports.faInstagram = exports.definition;
476
- exports.prefix = prefix;
477
- exports.iconName = iconName;
478
- exports.width = width;
479
- exports.height = height;
480
- exports.ligatures = aliases;
481
- exports.unicode = unicode;
482
- exports.svgPathData = svgPathData;
483
- exports.aliases = aliases;
484
- }(faInstagram));
485
-
486
- var faLinkedin = {};
487
-
488
- (function (exports) {
489
- Object.defineProperty(exports, '__esModule', { value: true });
490
- var prefix = 'fab';
491
- var iconName = 'linkedin';
492
- var width = 448;
493
- var height = 512;
494
- var aliases = [];
495
- var unicode = 'f08c';
496
- var svgPathData = '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';
497
-
498
- exports.definition = {
499
- prefix: prefix,
500
- iconName: iconName,
501
- icon: [
502
- width,
503
- height,
504
- aliases,
505
- unicode,
506
- svgPathData
507
- ]};
508
-
509
- exports.faLinkedin = exports.definition;
510
- exports.prefix = prefix;
511
- exports.iconName = iconName;
512
- exports.width = width;
513
- exports.height = height;
514
- exports.ligatures = aliases;
515
- exports.unicode = unicode;
516
- exports.svgPathData = svgPathData;
517
- exports.aliases = aliases;
518
- }(faLinkedin));
519
-
520
- var faTiktok = {};
521
-
522
- (function (exports) {
523
- Object.defineProperty(exports, '__esModule', { value: true });
524
- var prefix = 'fab';
525
- var iconName = 'tiktok';
526
- var width = 448;
527
- var height = 512;
528
- var aliases = [];
529
- var unicode = 'e07b';
530
- var svgPathData = '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';
531
-
532
- exports.definition = {
533
- prefix: prefix,
534
- iconName: iconName,
535
- icon: [
536
- width,
537
- height,
538
- aliases,
539
- unicode,
540
- svgPathData
541
- ]};
542
-
543
- exports.faTiktok = exports.definition;
544
- exports.prefix = prefix;
545
- exports.iconName = iconName;
546
- exports.width = width;
547
- exports.height = height;
548
- exports.ligatures = aliases;
549
- exports.unicode = unicode;
550
- exports.svgPathData = svgPathData;
551
- exports.aliases = aliases;
552
- }(faTiktok));
553
-
554
- var faTwitterSquare = {};
555
-
556
- var faSquareTwitter = {};
557
-
558
- (function (exports) {
559
- Object.defineProperty(exports, '__esModule', { value: true });
560
- var prefix = 'fab';
561
- var iconName = 'square-twitter';
562
- var width = 448;
563
- var height = 512;
564
- var aliases = ["twitter-square"];
565
- var unicode = 'f081';
566
- var svgPathData = 'M64 32C28.7 32 0 60.7 0 96V416c0 35.3 28.7 64 64 64H384c35.3 0 64-28.7 64-64V96c0-35.3-28.7-64-64-64H64zM351.3 199.3v0c0 86.7-66 186.6-186.6 186.6c-37.2 0-71.7-10.8-100.7-29.4c5.3 .6 10.4 .8 15.8 .8c30.7 0 58.9-10.4 81.4-28c-28.8-.6-53-19.5-61.3-45.5c10.1 1.5 19.2 1.5 29.6-1.2c-30-6.1-52.5-32.5-52.5-64.4v-.8c8.7 4.9 18.9 7.9 29.6 8.3c-9-6-16.4-14.1-21.5-23.6s-7.8-20.2-7.7-31c0-12.2 3.2-23.4 8.9-33.1c32.3 39.8 80.8 65.8 135.2 68.6c-9.3-44.5 24-80.6 64-80.6c18.9 0 35.9 7.9 47.9 20.7c14.8-2.8 29-8.3 41.6-15.8c-4.9 15.2-15.2 28-28.8 36.1c13.2-1.4 26-5.1 37.8-10.2c-8.9 13.1-20.1 24.7-32.9 34c.2 2.8 .2 5.7 .2 8.5z';
567
-
568
- exports.definition = {
569
- prefix: prefix,
570
- iconName: iconName,
571
- icon: [
572
- width,
573
- height,
574
- aliases,
575
- unicode,
576
- svgPathData
577
- ]};
578
-
579
- exports.faSquareTwitter = exports.definition;
580
- exports.prefix = prefix;
581
- exports.iconName = iconName;
582
- exports.width = width;
583
- exports.height = height;
584
- exports.ligatures = aliases;
585
- exports.unicode = unicode;
586
- exports.svgPathData = svgPathData;
587
- exports.aliases = aliases;
588
- }(faSquareTwitter));
589
-
590
- (function (exports) {
591
- Object.defineProperty(exports, '__esModule', { value: true });
592
- var source = faSquareTwitter;
593
- exports.definition = {
594
- prefix: source.prefix,
595
- iconName: source.iconName,
596
- icon: [
597
- source.width,
598
- source.height,
599
- source.aliases,
600
- source.unicode,
601
- source.svgPathData
602
- ]};
603
-
604
- exports.faTwitterSquare = exports.definition;
605
- exports.prefix = source.prefix;
606
- exports.iconName = source.iconName;
607
- exports.width = source.width;
608
- exports.height = source.height;
609
- exports.ligatures = source.aliases;
610
- exports.unicode = source.unicode;
611
- exports.svgPathData = source.svgPathData;
612
- exports.aliases = source.aliases;
613
- }(faTwitterSquare));
614
-
615
- var faYoutube = {};
616
-
617
- (function (exports) {
618
- Object.defineProperty(exports, '__esModule', { value: true });
619
- var prefix = 'fab';
620
- var iconName = 'youtube';
621
- var width = 576;
622
- var height = 512;
623
- var aliases = [61802];
624
- var unicode = 'f167';
625
- var svgPathData = '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';
626
-
627
- exports.definition = {
628
- prefix: prefix,
629
- iconName: iconName,
630
- icon: [
631
- width,
632
- height,
633
- aliases,
634
- unicode,
635
- svgPathData
636
- ]};
637
-
638
- exports.faYoutube = exports.definition;
639
- exports.prefix = prefix;
640
- exports.iconName = iconName;
641
- exports.width = width;
642
- exports.height = height;
643
- exports.ligatures = aliases;
644
- exports.unicode = unicode;
645
- exports.svgPathData = svgPathData;
646
- exports.aliases = aliases;
647
- }(faYoutube));
648
-
649
- const socials = [
650
- {
651
- text: 'Twitter',
652
- icon: faTwitterSquare.faTwitterSquare,
653
- href: 'https://twitter.com/uofg',
654
- class: 'hocus:tw-text-[#1da1f2]',
655
- },
656
- {
657
- text: 'Facebook',
658
- icon: faFacebookSquare.faFacebookSquare,
659
- href: 'https://www.facebook.com/uofguelph',
660
- class: 'hocus:tw-text-[#4267b2]',
661
- },
662
- {
663
- text: 'Instagram',
664
- icon: faInstagram.faInstagram,
665
- href: 'https://www.instagram.com/uofguelph/',
666
- class: 'hocus:tw-text-[#e1306c]',
667
- },
668
- {
669
- text: 'Youtube',
670
- icon: faYoutube.faYoutube,
671
- href: 'https://www.youtube.com/user/uofguelph',
672
- class: 'hocus:tw-text-[#f00]',
673
- },
674
- {
675
- text: 'LinkedIn',
676
- icon: faLinkedin.faLinkedin,
677
- href: 'https://www.linkedin.com/school/university-of-guelph/',
678
- class: 'hocus:tw-text-[#0077b5]',
679
- },
680
- {
681
- text: 'TikTok',
682
- icon: faTiktok.faTiktok,
683
- href: 'https://www.tiktok.com/@uofguelph',
684
- class: 'hocus:tw-text-[#f00]',
685
- },
686
- ];
687
- const links = [
688
- {
689
- text: 'Accessibility',
690
- icon: faUniversalAccess.faUniversalAccess,
691
- href: 'https://www.uoguelph.ca/diversity-human-rights/accessibility-u-g',
692
- },
693
- {
694
- text: 'Privacy',
695
- icon: faKey.faKey,
696
- href: 'https://www.uoguelph.ca/web/privacy/',
697
- },
698
- {
699
- text: 'Site Map',
700
- icon: faSitemap.faSitemap,
701
- href: 'https://www.uoguelph.ca/sitemap',
702
- },
703
- {
704
- text: 'Status Page',
705
- icon: faCircleCheck.faCircleCheck,
706
- href: 'https://uoguelph.statuspage.io/',
707
- },
708
- {
709
- text: 'Land Acknowledgement',
710
- icon: faTree.faTree,
711
- href: 'https://www.uoguelph.ca/land-acknowledgement/',
712
- 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étis peoples and acknowledging them reminds us of our collective responsibility to the land where we learn and work.',
713
- },
714
- {
715
- text: 'Careers',
716
- icon: faBriefcase.faBriefcase,
717
- href: 'https://www.uoguelph.ca/hr/careers-guelph/current-opportunities',
718
- },
719
- {
720
- text: 'Undergraduate Calendar',
721
- icon: faCalendar.faCalendar,
722
- href: 'https://www.uoguelph.ca/registrar/calendars/undergraduate/current/',
723
- },
724
- {
725
- text: 'Graduate Calendar',
726
- icon: faCalendar.faCalendar,
727
- href: 'https://www.uoguelph.ca/registrar/calendars/graduate/current/',
728
- },
729
- {
730
- text: 'Program Plans',
731
- icon: faList.faList,
732
- href: 'https://admission.uoguelph.ca/programs',
733
- },
734
- {
735
- text: 'Give to U of G',
736
- icon: faHandHoldingHeart.faHandHoldingHeart,
737
- href: 'https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give',
738
- },
739
- ];
740
- const UofgFooter = class {
741
- constructor(hostRef) {
742
- registerInstance(this, hostRef);
743
- this.extraLinks = [];
744
- }
745
- connectedCallback() {
746
- var _a;
747
- attachTailwind(this.el.shadowRoot);
748
- this.updateExtraLinks();
749
- (_a = this.observer) !== null && _a !== void 0 ? _a : (this.observer = new MutationObserver(() => {
750
- this.updateExtraLinks();
751
- }));
752
- this.observer.observe(this.el, { childList: true, subtree: true });
753
- }
754
- updateExtraLinks() {
755
- var _a;
756
- this.extraLinks = Array.from((_a = this.el) === null || _a === void 0 ? void 0 : _a.children)
757
- .filter(child => child.tagName === 'A')
758
- .map(child => ({ text: child.textContent, href: child.getAttribute('href') }));
759
- }
760
- render() {
761
- return (h("footer", { key: '35d147bc6c3c9f614104b191b7476723a842b17f' }, this.extraLinks.length > 0 && (h("ul", { class: "tw-flex tw-flex-wrap tw-items-center tw-justify-center tw-bg-uofg-blue-50 tw-p-6 tw-px-[max(calc((100%-1320px)/2),2rem)]" }, this.extraLinks.map(link => (h("li", { class: "tw-border-0 tw-border-r-2 tw-border-solid tw-border-uofg-blue-100 tw-p-2 first:tw-border-l-2" }, h("a", { class: "tw-text-uofg-blue-500 tw-transition-colors hocus:tw-text-uofg-blue-950", href: link.href }, link.text)))))), h("div", { key: 'bde0f631f44fde01c389e1e4904cf7b1d6e7a754', class: "tw-flex tw-flex-col tw-content-center tw-gap-8 tw-bg-black tw-px-[max(calc((100%-1320px)/2),2rem)] tw-py-8 tw-text-white md:tw-grid md:tw-grid-cols-2 lg:tw-grid-cols-4" }, h("div", { key: 'fa6435a938414cacce1011833fb52bc444fc7ae1', class: "tw-flex tw-flex-col tw-justify-between tw-gap-2" }, h("a", { key: '4dc21d37ccf73f564ecb94f7be406cfa21d6bc05', href: "https://www.uoguelph.ca/improve-life", "aria-label": "Improve Life", class: "tw-flex tw-transition-opacity hocus:tw-opacity-75 [&>svg]:tw-h-[1.6em]", innerHTML: improveLifeLogo }), h("ul", { key: '454bb903be7ea860ead363ec5d38707a13ada1f1', class: "tw-flex tw-gap-3 tw-text-4xl [&>li]:tw-contents" }, socials.map(item => (h("li", null, h("a", { href: item.href, "aria-label": item.text, class: `tw-transition-colors [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current ${item.class}` }, h(FontAwesomeIcon, { icon: item.icon })))))), h("a", { key: 'fc97473b3f7f9d9b055b3212d1f72bf0b746dfab', class: "tw-w-fit tw-border-0 tw-border-b-2 tw-border-dotted tw-border-transparent tw-transition-colors hocus:tw-border-white", href: "https://www.uoguelph.ca/web/socialmedia/" }, "Social Media Directory"), h("a", { key: 'af71e4fa9d85ecbc2f92e920081cf4b7a6a122ca', class: "tw-w-fit tw-border-0 tw-border-b-2 tw-border-dotted tw-border-transparent tw-transition-colors hocus:tw-border-white", href: "https://www.uoguelph.ca/web/" }, "\u00A9 ", new Date().getFullYear(), " University of Guelph")), h("div", { key: '3eea01c2ba5f9085fc658b1b0dcbdd595a87cd21', class: "md:tw-col-span-2 md:tw-row-start-2 lg:tw-row-auto" }, h("ul", { key: '9f45c6777c248140ff741cdbdc0c8ffaaf38a0b4', class: "tw-flex tw-flex-col tw-gap-2 md:tw-grid md:tw-grid-cols-2 [&>li]:tw-contents" }, links.map(item => {
762
- var _a;
763
- return (h("li", null, h("a", { href: item.href, title: (_a = item === null || item === void 0 ? void 0 : item.title) !== null && _a !== void 0 ? _a : '', class: "tw-flex tw-justify-center tw-items-center tw-w-fit tw-gap-3 tw-border-0 tw-border-b-2 tw-border-dotted tw-border-transparent tw-transition-colors hocus:tw-border-white [&>svg]:tw-h-[1em] [&>svg]:tw-fill-uofg-yellow" }, h(FontAwesomeIcon, { icon: item.icon }), h("span", null, item.text))));
764
- }))), h("address", { key: 'ea2e7206a264920238af7b899e979d0099013009', class: "tw-flex tw-flex-col tw-justify-between tw-gap-4 tw-not-italic" }, h("strong", { key: '9290d97ccc9b1c1de3f7c6eb498c39934d84a9b4' }, "University of Guelph"), h("span", { key: '0b1a22a47e2f8bc6e3695f5a25858ab4451b7b50' }, "50 Stone Road East,"), h("span", { key: 'f07582b60536191e4ad17179dca8f495c7190b57' }, "Guelph, Ontario, Canada"), h("span", { key: 'c0ee62b9f339b8b36b1ef340a0c1dc8249ae99af' }, "N1G 2W1"), h("a", { key: 'd14bcbc1f6a20cee635a149291052a26750a63af', href: "tel:1-519-824-4120", class: "tw-flex tw-justify-center tw-items-center tw-w-fit tw-gap-2 tw-border-0 tw-border-b-2 tw-border-dotted tw-border-transparent tw-text-uofg-blue tw-transition-colors hocus:tw-border-current [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current" }, h(FontAwesomeIcon, { key: 'fc55b72b292ba4a856bec2978bc20630d50f9b92', icon: faPhoneFlip.faPhoneFlip }), h("span", { key: '67134aae755352d841b834377593e9a34bf77fca' }, "519-824-4120"))))));
765
- }
766
- get el() { return getElement(this); }
767
- };
768
-
769
- const Decoration = `<svg viewBox="0 0 68 90" xmlns="http://www.w3.org/2000/svg"><path d="M23.131 0l44.847 90H0V0" fill="#c20430"/><path d="M23.131 0l16.03 32.044L55.1 0" fill="#ffc500"/></svg>`;
770
-
771
- const FullSizeLogo = `<svg xmlns="http://www.w3.org/2000/svg" xml:space="preserve" viewBox="0 0 260 141"><g fill="#fff"><path d="M223.87 71.503c-2.899.217-5.81.227-8.71.03-1.23-.07-1.43-.07-1.51 0-.08.08-.78.76-.64 1.16.05.14.17.22.38.25 2.21.26 2.72 1.11 2.72 4.51l.01 6.43H202.6l-.01-7.96c0-2.05 1.13-2.46 1.88-2.73.36-.13.64-.23.64-.5 0-.2.05-.39.1-.56.06-.22.11-.4.01-.52-.09-.11-.27-.11-.39-.1-3.56.32-6.38.13-7.89.02-.95-.06-1.11-.07-1.19 0-.08.08-.78.76-.64 1.16.05.14.17.22.38.25 2.19.26 2.69 1.1 2.69 4.51l.02 20.68c0 2.05-1.31 2.46-2.18 2.74-.43.13-.74.23-.74.5 0 .2-.05.39-.1.56-.06.22-.12.4-.01.53.09.11.27.11.39.1 3.55-.32 6.59-.13 8.23-.03l1.03.05c.18 0 .25-.02.29-.05.08-.08.78-.76.64-1.16-.05-.14-.17-.22-.38-.25-2.22-.26-2.76-1.15-2.76-4.52l-.01-10.13h13.52l.01 11.67c0 2.05-1.18 2.47-1.97 2.74-.37.13-.67.23-.67.5 0 .2-.05.39-.1.56-.06.22-.12.4-.01.53.09.11.27.11.39.1 3.54-.32 6.7-.13 8.39-.03 1.12.07 1.3.07 1.38 0 .08-.08.78-.76.64-1.16-.05-.14-.17-.22-.38-.25-2.22-.26-2.76-1.15-2.76-4.52l-.03-20.68c0-2.05 1.41-2.46 2.34-2.73.46-.13.79-.23.79-.5 0-.2.05-.39.1-.56.06-.22.11-.4.01-.52-.09-.13-.26-.13-.38-.12ZM75.39 92.043h.14c1.83 0 4.16 1.14 4.16 2.03v7.43l-.01.03c-.15.93-1.04 3.96-6.01 3.96h-.27c-6.34 0-9.27-3.61-10.61-6.67-3.1-7.05-.75-17.23 3.42-21.62 1.41-1.48 4.78-3.76 11.57-2.39 3.91.79 5.17 6.69 5.18 6.75l.02.11 1.46-.49.3-10.34-.02-.03c-.54-.73-1.43-.38-2.29-.04-.55.22-1.12.45-1.61.43-4.4-.9-15.18-2.15-20.31 5.73-5.35 7.02-6.38 17.7-2.46 25.38 2.62 5.14 7.02 7.95 12.41 7.95h.38c3.45 0 3.45 0 6.38-1.91l.36-.24c1.66-1.08 7.89-3.38 7.95-3.4l.07-.03v-10.47c0-1.75 3.02-2.45 3.05-2.46l.07-.02.16-1.47h-13l-.49 1.78Zm43.26-20.81c-2.23.21-5.93.09-8.15.02-1.96-.06-1.97-.05-2.03.01-.05.05-.53.54-.43.83.02.07.09.16.28.19 1.59.2 4.26 1.22 4.21 3.8l-.14 16.16a6.291 6.291 0 0 1-3.4 5.65 8.4 8.4 0 0 1-8.26-.04c-2.22-1.37-3.37-3.85-3.24-7l.02-14.85c0-2.22 1.24-2.67 2.06-2.96.39-.14.7-.25.7-.53 0-.22.06-.42.11-.61.07-.24.12-.43.01-.56-.1-.11-.27-.11-.4-.1-3.62.34-7.03.14-8.86.03-1.23-.07-1.43-.08-1.51 0-.08.08-.8.82-.66 1.25.03.1.13.22.39.26 2.13.27 3.22 1.1 3.22 4.88l-.03 15.45c.04 3 1.29 5.55 3.63 7.38a12.768 12.768 0 0 0 7.74 2.52h.1c5.78-.04 11.6-3.69 11.57-11.75-.01-2.7.16-16.36.16-16.5 0-1.38 1.4-1.81 2.33-2.1.49-.15.78-.24.78-.45 0-.13.03-.27.06-.39.05-.2.09-.38-.01-.49-.04-.08-.13-.11-.25-.1Zm49.72 23.14c0 .02-.45 1.91-1.87 3.4a5.292 5.292 0 0 1-2.82 1.49c-3.03.61-6.82.85-8.38-.3a1.797 1.797 0 0 1-.75-1.29c-.07-.71-.02-21.51-.02-21.72 0-2.05 1.52-2.47 2.52-2.74.49-.13.84-.23.84-.5 0-.2.05-.39.1-.56.06-.23.11-.41.01-.53-.09-.11-.26-.11-.37-.1-3.33.31-7.09.13-9.1.03-1.51-.07-1.69-.07-1.76 0-.08.08-.75.77-.61 1.17.03.09.12.21.36.24 2.03.25 3.13 1.05 3.13 4.53l.01 17.51c0 6.15-2.81 6.39-2.84 6.39l-.14.01.38 1.13h.08c.14 0 13.96-.46 17.78-.16l1.01.09c.55.05 1 .1 1.37.1.71 0 1.15-.16 1.43-.71.47-.94.77-7.33.78-7.6l.01-.13-1.13.18-.02.07Zm22.62-21.3c-2.69-2.16-9.17-1.66-14.39-1.26-1.58.12-3.08.24-4.23.25-.92-.05-1.01-.04-1.07.02-.08.08-.78.76-.64 1.16.05.14.17.22.38.25 2.28.27 2.86 1.2 2.86 4.51l.02 19.83c0 2.06-1.24 2.54-2.06 2.86-.4.16-.69.27-.69.53 0 .2-.05.39-.1.56-.06.22-.12.4-.01.53.09.11.27.11.39.1 3.52-.31 7.02-.13 8.91-.03.67.04 1.05.05 1.27.05.22 0 .28-.02.32-.05.09-.08.8-.93.64-1.4-.03-.1-.13-.24-.38-.26-2.16-.26-3.49-1.1-3.49-4.52l-.01-7.58c0-.28.07-.49.19-.6.08-.07.17-.1.29-.1l1.17.08c2.84.22 7.13.54 9.88-1.23a8.982 8.982 0 0 0 4.07-7.36 7.502 7.502 0 0 0-3.32-6.34Zm-5.32 12.41c-.74.35-1.6.53-2.55.53h-.03c-2.68-.01-3.68-.53-4.05-.96-.22-.26-.19-.47-.19-.49v-9.94c5.24-1.02 9.01.31 10.08 3.56a6.2 6.2 0 0 1-3.26 7.3Zm-41.49 8.66c-.36-.08-.77.3-1.26 1.15-.23.39-.42.77-.6 1.14-.95 1.9-1.63 3.28-6.08 3.28-5.31 0-6.98-.28-7.13-2.06-.15-1.77-.01-10.42 0-11.04.11-.14.78-.85 2.51-.85h3.07c.03 0 2.71.25 3.29 3.15.05.23.17.32.27.34.4.12 1.07-.53 1.14-.6l.03-.03v-6.23a.9.9 0 0 0-.42-.56c-.22-.12-.48-.12-.78-.02l-.05.02-.02.05c-.37 1.29-1.61 1.35-3.77 1.35-2.03 0-4.69.36-5.28.45v-9.01h8.36c.03 0 3.47.19 4.21 3.15.3 1.2.71 1.53 1 1.6.23.06.46-.03.66-.25.4-.46.62-1.48.23-2.49-.75-1.96-.76-5.32-.76-5.35v-.12l-2.34.24h-18.48c-.9 0-1.48.21-1.71.61-.28.49.06 1.06.08 1.09l.03.05h.06c.01 0 1.43-.04 2.54 1.03.9.86 1.35 2.19 1.35 3.95l.02 19.48c0 2.18-1.26 2.71-2.09 3.07-.32.14-.58.24-.67.42-.37.68-.45 1.01-.33 1.21.12.2.43.19.85.18l.34-.01c.12 0 11.68-.3 18.38 0 .24.01.5.07.78.13.31.07.65.15.96.15.44 0 .84-.14 1.12-.64.73-1.27 1.08-6.59 1.09-6.84.02-.11-.09-1.08-.6-1.19Zm-112.71-2.48a2.7 2.7 0 0 0 1.63.49c.64 0 1.27-.16 1.78-.31 2.22-.67 4.81-4.4 4.81-8.21 0-2.16-.77-3.56-2.18-3.93-1.92-.51-4.54 1.08-5.98 3.61-.66 1.17-1.45 2.88-1.44 4.4.03 1.97.49 3.3 1.38 3.95Zm1.87-7.19c.69-1.26 1.56-2.12 2.41-2.36.16-.04.31-.07.46-.07.25 0 .49.06.7.19 1.05.6.85 3.15-.04 4.74-.92 1.64-1.85 2.76-3.39 2.89-.42.03-.74-.11-.95-.43-.59-.9-.24-3.03.81-4.96Z"/><path d="M54.37 70.083a1.75 1.75 0 0 0-1.3-.22c-5.09.98-7.12 5.32-8.59 10.12-.76.01-1.57-.01-2.44-.06a.37.37 0 0 0-.3.14.37.37 0 0 0-.06.32l.16.51c.16.49.61.82 1.12.82h1.01l-.36 1.29c-1.78 6.44-4.08 12.88-11.28 12.12-.17-.02-.38-.1-.49.02a.52.52 0 0 0-.14.46l.06.38c.03.17.17.3.35.34 4.6 1.11 8.46-1.54 10.22-3.88 1.93-2.56 3.11-6.01 3.94-9.51l.29-1.22c2.76-.03 3.05.16 3.23.28.11.08.2.12.48.12.08 0 .15-.04.19-.1a.23.23 0 0 0 .04-.21l-.35-1.09a1.1 1.1 0 0 0-1.05-.76l-2.09.01c.91-3.38 2.09-6.26 4.64-7.44h.01l.03-.01c.6-.29.85-.26.95-.18.19.14.12.62.05 1.04-.08.51-.16 1.04.14 1.26.24.18.66.1 1.33-.23l.05-.02.64-3.46v-.02a1.19 1.19 0 0 0-.48-.82Zm-17.48-38.41c-2.72.26-7.37.11-10.15.03-2.33-.07-2.48-.07-2.54 0-.08.08-.64.76-.51 1.13.03.09.11.19.31.22.97.12 2.43.5 3.6 1.21 1.47.88 2.2 2.05 2.18 3.47l.02 20.02a8.34 8.34 0 0 1-4.62 7.34 10.58 10.58 0 0 1-10.28-.61c-2.85-1.88-4.28-5.03-4.03-8.86l.02-18.32c0-2.74 1.66-3.39 2.76-3.82.52-.2.89-.35.89-.67 0-.3.09-.52.15-.69.06-.16.11-.28.03-.38-.08-.1-.24-.1-.49-.08-4.43.42-8.59.17-10.83.04-1.47-.09-1.74-.1-1.83-.01a1.192 1.192 0 0 1-.11.1c-.39.35-.79.75-.69 1.06.05.15.2.24.46.27 2.66.33 4.01 1.35 4.01 6l-.04 19.47a11.16 11.16 0 0 0 5.99 10.04 15.78 15.78 0 0 0 7.52 1.83c3.03 0 6.09-.79 8.6-2.35 4.23-2.63 6.43-7.03 6.21-12.4-.14-3.3-.06-19.76-.05-19.93 0-1.71 1.66-2.24 2.76-2.6.56-.18.9-.29.9-.52 0-.17.04-.32.08-.46.05-.19.09-.34 0-.45-.08-.09-.22-.09-.32-.08Zm31.25.33c-2.11.2-5.62.09-7.71.02-1.86-.06-1.87-.05-1.93.01-.08.08-.51.71-.4 1.04.04.11.13.18.26.19 1.59.2 4.26.84 4.26 2.9l-.04 18.56c-.39-.34-1.81-2.07-6.57-8.89-4.45-6.37-9.53-13.91-9.59-13.99l-.04-.06-.07.03c-.03.01-.89.29-6.41-.16h-.04l-.03.02c-.19.13-1.13.82-1.02 1.23.04.15.19.23.45.25 3.89.32 3.87 1.6 3.84 5.01l-.01 1.12-.03 19.66c0 1.31-1.77 1.88-2.83 2.22-.61.2-.92.3-.92.49 0 .11-.02.25-.05.41-.06.33-.11.65.03.8.04.04.11.09.22.08 2.11-.2 5.9-.09 8.17-.02 2.05.06 2.06.05 2.12 0 .1-.1.51-.83.39-1.18a.3.3 0 0 0-.25-.2c-1.53-.19-4.11-.82-4.11-2.9l-.02-18.38c1.67 2.12 14.64 18.74 16.1 23.73.01.03.2.69.64.79l.11.01c.21 0 .42-.13.65-.38.4-.46.61-.54.84-.63.12-.05.25-.1.41-.2.57-.36.58-.64.62-1.26v-.05l-.02-26.53c0-1.31 1.45-1.9 2.41-2.29.51-.2.79-.32.79-.51 0-.12.03-.25.06-.37.05-.2.09-.37-.01-.48-.06-.08-.15-.1-.27-.09Zm190.77.11c-2.24.21-5.84.09-8 .02-1.82-.06-1.9-.05-1.96 0-.05.05-.52.54-.42.83.02.07.09.16.28.18h.32a3.37 3.37 0 0 1 2.69 1.82c.29.66.24 1.37-.14 2.06l-5.87 9.71-5.32-9.2c-.66-1.32-.78-2.62-.33-3.47.31-.58.85-.92 1.61-1.01l.59-.01c.19-.02.26-.12.29-.19.11-.31-.4-.82-.45-.88-.06-.06-.15-.07-2.25 0-2.45.07-6.55.2-8.95-.03-.16-.01-.27.02-.33.1-.11.14-.04.37.06.66l.05.16c.05.16.24.2.52.27.65.15 1.86.42 2.87 2.4l8.42 15.59.07 6.72c-.02 2.86-1.3 3.1-2.06 3.24-.33.06-.62.12-.62.4 0 .23-.06.45-.11.64-.07.25-.12.45-.01.58.1.12.28.11.41.1 3.85-.36 6.9-.14 8.55-.03.51.04.82.06 1 .06.18 0 .24-.02.28-.06.03-.03.84-.85.69-1.3-.05-.15-.18-.23-.4-.26-2.34-.29-2.96-1.34-3-5.07l.02-6.27 8.15-14.59a4.48 4.48 0 0 1 2.93-1.99c.4-.11.64-.17.64-.37 0-.13.04-.26.07-.38.04-.16.08-.29 0-.39-.08-.05-.21-.05-.29-.04Zm-56.72 29.22c-2.04-.25-3.14-1.05-3.14-4.51l-.03-20.51c0-2.05 1.36-2.51 2.26-2.82.44-.15.75-.26.75-.52 0-.2.05-.39.1-.56.06-.22.11-.4.01-.52-.09-.11-.25-.1-.37-.09-3.31.31-7 .13-8.97.03-1.47-.07-1.65-.07-1.72 0-.08.08-.74.76-.61 1.16.03.09.12.21.36.24 1.83.23 4 1.26 4 4.88l.02 20.25c0 2.05-1.25 2.46-2.07 2.74-.39.13-.7.23-.7.49 0 .2-.05.39-.1.56-.06.22-.11.4-.01.52.09.11.25.1.37.09 3.35-.31 6.5-.13 8.19-.03l1.11.05c.19 0 .26-.02.29-.05.08-.08.74-.76.61-1.16-.03-.09-.11-.21-.35-.24Zm-21.78-17.36c-.55-.07-1.2-.17-1.83-.36-1.75-.53-4.74-1.82-5.21-4.44-.08-.45-.06-.92.06-1.42.47-1.98 2.52-4.07 6.74-3.44 4.01.6 6.03 3.03 6.01 5.18 0 .1.09.17.18.14l1.15-.34a.28.28 0 0 0 .21-.31 45.093 45.093 0 0 1-.43-4.05c0-.9.24-2.21.38-2.91.15-.73-.06-.56-.06-.56-1.01.52-2.81.26-4.71-.01-1.35-.2-2.74-.4-3.85-.3-6.38.3-9.96 4.51-10.21 8.51a7.117 7.117 0 0 0 1.81 5.22c1.44 1.62 3.65 2.73 6.39 3.21 4.42.97 6.92 2.06 7.48 5.09a5.61 5.61 0 0 1-.19 2.79c-1.2 3.54-4.86 4.11-7.89 3.45-5.15-1.11-7.06-4.52-6.85-7.49 0-.06-.05-.1-.1-.08l-1.51.51a.2.2 0 0 0-.14.21c.17 1.52.35 4.23.03 5.51-.09.37.1.88.53 1.44 1.41 1.81 4.06 3.48 8.5 3.48l.46.01c7.8 0 11.72-4.79 12.07-9.32.31-4.22-2.35-8.84-9.02-9.72Zm48.36-12.05c-.18-.19-.44-.27-.81-.25-.38.02-.86.14-1.47.37-.12.04-.25.07-.37.07h-18.08a.966.966 0 0 1-.37-.07c-1.17-.43-1.83-.49-2.2-.2-.28.22-.39.63-.32 1.29.08.81.04 3.31.01 4.81l-.01 1.04c0 .97.32 1.19.58 1.22.48.05 1.04-.64 1.14-1.2.67-4.02 2.41-3.98 5.29-3.9l1.31.02c1.05 0 1.41.95 1.41 1.39l.01 20.68c0 2.36-1.51 3.03-2.52 3.47-.47.21-.82.36-.82.64 0 .23-.06.45-.11.64-.07.25-.12.45-.01.58.1.12.28.11.41.1 3.82-.36 7.51-.15 9.49-.03.68.04 1.07.06 1.3.06.22 0 .29-.02.33-.06.03-.03.85-.86.69-1.31-.05-.15-.18-.23-.4-.26-2.25-.28-3.56-1.18-3.6-4.98v-19.47c0-.56.39-1.46 1.42-1.46l1.31-.02h.14c2.73-.07 4.11-.11 4.78 3.9.06.33.27.7.54.95.26.23.53.31.75.21.28-.13.43-.52.43-1.18l-.01-1.04c-.02-1.5-.07-4 .01-4.81.05-.58-.02-.96-.25-1.2Zm-117.3-.08c-2.09.2-5.38.09-7.34.02-1.72-.06-1.73-.05-1.78.01-.09.09-.5.74-.39 1.07.04.11.13.18.26.19h.3c.13 0 .24.01.34.04 2.09.5 2.57 3.23 2.12 5.56-.13.68-.35 1.39-.67 2.19l-5.39 13.52-6.32-15.09c-.7-1.83-1.28-3.68-.7-4.79.31-.59.94-.99 1.91-1.23l.69-.09c.13-.02.23-.09.26-.2.12-.35-.32-1.04-.42-1.13-.06-.06-.07-.07-2.26 0-2.42.07-6.48.18-8.71-.02-.12-.01-.2.02-.26.08-.11.12-.06.33-.01.56.03.14.06.28.06.4 0 .19.2.29.54.47.59.31 1.57.83 2.29 2.19 1.01 1.9 11.24 27.73 11.34 27.99.2.63.44.96.72.97h.02c.24 0 .45-.22.64-.66l1.45-3.97c2.76-7.57 8.51-23.33 9.22-24.71a4.195 4.195 0 0 1 1.86-1.94c.25-.14.42-.23.42-.41 0-.11.03-.25.05-.38.05-.24.09-.44-.02-.56-.03-.06-.11-.09-.22-.08Zm26.02 22.93c-.29-.11-.68.12-1.2.71-.12.14-.23.36-.36.65-.58 1.27-1.67 3.64-6.62 3.76-5.36.13-6.96-.33-7.1-2.05-.14-1.73-.01-10.14 0-11 1.96-.59 5.7-.99 5.73-.99 2.21-.1 3 2.33 3.12 3.28.05.44.24.59.38.65.19.08.43.02.64-.16.25-.21.47-.6.4-.98-.08-.39-.02-1.28.05-2.32.14-2.03.29-4.34-.44-4.69-.26-.13-.59-.01-1.01.38-.57.85-1.3 1.49-3 1.8-1.51.28-5.19.56-5.86.61v-9.43c1.05.14 2.34.06 3.7-.03 3.57-.23 7.62-.49 9.13 3.16.36 1.14.73 1.31.98 1.25.49-.12.78-1.29.59-2.37-.38-2.07-.76-5.32-.77-5.36l-.02-.14-.12.06c-.56.28-11 .24-16.61.22h-3.96c-1.45 0-1.63 1.45-1.63 1.47l-.01.11h.11c.02.01 1.43 0 2.54 1.09.89.88 1.34 2.22 1.34 3.97l-.07 19.35c0 2.05-1.42 2.57-2.36 2.91-.45.16-.78.28-.78.54 0 .64.64 1.48 1.32 1.48h18.29c.26 0 .58.08.92.16.37.09.74.17 1.06.17.22 0 .41-.04.56-.15a.783.783 0 0 0 .31-.58c.18-1.42 1.06-6.68 1.07-6.75.02-.07.02-.65-.32-.78Zm-55.71 6.63c-2.33-.29-3.16-1.5-3.16-4.64l-.03-20.62c0-2.06 1.37-2.47 2.27-2.74.44-.13.76-.23.76-.49 0-.2.05-.39.1-.56.06-.22.11-.4.01-.52-.09-.11-.25-.1-.37-.09-3.33.31-7.03.13-9.02.03-1.48-.07-1.65-.07-1.73 0-.08.08-.75.76-.61 1.16.03.09.12.21.36.24 1.84.23 4.02 1.26 4.02 4.89l.04 20.24c0 2.06-1.25 2.53-2.08 2.83-.4.15-.7.26-.7.52 0 .2-.05.39-.1.56-.06.22-.11.4-.01.52.09.11.25.1.37.09 3.36-.32 6.53-.13 8.23-.03l1.11.05c.19 0 .26-.02.29-.05.08-.08.75-.77.61-1.16-.03-.09-.12-.2-.36-.23Zm61.64-24.69c.02.68.14 22.03.14 22.24-.12 1.84-1.44 2.23-2.31 2.49-.43.13-.75.22-.75.47 0 .18-.05.35-.09.51-.06.2-.11.37-.01.49.09.11.25.11.36.09 3.2-.29 6.66-.12 8.52-.03 1.38.07 1.53.07 1.61 0 .07-.07.72-.7.59-1.07-.03-.09-.12-.2-.35-.23-1.98-.24-3.29-1.03-3.29-4.12v-10.03c1.25.14 1.86-.04 2.35.07 1.47.33 3.44 1.9 5.81 6.12.66 1.17 3.73 6.59 3.59 7.42-.06.35-.55.4-.89.45-.29.05-.56.09-.56.32 0 .18-.05.35-.09.51-.06.2-.11.37-.01.49.09.11.25.11.36.09 3.2-.29 6.58-.12 8.44-.03.69.03.04.05.26.05s.28-.02.32-.05c.07-.07.72-.7.59-1.07-.03-.09-.12-.2-.35-.23-2.04-.24-2.68-1.13-4.98-4.08-.61-.88-1.2-1.79-1.77-2.68-1.84-2.87-3.34-6.42-5.42-8 3.1-.31 4.53-2.03 5.55-3.23a8.04 8.04 0 0 0 1.89-5.57 6.532 6.532 0 0 0-1.95-4.4 7.24 7.24 0 0 0-5.33-1.78c-3.2.11-10.31.02-13.73-.23-.95-.07-1.61-.04-1.99.3-.24.22-.35.56-.35 1.07v.09l.09.01c-.01.02 3.68.53 3.75 3.55Zm4.41-1.92 4.1-.21c2.46-.21 4.53.79 5.55 2.67a4.762 4.762 0 0 1-.38 5.21c-1.66 2.13-5.04 2.75-9.27 1.7v-9.37Z"/></g></svg>`;
772
-
773
- 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>`;
774
-
775
- var faBars = {};
776
-
777
- (function (exports) {
778
- Object.defineProperty(exports, '__esModule', { value: true });
779
- var prefix = 'fas';
780
- var iconName = 'bars';
781
- var width = 448;
782
- var height = 512;
783
- var aliases = ["navicon"];
784
- var unicode = 'f0c9';
785
- var svgPathData = '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';
786
-
787
- exports.definition = {
788
- prefix: prefix,
789
- iconName: iconName,
790
- icon: [
791
- width,
792
- height,
793
- aliases,
794
- unicode,
795
- svgPathData
796
- ]};
797
-
798
- exports.faBars = exports.definition;
799
- exports.prefix = prefix;
800
- exports.iconName = iconName;
801
- exports.width = width;
802
- exports.height = height;
803
- exports.ligatures = aliases;
804
- exports.unicode = unicode;
805
- exports.svgPathData = svgPathData;
806
- exports.aliases = aliases;
807
- }(faBars));
808
-
809
- var faSearch = {};
810
-
811
- var faMagnifyingGlass = {};
812
-
813
- (function (exports) {
814
- Object.defineProperty(exports, '__esModule', { value: true });
815
- var prefix = 'fas';
816
- var iconName = 'magnifying-glass';
817
- var width = 512;
818
- var height = 512;
819
- var aliases = [128269,"search"];
820
- var unicode = 'f002';
821
- var svgPathData = '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';
822
-
823
- exports.definition = {
824
- prefix: prefix,
825
- iconName: iconName,
826
- icon: [
827
- width,
828
- height,
829
- aliases,
830
- unicode,
831
- svgPathData
832
- ]};
833
-
834
- exports.faMagnifyingGlass = exports.definition;
835
- exports.prefix = prefix;
836
- exports.iconName = iconName;
837
- exports.width = width;
838
- exports.height = height;
839
- exports.ligatures = aliases;
840
- exports.unicode = unicode;
841
- exports.svgPathData = svgPathData;
842
- exports.aliases = aliases;
843
- }(faMagnifyingGlass));
844
-
845
- (function (exports) {
846
- Object.defineProperty(exports, '__esModule', { value: true });
847
- var source = faMagnifyingGlass;
848
- exports.definition = {
849
- prefix: source.prefix,
850
- iconName: source.iconName,
851
- icon: [
852
- source.width,
853
- source.height,
854
- source.aliases,
855
- source.unicode,
856
- source.svgPathData
857
- ]};
858
-
859
- exports.faSearch = exports.definition;
860
- exports.prefix = source.prefix;
861
- exports.iconName = source.iconName;
862
- exports.width = source.width;
863
- exports.height = source.height;
864
- exports.ligatures = source.aliases;
865
- exports.unicode = source.unicode;
866
- exports.svgPathData = source.svgPathData;
867
- exports.aliases = source.aliases;
868
- }(faSearch));
869
-
870
- var faCaretDown = {};
871
-
872
- (function (exports) {
873
- Object.defineProperty(exports, '__esModule', { value: true });
874
- var prefix = 'fas';
875
- var iconName = 'caret-down';
876
- var width = 320;
877
- var height = 512;
878
- var aliases = [];
879
- var unicode = 'f0d7';
880
- var svgPathData = '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';
881
-
882
- exports.definition = {
883
- prefix: prefix,
884
- iconName: iconName,
885
- icon: [
886
- width,
887
- height,
888
- aliases,
889
- unicode,
890
- svgPathData
891
- ]};
892
-
893
- exports.faCaretDown = exports.definition;
894
- exports.prefix = prefix;
895
- exports.iconName = iconName;
896
- exports.width = width;
897
- exports.height = height;
898
- exports.ligatures = aliases;
899
- exports.unicode = unicode;
900
- exports.svgPathData = svgPathData;
901
- exports.aliases = aliases;
902
- }(faCaretDown));
903
-
904
- var faUser = {};
905
-
906
- (function (exports) {
907
- Object.defineProperty(exports, '__esModule', { value: true });
908
- var prefix = 'fas';
909
- var iconName = 'user';
910
- var width = 448;
911
- var height = 512;
912
- var aliases = [128100,62144];
913
- var unicode = 'f007';
914
- var svgPathData = 'M224 256A128 128 0 1 0 224 0a128 128 0 1 0 0 256zm-45.7 48C79.8 304 0 383.8 0 482.3C0 498.7 13.3 512 29.7 512H418.3c16.4 0 29.7-13.3 29.7-29.7C448 383.8 368.2 304 269.7 304H178.3z';
915
-
916
- exports.definition = {
917
- prefix: prefix,
918
- iconName: iconName,
919
- icon: [
920
- width,
921
- height,
922
- aliases,
923
- unicode,
924
- svgPathData
925
- ]};
926
-
927
- exports.faUser = exports.definition;
928
- exports.prefix = prefix;
929
- exports.iconName = iconName;
930
- exports.width = width;
931
- exports.height = height;
932
- exports.ligatures = aliases;
933
- exports.unicode = unicode;
934
- exports.svgPathData = svgPathData;
935
- exports.aliases = aliases;
936
- }(faUser));
937
-
938
- const TRANSITION_BREAKPOINT = 1024;
939
- const MAX_CONTENT_WIDTH = 1320;
940
- const MENU_CHAR_LIMIT = 35;
941
- const topLinks = [
942
- {
943
- text: 'Give',
944
- href: 'https://bbis.alumni.uoguelph.ca/BBIS_Cannon/give/uofg',
945
- },
946
- {
947
- text: 'News',
948
- href: 'https://news.uoguelph.ca/',
949
- },
950
- {
951
- text: 'Quick Links',
952
- links: [
953
- {
954
- text: 'Future Students',
955
- href: 'https://uoguelph.ca/future-students',
956
- },
957
- {
958
- text: 'Current Students',
959
- href: 'https://www.uoguelph.ca/students',
960
- },
961
- {
962
- text: 'Alumni & Donors',
963
- href: 'https://alumni.uoguelph.ca/',
964
- },
965
- {
966
- text: 'Faculty & Staff',
967
- href: 'https://www.uoguelph.ca/faculty',
968
- },
969
- {
970
- text: 'Employers & Partners',
971
- href: 'https://cecs.uoguelph.ca/employers-institutions',
972
- },
973
- ],
974
- },
975
- {
976
- text: 'APPLY NOW',
977
- href: 'https://uoguelph.ca/apply/',
978
- highlight: true,
979
- },
980
- ];
981
- const mainLinks = [
982
- {
983
- text: 'About',
984
- href: 'https://uoguelph.ca/about',
985
- },
986
- {
987
- text: 'Academics',
988
- href: 'https://www.uoguelph.ca/explore-all-programs/',
989
- },
990
- {
991
- text: 'Admission',
992
- href: 'https://uoguelph.ca/admissions',
993
- },
994
- {
995
- text: 'Research',
996
- href: 'https://uoguelph.ca/research',
997
- },
998
- {
999
- text: 'Student Life',
1000
- href: 'https://www.uoguelph.ca/studentexperience/',
1001
- },
1002
- ];
1003
- const search = {
1004
- text: 'Search the University of Guelph',
1005
- href: 'https://uoguelph.ca/search',
1006
- icon: faSearch.faSearch,
1007
- };
1008
- const account = {
1009
- text: 'Account Menu',
1010
- links: [
1011
- {
1012
- text: 'Intranet',
1013
- href: 'https://intranet.uoguelph.ca/',
1014
- },
1015
- {
1016
- text: 'WebAdvisor',
1017
- href: 'https://www.uoguelph.ca/webadvisor/',
1018
- },
1019
- {
1020
- text: 'GryphMail',
1021
- href: 'https://mail.uoguelph.ca/',
1022
- },
1023
- {
1024
- text: 'CourseLink',
1025
- href: 'https://courselink.uoguelph.ca/',
1026
- },
1027
- {
1028
- text: 'GryphLife',
1029
- href: 'https://gryphlife.uoguelph.ca/',
1030
- },
1031
- ],
1032
- icon: faUser.faUser,
1033
- };
1034
- const UofgHeader = class {
1035
- constructor(hostRef) {
1036
- registerInstance(this, hostRef);
1037
- this.subContainerOverflowWidth = NaN;
1038
- this.needsOverflowWidthUpdate = false;
1039
- this.pageTitle = '';
1040
- this.pageUrl = '';
1041
- this.isFullSize = false;
1042
- this.pageSpecificContent = undefined;
1043
- this.isSubContainerOverflowing = false;
1044
- }
1045
- connectedCallback() {
1046
- var _a;
1047
- attachTailwind(this.el.shadowRoot);
1048
- this.updateFullSize();
1049
- this.updatePageSpecificContent();
1050
- (_a = this.observer) !== null && _a !== void 0 ? _a : (this.observer = new MutationObserver(() => {
1051
- this.updatePageSpecificContent();
1052
- this.subContainerOverflowWidth = NaN; // Reset overflow width as it will have changed and needs to be recalculated
1053
- this.needsOverflowWidthUpdate = true;
1054
- }));
1055
- this.observer.observe(this.el, { childList: true, subtree: true });
1056
- }
1057
- componentDidLoad() {
1058
- this.updateSubContainerOverflow();
1059
- }
1060
- updateFullSize() {
1061
- this.isFullSize = window.innerWidth >= TRANSITION_BREAKPOINT;
1062
- this.updateSubContainerOverflow();
1063
- }
1064
- updateSubContainerOverflow() {
1065
- if (this.isFullSize && this.subContainer) {
1066
- const { clientWidth, scrollWidth } = this.subContainer;
1067
- if (scrollWidth > clientWidth) {
1068
- this.subContainerOverflowWidth = scrollWidth;
1069
- }
1070
- this.isSubContainerOverflowing = this.subContainerOverflowWidth > Math.min(clientWidth, MAX_CONTENT_WIDTH);
1071
- }
1072
- }
1073
- componentDidRender() {
1074
- if (this.needsOverflowWidthUpdate) {
1075
- window.requestAnimationFrame(() => this.updateSubContainerOverflow());
1076
- this.needsOverflowWidthUpdate = false;
1077
- }
1078
- }
1079
- updatePageSpecificContent() {
1080
- var _a;
1081
- const aToPageSpecificLink = (a) => {
1082
- const attributes = {};
1083
- a.getAttributeNames()
1084
- .filter(name => name !== 'href')
1085
- .forEach(name => (attributes[name] = a.getAttribute(name)));
1086
- return {
1087
- href: a.getAttribute('href'),
1088
- text: a.textContent,
1089
- attributes,
1090
- };
1091
- };
1092
- this.pageSpecificContent = Array.from((_a = this.el) === null || _a === void 0 ? void 0 : _a.children)
1093
- .filter(child => child.tagName === 'A' || child.tagName === 'UL')
1094
- .map(child => {
1095
- switch (child.tagName) {
1096
- case 'A':
1097
- return aToPageSpecificLink(child);
1098
- case 'UL':
1099
- const value = {
1100
- title: child.getAttribute('data-title'),
1101
- links: Array.from(child.querySelectorAll('a')).map(aToPageSpecificLink),
1102
- };
1103
- value.wrapContent = value.links.reduce((shouldWrap, link) => {
1104
- if (link.text.length > MENU_CHAR_LIMIT) {
1105
- shouldWrap = true;
1106
- }
1107
- return shouldWrap;
1108
- }, false);
1109
- return value;
1110
- }
1111
- })
1112
- .filter(val => Boolean(val));
1113
- }
1114
- render() {
1115
- var _a, _b;
1116
- return (h("header", { key: '086e88ed7fc9986ccd763b97a2d030f28c70b2f5', class: "tw-relative tw-z-[1000] tw-w-full tw-font-condensed tw-text-2xl tw-text-black" }, this.isFullSize && (h("div", { class: "tw-flex tw-h-16 tw-justify-end tw-bg-white tw-px-[calc((100%-1320px)/2)] tw-text-3xl" }, h("ul", { class: "tw-contents [&>li]:tw-contents" }, [...topLinks, account].map(item => {
1117
- if ('links' in item) {
1118
- return (h("li", null, h("uofg-menu", { class: "tw-relative tw-block tw-h-full", "auto-collapse": true }, h("button", { class: {
1119
- '${} tw-flex tw-h-full tw-items-center tw-justify-center tw-gap-2 tw-p-4 tw-transition-colors hover:tw-bg-uofg-grey aria-expanded:tw-bg-uofg-grey [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current [&>svg]:tw-transition-transform': true,
1120
- '[&>svg]:aria-expanded:tw-rotate-180': !item.icon,
1121
- }, slot: "button" }, !item.icon && h("span", null, item.text.toUpperCase()), h(FontAwesomeIcon, { icon: item.icon || faCaretDown.faCaretDown })), h("ul", { slot: "content", class: "tw-absolute tw-right-0 tw-top-full tw-z-50 tw-flex tw-min-w-[20rem] tw-flex-col tw-bg-uofg-grey [&>li]:tw-contents" }, item.links.map(link => (h("li", null, h("a", { class: "tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-500 tw-p-4 tw-transition-colors hover:tw-bg-uofg-yellow", href: link.href }, link.text))))))));
1122
- }
1123
- return (h("li", null, h("a", { href: item.href, class: `tw-flex tw-items-center tw-justify-center tw-p-4 tw-transition-colors hover:tw-bg-uofg-grey ${item.highlight ? 'tw-bg-uofg-yellow tw-px-6 tw-font-bold' : ''}` }, item.text.toUpperCase())));
1124
- })))), h("nav", { key: '8512ab7abce3d2e54d60f2bb0c594c1ebfa3de6f', class: {
1125
- 'tw-h-[10rem]': this.isFullSize,
1126
- 'tw-h-[5rem]': !this.isFullSize,
1127
- 'tw-relative tw-flex tw-justify-between tw-bg-black tw-px-[calc((100%-1320px)/2)] tw-text-3xl tw-text-white': true,
1128
- }, "aria-label": "Main" }, h("div", { key: '91ec9a844ce48c58dbbd298b04057457b81dd835', class: "tw-flex tw-w-fit" }, this.isFullSize && (h("div", { class: "tw-left-0 tw-h-full tw-w-[7.5rem] min-[1320px]:tw-absolute [&>svg]:tw-block [&>svg]:tw-h-full [&>svg]:tw-w-auto", innerHTML: Decoration })), h("a", { key: '2e7ff366c59aea7e4760815c886db8303f3981a3', class: "tw-h-full tw-w-fit tw-transition-opacity hocus:tw-opacity-75 min-[1320px]:tw-absolute min-[1320px]:tw-left-[max(calc((100%-1320px)/2),7.5rem)] [&>svg]:tw-block [&>svg]:tw-h-full [&>svg]:tw-w-auto", href: "https://www.uoguelph.ca", innerHTML: this.isFullSize ? FullSizeLogo : ReducedSizeLogo, "aria-label": "University of Guelph Home Page" })), this.isFullSize ? (h("ul", { class: "tw-flex tw-items-center tw-justify-center tw-text-3xl tw-font-medium tw-tracking-wide [&>li]:tw-contents" }, mainLinks.map(item => (h("li", null, h("a", { href: item.href, class: "tw-flex tw-h-full tw-items-center tw-justify-center tw-border-0 tw-border-b-8 tw-border-solid tw-border-transparent tw-p-6 tw-pt-8 tw-transition-colors hover:tw-border-uofg-yellow hover:tw-text-uofg-yellow" }, item.text)))), h("li", null, h("a", { class: "tw-flex tw-h-full tw-items-center tw-justify-center tw-border-0 tw-border-b-8 tw-border-solid tw-border-transparent tw-p-4 tw-pb-6 tw-pt-8 tw-text-uofg-yellow tw-transition-colors hover:tw-border-uofg-yellow hover:tw-text-white [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current", href: search.href, "aria-label": search.text }, h(FontAwesomeIcon, { icon: search.icon }))))) : (h("div", { class: "tw-flex tw-h-full" }, h("a", { class: "tw-flex tw-aspect-square tw-h-full tw-items-center tw-justify-center tw-border-0 tw-border-l tw-border-solid tw-border-uofg-grey-950 tw-px-5 tw-transition-colors [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current", href: search.href, "aria-label": search.text }, h(FontAwesomeIcon, { icon: search.icon })), h("uofg-menu", { class: "tw-block tw-h-full", "auto-collapse": true }, h("button", { slot: "button", "aria-label": "Main Menu", class: "tw-flex tw-aspect-square tw-h-full tw-items-center tw-justify-center tw-border-0 tw-border-l tw-border-solid tw-border-uofg-grey-950 tw-px-5 tw-transition-colors aria-expanded:tw-bg-white aria-expanded:tw-text-black [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current" }, h(FontAwesomeIcon, { icon: account.icon })), h("div", { slot: "content", class: "tw-absolute tw-left-0 tw-top-full tw-z-50 tw-flex tw-max-h-[calc(100vh-5rem)] tw-w-full tw-flex-col tw-overflow-y-auto tw-bg-white tw-px-4 tw-text-black tw-shadow-md" }, h("ul", { class: "tw-flex tw-w-full tw-flex-col tw-py-6 [&>li]:tw-contents" }, account.links.map(item => (h("li", null, h("a", { href: item.href, class: `tw-w-full tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey ${(item === null || item === void 0 ? void 0 : item.highlight) ? 'tw-bg-uofg-yellow' : ''}` }, item.text))))))), h("uofg-menu", { class: "tw-block tw-h-full", "auto-collapse": true }, h("button", { slot: "button", "aria-label": "Main Menu", class: "tw-flex tw-aspect-square tw-h-full tw-items-center tw-justify-center tw-border-0 tw-border-l tw-border-solid tw-border-uofg-grey-950 tw-px-5 tw-transition-colors aria-expanded:tw-bg-white aria-expanded:tw-text-black [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current" }, h(FontAwesomeIcon, { icon: faBars.faBars })), h("div", { slot: "content", class: "tw-absolute tw-left-0 tw-top-full tw-z-50 tw-flex tw-max-h-[calc(100vh-5rem)] tw-w-full tw-flex-col tw-overflow-y-auto tw-bg-white tw-px-4 tw-text-black tw-shadow-md" }, h("span", { class: "tw-my-4 tw-text-4xl tw-font-bold" }, "University of Guelph"), h("ul", { class: "tw-flex tw-w-full tw-flex-col tw-pb-6 [&>li]:tw-contents" }, mainLinks.map(item => (h("li", null, h("a", { href: item.href, class: `tw-w-full tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey ${(item === null || item === void 0 ? void 0 : item.highlight) ? 'tw-bg-uofg-yellow' : ''}` }, item.text)))), topLinks.map(item => {
1129
- if ('links' in item) {
1130
- return (h("li", null, h("uofg-menu", { class: "tw-relative tw-block tw-h-full tw-text-black", "auto-collapse": false }, h("button", { class: "tw-flex tw-h-auto tw-w-full tw-items-center tw-justify-between tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey aria-expanded:tw-bg-uofg-grey [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current [&>svg]:tw-transition-transform [&>svg]:aria-expanded:tw-rotate-180", slot: "button" }, h("span", null, item.text), h(FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), h("ul", { slot: "content", class: "tw-flex tw-w-full tw-flex-col [&>li]:tw-contents" }, item.links.map(link => (h("li", null, h("a", { class: "tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey", href: link.href }, link.text))))))));
1131
- }
1132
- return (h("li", null, h("a", { href: item.href, class: `tw-w-full tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey ${(item === null || item === void 0 ? void 0 : item.highlight) ? 'tw-bg-uofg-yellow tw-font-bold' : ''}` }, item.text)));
1133
- }))))))), this.pageSpecificContent.length > 0 && (h("nav", { ref: node => (this.subContainer = node), "aria-label": "Department/Topic", class: "tw-align-items tw-relative tw-flex tw-h-[5rem] tw-justify-end tw-bg-uofg-grey tw-px-[calc((100%-1320px)/2)] tw-text-3xl lg:tw-h-16 lg:tw-whitespace-nowrap" }, this.pageTitle &&
1134
- (this.pageUrl != '' ? (h("a", { class: "tw-mr-auto tw-flex tw-h-full tw-items-center tw-justify-center tw-px-4 tw-font-bold tw-transition-colors hover:tw-bg-uofg-yellow", href: this.pageUrl }, this.pageTitle)) : (h("span", { class: "tw-mr-auto tw-flex tw-h-full tw-items-center tw-justify-center tw-px-4" }, this.pageTitle))), this.isFullSize && !this.isSubContainerOverflowing ? (h("ul", { class: "tw-flex tw-items-center tw-justify-center [&>li]:tw-contents" }, (_a = this.pageSpecificContent) === null || _a === void 0 ? void 0 : _a.map(item => {
1135
- if ('text' in item) {
1136
- return (h("li", null, h("a", Object.assign({ class: "tw-flex tw-h-full tw-items-center tw-justify-center tw-gap-2 tw-px-4 tw-transition-colors hover:tw-bg-uofg-yellow", href: item.href }, item.attributes), item.text)));
1137
- }
1138
- return (h("li", null, h("uofg-menu", { class: "tw-relative tw-h-full", "auto-collapse": true }, h("button", { class: "tw-flex tw-h-full tw-items-center tw-justify-center tw-gap-2 tw-px-4 tw-transition-colors hover:tw-bg-uofg-yellow aria-expanded:tw-bg-uofg-yellow [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current", slot: "button" }, h("span", null, item === null || item === void 0 ? void 0 : item.title), h(FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), h("ul", { slot: "content", class: {
1139
- 'tw-absolute tw-right-0 tw-top-full tw-z-50 tw-flex tw-min-w-[20rem] tw-flex-col tw-bg-uofg-grey [&>li]:tw-contents': true,
1140
- 'wrap-content': item.wrapContent || false,
1141
- } }, item.links.map(link => (h("li", null, h("a", Object.assign({ class: "tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-500 tw-p-4 tw-transition-colors hover:tw-bg-uofg-yellow", href: link.href }, link.attributes), link.text))))))));
1142
- }))) : (h("uofg-menu", { class: "tw-block tw-h-full tw-whitespace-normal lg:tw-relative", "auto-collapse": true }, h("button", { class: "tw-flex tw-aspect-square tw-h-full tw-items-center tw-justify-center tw-border-0 tw-border-l tw-border-solid tw-border-uofg-grey-300 tw-px-6 tw-transition-colors aria-expanded:tw-bg-uofg-yellow lg:tw-border-l-0 [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current", slot: "button", "aria-label": this.pageTitle + ' Menu' }, h(FontAwesomeIcon, { icon: faBars.faBars })), h("ul", { class: "tw-absolute tw-right-0 tw-top-full tw-z-50 tw-flex tw-w-full tw-flex-col tw-bg-white tw-px-4 tw-text-black tw-shadow-md lg:tw-w-[30rem] [&>li]:tw-contents", slot: "content" }, (_b = this.pageSpecificContent) === null || _b === void 0 ? void 0 : _b.map(item => {
1143
- if ('text' in item) {
1144
- return (h("li", { class: "[&>a]:last:tw-pb-4" }, h("a", { href: item.href, class: "tw-w-full tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey" }, item.text)));
1145
- }
1146
- return (h("li", { class: "[&>uofg-menu]:last:tw-pb-6" }, h("uofg-menu", { class: "tw-relative tw-block tw-h-full tw-text-black", "auto-collapse": false }, h("button", { class: "tw-flex tw-h-auto tw-w-full tw-items-center tw-justify-between tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey aria-expanded:tw-bg-uofg-grey [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current [&>svg]:tw-transition-transform [&>svg]:aria-expanded:tw-rotate-180", slot: "button" }, h("span", null, item.title), h(FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), h("ul", { slot: "content", class: "tw-flex tw-w-full tw-flex-col [&>li]:tw-contents" }, item.links.map(item => (h("li", null, h("a", { class: "tw-border-0 tw-border-b tw-border-solid tw-border-uofg-grey-400 tw-p-5 tw-transition-colors hover:tw-bg-uofg-grey", href: item.href }, item.text))))))));
1147
- }))))))));
1148
- }
1149
- get el() { return getElement(this); }
1150
- };
1151
-
1152
- const DURATION_REGEX = /^(\d*\.?\d+)(s|ms)$/;
1153
- const EASING_FUNCTION_REGEX = /^cubic-bezier\((\s*-?\d*\.?\d+\s*,){3}\s*-?\d*\.?\d+\s*\)$|^steps\(\s*\d+\s*(,\s*(start|end))?\s*\)$/;
1154
- const UofgMenu = class {
1155
- constructor(hostRef) {
1156
- registerInstance(this, hostRef);
1157
- this.expanded = createEvent(this, "expanded", 2);
1158
- this.collapsed = createEvent(this, "collapsed", 2);
1159
- this.animationStarted = createEvent(this, "animationStarted", 2);
1160
- this.animationEnded = createEvent(this, "animationEnded", 2);
1161
- this.computedStyle = null;
1162
- this.button = null;
1163
- this.content = null;
1164
- this.contentComputedStyle = null;
1165
- this.observer = new MutationObserver(this.handleMutation);
1166
- this.isExpanded = false;
1167
- this.autoCollapse = false;
1168
- }
1169
- connectedCallback() {
1170
- // Bind functions so that "this" correctly refers to the component's instance.
1171
- this.handleMutation = this.handleMutation.bind(this);
1172
- this.handleClick = this.handleClick.bind(this);
1173
- this.handleFocusout = this.handleFocusout.bind(this);
1174
- this.handleKeyUp = this.handleKeyUp.bind(this);
1175
- this.computedStyle = window.getComputedStyle(this.el);
1176
- this.handleMutation();
1177
- this.observer.observe(this.el, { childList: true });
1178
- }
1179
- disconnectedCallback() {
1180
- this.observer.disconnect();
1181
- }
1182
- handleMutation() {
1183
- // Update the button element
1184
- const button = this.el.querySelector('[slot="button"]');
1185
- // Set up the new button
1186
- button === null || button === void 0 ? void 0 : button.setAttribute('aria-expanded', this.isExpanded ? 'true' : 'false');
1187
- button === null || button === void 0 ? void 0 : button.setAttribute('aria-haspopup', 'true');
1188
- this.button = button;
1189
- // Update the content element
1190
- const content = this.el.querySelector('[slot="content"]');
1191
- if (content == null) {
1192
- this.content = null;
1193
- this.contentComputedStyle = null;
1194
- }
1195
- else {
1196
- this.content = content;
1197
- this.isExpanded
1198
- ? this.content.style.removeProperty('display')
1199
- : this.content.style.setProperty('display', 'none', 'important');
1200
- this.contentComputedStyle = window.getComputedStyle(this.content);
1201
- }
1202
- }
1203
- handleKeyUp(e) {
1204
- if (e.key === 'Escape') {
1205
- this.isExpanded = false;
1206
- if (e.target !== this.button) {
1207
- e.stopPropagation();
1208
- this.isExpanded = false;
1209
- this.button && this.button.focus();
1210
- }
1211
- }
1212
- }
1213
- handleClick(e) {
1214
- //Check if the click was on the button or a descendant of the button
1215
- if (this.button && this.button.contains(e.target)) {
1216
- this.isExpanded = !this.isExpanded;
1217
- return;
1218
- }
1219
- }
1220
- handleFocusout(e) {
1221
- if (this.autoCollapse && !this.el.contains(e.relatedTarget)) {
1222
- this.isExpanded = false;
1223
- }
1224
- }
1225
- handleIsExpandedChange(newValue) {
1226
- var _a, _b, _c;
1227
- (_a = this.button) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', newValue ? 'true' : 'false');
1228
- newValue ? this.expanded.emit() : this.collapsed.emit();
1229
- // No content is slotted, so we don't need to do anything else.
1230
- if (this.content == null) {
1231
- return;
1232
- }
1233
- // Determine what animation type the user wants.
1234
- const type = this.getAnimationType();
1235
- // If Web Animations API isn't supported, or the user requested no animation, we can simply set display style
1236
- if (!WEB_ANIMATIONS_SUPPORTED() || PREFERS_REDUCED_MOTION() || type === 'none') {
1237
- newValue
1238
- ? this.content.style.removeProperty('display')
1239
- : this.content.style.setProperty('display', 'none', 'important');
1240
- return;
1241
- }
1242
- // Check if we are in the middle of an animation.
1243
- const animations = (_b = this.content) === null || _b === void 0 ? void 0 : _b.getAnimations().filter(animation => animation.id === 'uofg-menu-animation');
1244
- // If we are, then we want to reverse the existing one rather than starting a new animation.
1245
- if (animations.length > 0) {
1246
- animations === null || animations === void 0 ? void 0 : animations.forEach(animation => animation.reverse());
1247
- return;
1248
- }
1249
- let animationDef;
1250
- const options = {
1251
- id: 'uofg-menu-animation',
1252
- duration: this.getAnimationDuration(),
1253
- fill: 'none',
1254
- easing: this.getAnimationEasing(),
1255
- direction: newValue ? 'normal' : 'reverse',
1256
- };
1257
- // Need to remove display none, otherwise keyframe values won't be calculated correctly.
1258
- this.content.style.removeProperty('display');
1259
- switch (type) {
1260
- case 'fade':
1261
- animationDef = this.fadeAnimation();
1262
- break;
1263
- case 'slide':
1264
- animationDef = this.slideAnimation();
1265
- break;
1266
- default:
1267
- animationDef = this.fadeAnimation();
1268
- }
1269
- // We can start the animation.
1270
- this.animationStarted.emit(newValue);
1271
- (_c = this.content) === null || _c === void 0 ? void 0 : _c.animate(animationDef.keyframes, options).finished.finally(() => {
1272
- var _a;
1273
- // Once the animation is done (or something went wrong during it), we update the content's display style.
1274
- if (this.content) {
1275
- this.isExpanded
1276
- ? this.content.style.removeProperty('display')
1277
- : this.content.style.setProperty('display', 'none', 'important');
1278
- (_a = animationDef.callback) === null || _a === void 0 ? void 0 : _a.call(animationDef);
1279
- this.animationEnded.emit(this.isExpanded);
1280
- }
1281
- });
1282
- }
1283
- getAnimationType() {
1284
- var _a;
1285
- const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-type')) || '';
1286
- switch (str) {
1287
- case 'slide':
1288
- case 'fade':
1289
- return str;
1290
- default:
1291
- return 'none';
1292
- }
1293
- }
1294
- getAnimationDuration() {
1295
- var _a;
1296
- const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-duration')) || '';
1297
- const matches = DURATION_REGEX.exec(str);
1298
- if (matches == null) {
1299
- return 200;
1300
- }
1301
- return Number.parseFloat(matches[1]) * (matches[2] == 's' ? 1000 : 1);
1302
- }
1303
- getAnimationEasing() {
1304
- var _a;
1305
- const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-easing')) || '';
1306
- switch (str) {
1307
- case 'linear':
1308
- case 'ease':
1309
- case 'ease-in':
1310
- case 'ease-out':
1311
- case 'ease-in-out':
1312
- case 'step-start':
1313
- case 'step-end':
1314
- return str;
1315
- default:
1316
- return EASING_FUNCTION_REGEX.test(str) ? str : 'ease-in-out';
1317
- }
1318
- }
1319
- fadeAnimation() {
1320
- return { keyframes: [{ opacity: 0 }, { opacity: 1 }] };
1321
- }
1322
- slideAnimation() {
1323
- var _a, _b, _c, _d, _e;
1324
- this.content && this.content.style.setProperty('overflow-y', 'hidden', 'important');
1325
- return {
1326
- keyframes: [
1327
- {
1328
- height: 0,
1329
- paddingTop: 0,
1330
- paddingBottom: 0,
1331
- marginTop: 0,
1332
- marginBottom: 0,
1333
- },
1334
- {
1335
- height: ((_a = this.contentComputedStyle) === null || _a === void 0 ? void 0 : _a.height) || 0,
1336
- paddingTop: ((_b = this.contentComputedStyle) === null || _b === void 0 ? void 0 : _b.paddingTop) || 0,
1337
- paddingBottom: ((_c = this.contentComputedStyle) === null || _c === void 0 ? void 0 : _c.paddingBottom) || 0,
1338
- marginTop: ((_d = this.contentComputedStyle) === null || _d === void 0 ? void 0 : _d.marginTop) || 0,
1339
- marginBottom: ((_e = this.contentComputedStyle) === null || _e === void 0 ? void 0 : _e.marginBottom) || 0,
1340
- },
1341
- ],
1342
- callback: () => {
1343
- this.content && this.content.style.removeProperty('overflow-y');
1344
- },
1345
- };
1346
- }
1347
- render() {
1348
- return (h(Host, { key: '40c0e7a6dd7f457145ed744aaf86595f72566f8c', "data-expanded": this.isExpanded, tabindex: -1, onFocusout: this.handleFocusout, onKeyUp: this.handleKeyUp, onClick: this.handleClick }));
1349
- }
1350
- /**
1351
- * Get the current expanded state of the menu.
1352
- * @returns A promise which will resolve to the current expanded state.
1353
- */
1354
- async getExpanded() {
1355
- return this.isExpanded;
1356
- }
1357
- /**
1358
- * Set the expanded state of the menu.
1359
- * @param value The new expanded state.
1360
- */
1361
- async setExpanded(value) {
1362
- this.isExpanded = value;
1363
- }
1364
- /**
1365
- * Toggle the expanded state of the menu.
1366
- * @returns A promise which will resolve to the new expanded state.
1367
- */
1368
- async toggle() {
1369
- this.isExpanded = !this.isExpanded;
1370
- return this.isExpanded;
1371
- }
1372
- /**
1373
- * Collapse the menu. This is the same as setting the expanded state to false.
1374
- * @returns empty Promise.
1375
- */
1376
- async collapse() {
1377
- this.isExpanded = false;
1378
- }
1379
- /**
1380
- * Expand the menu. This is the same as setting the expanded state to true.
1381
- * @returns empty Promise.
1382
- */
1383
- async expand() {
1384
- this.isExpanded = true;
1385
- }
1386
- get el() { return getElement(this); }
1387
- static get watchers() { return {
1388
- "isExpanded": ["handleIsExpandedChange"]
1389
- }; }
1390
- };
1391
-
1392
- export { UofgBackToTop as uofg_back_to_top, UofgCard as uofg_card, UofgFooter as uofg_footer, UofgHeader as uofg_header, UofgMenu as uofg_menu };