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

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-ClyJk2_i.js +977 -0
  3. package/dist/uofg-web-components/uofg-alert.esm.js +154 -0
  4. package/dist/uofg-web-components/uofg-footer.esm.js +429 -0
  5. package/dist/uofg-web-components/uofg-header.esm.js +2404 -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/improve-life.svg +0 -4
  24. package/dist/collection/components/uofg-footer/uofg-footer.js +0 -145
  25. package/dist/collection/components/uofg-header/decoration.svg +0 -1
  26. package/dist/collection/components/uofg-header/logo-full.svg +0 -1
  27. package/dist/collection/components/uofg-header/logo-reduced.svg +0 -1
  28. package/dist/collection/components/uofg-header/uofg-header.js +0 -280
  29. package/dist/collection/components/uofg-menu/uofg-menu.js +0 -438
  30. package/dist/collection/components/uofg-modal/uofg-modal.js +0 -408
  31. package/dist/collection/index.js +0 -1
  32. package/dist/collection/utils/font-awesome-icon.js +0 -7
  33. package/dist/collection/utils/utils.js +0 -29
  34. package/dist/components/font-awesome-icon.js +0 -10
  35. package/dist/components/index.d.ts +0 -50
  36. package/dist/components/index.js +0 -8
  37. package/dist/components/index2.js +0 -18
  38. package/dist/components/uofg-alert.d.ts +0 -11
  39. package/dist/components/uofg-alert.js +0 -37
  40. package/dist/components/uofg-back-to-top.d.ts +0 -11
  41. package/dist/components/uofg-back-to-top.js +0 -51
  42. package/dist/components/uofg-card.d.ts +0 -11
  43. package/dist/components/uofg-card.js +0 -41
  44. package/dist/components/uofg-footer.d.ts +0 -11
  45. package/dist/components/uofg-footer.js +0 -749
  46. package/dist/components/uofg-header.d.ts +0 -11
  47. package/dist/components/uofg-header.js +0 -418
  48. package/dist/components/uofg-menu.d.ts +0 -11
  49. package/dist/components/uofg-menu.js +0 -6
  50. package/dist/components/uofg-menu2.js +0 -268
  51. package/dist/components/uofg-modal.d.ts +0 -11
  52. package/dist/components/uofg-modal.js +0 -198
  53. package/dist/components/utils.js +0 -30
  54. package/dist/esm/app-globals-0f993ce5.js +0 -3
  55. package/dist/esm/index-06ec28fa.js +0 -1960
  56. package/dist/esm/index.js +0 -1
  57. package/dist/esm/loader.js +0 -11
  58. package/dist/esm/polyfills/core-js.js +0 -11
  59. package/dist/esm/polyfills/dom.js +0 -79
  60. package/dist/esm/polyfills/es5-html-element.js +0 -1
  61. package/dist/esm/polyfills/index.js +0 -34
  62. package/dist/esm/polyfills/system.js +0 -6
  63. package/dist/esm/uofg-alert.entry.js +0 -17
  64. package/dist/esm/uofg-back-to-top_5.entry.js +0 -1392
  65. package/dist/esm/uofg-modal.entry.js +0 -164
  66. package/dist/esm/uofg-web-components.js +0 -20
  67. package/dist/esm/utils-acd1ee82.js +0 -56
  68. package/dist/index.cjs.js +0 -1
  69. package/dist/index.js +0 -1
  70. package/dist/types/components/uofg-alert/uofg-alert.d.ts +0 -5
  71. package/dist/types/components/uofg-back-to-top/uofg-back-to-top.d.ts +0 -11
  72. package/dist/types/components/uofg-card/uofg-card.d.ts +0 -9
  73. package/dist/types/components/uofg-footer/uofg-footer.d.ts +0 -8
  74. package/dist/types/components/uofg-header/uofg-header.d.ts +0 -37
  75. package/dist/types/components/uofg-menu/uofg-menu.d.ts +0 -68
  76. package/dist/types/components/uofg-modal/uofg-modal.d.ts +0 -77
  77. package/dist/types/components.d.ts +0 -303
  78. package/dist/types/index.d.ts +0 -1
  79. package/dist/types/stencil-public-runtime.d.ts +0 -1681
  80. package/dist/types/utils/font-awesome-icon.d.ts +0 -5
  81. package/dist/types/utils/utils.d.ts +0 -5
  82. package/dist/uofg-web-components/index.esm.js +0 -0
  83. package/dist/uofg-web-components/p-4a896033.js +0 -2
  84. package/dist/uofg-web-components/p-4e0da5c7.entry.js +0 -1
  85. package/dist/uofg-web-components/p-663d722e.entry.js +0 -1
  86. package/dist/uofg-web-components/p-84b2d8d2.js +0 -1
  87. package/dist/uofg-web-components/p-b0718d71.entry.js +0 -1
  88. package/dist/uofg-web-components/p-e1255160.js +0 -1
  89. package/loader/cdn.js +0 -3
  90. package/loader/index.cjs.js +0 -3
  91. package/loader/index.d.ts +0 -21
  92. package/loader/index.es2017.js +0 -3
  93. package/loader/index.js +0 -4
  94. package/loader/package.json +0 -11
@@ -1,1400 +0,0 @@
1
- 'use strict';
2
-
3
- Object.defineProperty(exports, '__esModule', { value: true });
4
-
5
- const index = require('./index-eb919017.js');
6
- const utils = require('./utils-93383c5b.js');
7
-
8
- const UofgBackToTop = class {
9
- constructor(hostRef) {
10
- index.registerInstance(this, hostRef);
11
- this.threshold = 50;
12
- this.isVisible = false;
13
- }
14
- connectedCallback() {
15
- utils.attachTailwind(this.el.shadowRoot);
16
- this.onScroll();
17
- }
18
- onScroll() {
19
- this.isVisible = window.scrollY >= this.threshold;
20
- }
21
- render() {
22
- return (index.h("button", { key: '847d2b365d97efd1e642a87f2b7a7efa4fc6d43d', "aria-label": "Go back to the top", class: {
23
- 'tw-opacity-100': this.isVisible,
24
- '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,
25
- }, onClick: () => {
26
- window.scrollTo({ top: 0, behavior: 'smooth' });
27
- } }, index.h(utils.FontAwesomeIcon, { key: '677b62f87847d592da099b729fc858a9bd525c70', icon: utils.faChevronUp })));
28
- }
29
- get el() { return index.getElement(this); }
30
- };
31
-
32
- const UofgCard = class {
33
- constructor(hostRef) {
34
- index.registerInstance(this, hostRef);
35
- this.href = undefined;
36
- }
37
- connectedCallback() {
38
- utils.attachTailwind(this.el.shadowRoot);
39
- }
40
- render() {
41
- var _a;
42
- const Body = () => (index.h(index.Fragment, { key: '26ca92b107e66a75f4c9236e32b29fe1749cd69d' }, index.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" }, index.h("slot", { key: '715c920fcbeeb7453d473e2483b363882adece46', name: "img" })), index.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' }, index.h("slot", { key: '37f41a48475dd04378c49851719a0fb96b9fa1a4', name: "title" }), index.h("slot", { key: '89b9560b7df9b3014628d7c88993cc301e41ff16', name: "subtitle" }), index.h("slot", { key: '6fcd3a1d466a086c8a3ebbd4fc8dcb9ae74f759a', name: "body" })), index.h("div", { key: 'a9879cd32b2eb3f3eae766b93866508c1089f8e8', class: "tw-bg-uofg-blue-200 tw-px-4 tw-py-2" }, index.h("slot", { key: 'd557982d2c393581515b93eed69d8e488f979af3', name: "footer" }))));
43
- const classes = 'tw-flex tw-flex-col tw-bg-uofg-blue-50 tw-text-2xl tw-rounded tw-overflow-hidden';
44
- return ((_a = this === null || this === void 0 ? void 0 : this.href) !== null && _a !== void 0 ? _a : '') != '' ? (index.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` }, index.h(Body, null))) : (index.h("div", { class: classes }, index.h(Body, null)));
45
- }
46
- get el() { return index.getElement(this); }
47
- };
48
-
49
- const improveLifeLogo = `<svg xmlns="http://www.w3.org/2000/svg" fill="#fff" viewBox="0 0 107.4 12">
50
- <path
51
- 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"/>
52
- </svg>
53
- `;
54
-
55
- var faBriefcase = {};
56
-
57
- (function (exports) {
58
- Object.defineProperty(exports, '__esModule', { value: true });
59
- var prefix = 'fas';
60
- var iconName = 'briefcase';
61
- var width = 512;
62
- var height = 512;
63
- var aliases = [128188];
64
- var unicode = 'f0b1';
65
- 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';
66
-
67
- exports.definition = {
68
- prefix: prefix,
69
- iconName: iconName,
70
- icon: [
71
- width,
72
- height,
73
- aliases,
74
- unicode,
75
- svgPathData
76
- ]};
77
-
78
- exports.faBriefcase = exports.definition;
79
- exports.prefix = prefix;
80
- exports.iconName = iconName;
81
- exports.width = width;
82
- exports.height = height;
83
- exports.ligatures = aliases;
84
- exports.unicode = unicode;
85
- exports.svgPathData = svgPathData;
86
- exports.aliases = aliases;
87
- }(faBriefcase));
88
-
89
- var faCalendar = {};
90
-
91
- (function (exports) {
92
- Object.defineProperty(exports, '__esModule', { value: true });
93
- var prefix = 'fas';
94
- var iconName = 'calendar';
95
- var width = 448;
96
- var height = 512;
97
- var aliases = [128197,128198];
98
- var unicode = 'f133';
99
- 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';
100
-
101
- exports.definition = {
102
- prefix: prefix,
103
- iconName: iconName,
104
- icon: [
105
- width,
106
- height,
107
- aliases,
108
- unicode,
109
- svgPathData
110
- ]};
111
-
112
- exports.faCalendar = exports.definition;
113
- exports.prefix = prefix;
114
- exports.iconName = iconName;
115
- exports.width = width;
116
- exports.height = height;
117
- exports.ligatures = aliases;
118
- exports.unicode = unicode;
119
- exports.svgPathData = svgPathData;
120
- exports.aliases = aliases;
121
- }(faCalendar));
122
-
123
- var faCircleCheck = {};
124
-
125
- (function (exports) {
126
- Object.defineProperty(exports, '__esModule', { value: true });
127
- var prefix = 'fas';
128
- var iconName = 'circle-check';
129
- var width = 512;
130
- var height = 512;
131
- var aliases = [61533,"check-circle"];
132
- var unicode = 'f058';
133
- 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';
134
-
135
- exports.definition = {
136
- prefix: prefix,
137
- iconName: iconName,
138
- icon: [
139
- width,
140
- height,
141
- aliases,
142
- unicode,
143
- svgPathData
144
- ]};
145
-
146
- exports.faCircleCheck = exports.definition;
147
- exports.prefix = prefix;
148
- exports.iconName = iconName;
149
- exports.width = width;
150
- exports.height = height;
151
- exports.ligatures = aliases;
152
- exports.unicode = unicode;
153
- exports.svgPathData = svgPathData;
154
- exports.aliases = aliases;
155
- }(faCircleCheck));
156
-
157
- var faHandHoldingHeart = {};
158
-
159
- (function (exports) {
160
- Object.defineProperty(exports, '__esModule', { value: true });
161
- var prefix = 'fas';
162
- var iconName = 'hand-holding-heart';
163
- var width = 576;
164
- var height = 512;
165
- var aliases = [];
166
- var unicode = 'f4be';
167
- 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';
168
-
169
- exports.definition = {
170
- prefix: prefix,
171
- iconName: iconName,
172
- icon: [
173
- width,
174
- height,
175
- aliases,
176
- unicode,
177
- svgPathData
178
- ]};
179
-
180
- exports.faHandHoldingHeart = exports.definition;
181
- exports.prefix = prefix;
182
- exports.iconName = iconName;
183
- exports.width = width;
184
- exports.height = height;
185
- exports.ligatures = aliases;
186
- exports.unicode = unicode;
187
- exports.svgPathData = svgPathData;
188
- exports.aliases = aliases;
189
- }(faHandHoldingHeart));
190
-
191
- var faKey = {};
192
-
193
- (function (exports) {
194
- Object.defineProperty(exports, '__esModule', { value: true });
195
- var prefix = 'fas';
196
- var iconName = 'key';
197
- var width = 512;
198
- var height = 512;
199
- var aliases = [128273];
200
- var unicode = 'f084';
201
- 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';
202
-
203
- exports.definition = {
204
- prefix: prefix,
205
- iconName: iconName,
206
- icon: [
207
- width,
208
- height,
209
- aliases,
210
- unicode,
211
- svgPathData
212
- ]};
213
-
214
- exports.faKey = exports.definition;
215
- exports.prefix = prefix;
216
- exports.iconName = iconName;
217
- exports.width = width;
218
- exports.height = height;
219
- exports.ligatures = aliases;
220
- exports.unicode = unicode;
221
- exports.svgPathData = svgPathData;
222
- exports.aliases = aliases;
223
- }(faKey));
224
-
225
- var faList = {};
226
-
227
- (function (exports) {
228
- Object.defineProperty(exports, '__esModule', { value: true });
229
- var prefix = 'fas';
230
- var iconName = 'list';
231
- var width = 512;
232
- var height = 512;
233
- var aliases = ["list-squares"];
234
- var unicode = 'f03a';
235
- 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';
236
-
237
- exports.definition = {
238
- prefix: prefix,
239
- iconName: iconName,
240
- icon: [
241
- width,
242
- height,
243
- aliases,
244
- unicode,
245
- svgPathData
246
- ]};
247
-
248
- exports.faList = exports.definition;
249
- exports.prefix = prefix;
250
- exports.iconName = iconName;
251
- exports.width = width;
252
- exports.height = height;
253
- exports.ligatures = aliases;
254
- exports.unicode = unicode;
255
- exports.svgPathData = svgPathData;
256
- exports.aliases = aliases;
257
- }(faList));
258
-
259
- var faSitemap = {};
260
-
261
- (function (exports) {
262
- Object.defineProperty(exports, '__esModule', { value: true });
263
- var prefix = 'fas';
264
- var iconName = 'sitemap';
265
- var width = 576;
266
- var height = 512;
267
- var aliases = [];
268
- var unicode = 'f0e8';
269
- 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';
270
-
271
- exports.definition = {
272
- prefix: prefix,
273
- iconName: iconName,
274
- icon: [
275
- width,
276
- height,
277
- aliases,
278
- unicode,
279
- svgPathData
280
- ]};
281
-
282
- exports.faSitemap = exports.definition;
283
- exports.prefix = prefix;
284
- exports.iconName = iconName;
285
- exports.width = width;
286
- exports.height = height;
287
- exports.ligatures = aliases;
288
- exports.unicode = unicode;
289
- exports.svgPathData = svgPathData;
290
- exports.aliases = aliases;
291
- }(faSitemap));
292
-
293
- var faTree = {};
294
-
295
- (function (exports) {
296
- Object.defineProperty(exports, '__esModule', { value: true });
297
- var prefix = 'fas';
298
- var iconName = 'tree';
299
- var width = 448;
300
- var height = 512;
301
- var aliases = [127794];
302
- var unicode = 'f1bb';
303
- 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';
304
-
305
- exports.definition = {
306
- prefix: prefix,
307
- iconName: iconName,
308
- icon: [
309
- width,
310
- height,
311
- aliases,
312
- unicode,
313
- svgPathData
314
- ]};
315
-
316
- exports.faTree = exports.definition;
317
- exports.prefix = prefix;
318
- exports.iconName = iconName;
319
- exports.width = width;
320
- exports.height = height;
321
- exports.ligatures = aliases;
322
- exports.unicode = unicode;
323
- exports.svgPathData = svgPathData;
324
- exports.aliases = aliases;
325
- }(faTree));
326
-
327
- var faUniversalAccess = {};
328
-
329
- (function (exports) {
330
- Object.defineProperty(exports, '__esModule', { value: true });
331
- var prefix = 'fas';
332
- var iconName = 'universal-access';
333
- var width = 512;
334
- var height = 512;
335
- var aliases = [];
336
- var unicode = 'f29a';
337
- 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';
338
-
339
- exports.definition = {
340
- prefix: prefix,
341
- iconName: iconName,
342
- icon: [
343
- width,
344
- height,
345
- aliases,
346
- unicode,
347
- svgPathData
348
- ]};
349
-
350
- exports.faUniversalAccess = exports.definition;
351
- exports.prefix = prefix;
352
- exports.iconName = iconName;
353
- exports.width = width;
354
- exports.height = height;
355
- exports.ligatures = aliases;
356
- exports.unicode = unicode;
357
- exports.svgPathData = svgPathData;
358
- exports.aliases = aliases;
359
- }(faUniversalAccess));
360
-
361
- var faPhoneFlip = {};
362
-
363
- (function (exports) {
364
- Object.defineProperty(exports, '__esModule', { value: true });
365
- var prefix = 'fas';
366
- var iconName = 'phone-flip';
367
- var width = 512;
368
- var height = 512;
369
- var aliases = [128381,"phone-alt"];
370
- var unicode = 'f879';
371
- 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';
372
-
373
- exports.definition = {
374
- prefix: prefix,
375
- iconName: iconName,
376
- icon: [
377
- width,
378
- height,
379
- aliases,
380
- unicode,
381
- svgPathData
382
- ]};
383
-
384
- exports.faPhoneFlip = exports.definition;
385
- exports.prefix = prefix;
386
- exports.iconName = iconName;
387
- exports.width = width;
388
- exports.height = height;
389
- exports.ligatures = aliases;
390
- exports.unicode = unicode;
391
- exports.svgPathData = svgPathData;
392
- exports.aliases = aliases;
393
- }(faPhoneFlip));
394
-
395
- var faFacebookSquare = {};
396
-
397
- var faSquareFacebook = {};
398
-
399
- (function (exports) {
400
- Object.defineProperty(exports, '__esModule', { value: true });
401
- var prefix = 'fab';
402
- var iconName = 'square-facebook';
403
- var width = 448;
404
- var height = 512;
405
- var aliases = ["facebook-square"];
406
- var unicode = 'f082';
407
- 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';
408
-
409
- exports.definition = {
410
- prefix: prefix,
411
- iconName: iconName,
412
- icon: [
413
- width,
414
- height,
415
- aliases,
416
- unicode,
417
- svgPathData
418
- ]};
419
-
420
- exports.faSquareFacebook = exports.definition;
421
- exports.prefix = prefix;
422
- exports.iconName = iconName;
423
- exports.width = width;
424
- exports.height = height;
425
- exports.ligatures = aliases;
426
- exports.unicode = unicode;
427
- exports.svgPathData = svgPathData;
428
- exports.aliases = aliases;
429
- }(faSquareFacebook));
430
-
431
- (function (exports) {
432
- Object.defineProperty(exports, '__esModule', { value: true });
433
- var source = faSquareFacebook;
434
- exports.definition = {
435
- prefix: source.prefix,
436
- iconName: source.iconName,
437
- icon: [
438
- source.width,
439
- source.height,
440
- source.aliases,
441
- source.unicode,
442
- source.svgPathData
443
- ]};
444
-
445
- exports.faFacebookSquare = exports.definition;
446
- exports.prefix = source.prefix;
447
- exports.iconName = source.iconName;
448
- exports.width = source.width;
449
- exports.height = source.height;
450
- exports.ligatures = source.aliases;
451
- exports.unicode = source.unicode;
452
- exports.svgPathData = source.svgPathData;
453
- exports.aliases = source.aliases;
454
- }(faFacebookSquare));
455
-
456
- var faInstagram = {};
457
-
458
- (function (exports) {
459
- Object.defineProperty(exports, '__esModule', { value: true });
460
- var prefix = 'fab';
461
- var iconName = 'instagram';
462
- var width = 448;
463
- var height = 512;
464
- var aliases = [];
465
- var unicode = 'f16d';
466
- 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';
467
-
468
- exports.definition = {
469
- prefix: prefix,
470
- iconName: iconName,
471
- icon: [
472
- width,
473
- height,
474
- aliases,
475
- unicode,
476
- svgPathData
477
- ]};
478
-
479
- exports.faInstagram = exports.definition;
480
- exports.prefix = prefix;
481
- exports.iconName = iconName;
482
- exports.width = width;
483
- exports.height = height;
484
- exports.ligatures = aliases;
485
- exports.unicode = unicode;
486
- exports.svgPathData = svgPathData;
487
- exports.aliases = aliases;
488
- }(faInstagram));
489
-
490
- var faLinkedin = {};
491
-
492
- (function (exports) {
493
- Object.defineProperty(exports, '__esModule', { value: true });
494
- var prefix = 'fab';
495
- var iconName = 'linkedin';
496
- var width = 448;
497
- var height = 512;
498
- var aliases = [];
499
- var unicode = 'f08c';
500
- 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';
501
-
502
- exports.definition = {
503
- prefix: prefix,
504
- iconName: iconName,
505
- icon: [
506
- width,
507
- height,
508
- aliases,
509
- unicode,
510
- svgPathData
511
- ]};
512
-
513
- exports.faLinkedin = exports.definition;
514
- exports.prefix = prefix;
515
- exports.iconName = iconName;
516
- exports.width = width;
517
- exports.height = height;
518
- exports.ligatures = aliases;
519
- exports.unicode = unicode;
520
- exports.svgPathData = svgPathData;
521
- exports.aliases = aliases;
522
- }(faLinkedin));
523
-
524
- var faTiktok = {};
525
-
526
- (function (exports) {
527
- Object.defineProperty(exports, '__esModule', { value: true });
528
- var prefix = 'fab';
529
- var iconName = 'tiktok';
530
- var width = 448;
531
- var height = 512;
532
- var aliases = [];
533
- var unicode = 'e07b';
534
- 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';
535
-
536
- exports.definition = {
537
- prefix: prefix,
538
- iconName: iconName,
539
- icon: [
540
- width,
541
- height,
542
- aliases,
543
- unicode,
544
- svgPathData
545
- ]};
546
-
547
- exports.faTiktok = exports.definition;
548
- exports.prefix = prefix;
549
- exports.iconName = iconName;
550
- exports.width = width;
551
- exports.height = height;
552
- exports.ligatures = aliases;
553
- exports.unicode = unicode;
554
- exports.svgPathData = svgPathData;
555
- exports.aliases = aliases;
556
- }(faTiktok));
557
-
558
- var faTwitterSquare = {};
559
-
560
- var faSquareTwitter = {};
561
-
562
- (function (exports) {
563
- Object.defineProperty(exports, '__esModule', { value: true });
564
- var prefix = 'fab';
565
- var iconName = 'square-twitter';
566
- var width = 448;
567
- var height = 512;
568
- var aliases = ["twitter-square"];
569
- var unicode = 'f081';
570
- 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';
571
-
572
- exports.definition = {
573
- prefix: prefix,
574
- iconName: iconName,
575
- icon: [
576
- width,
577
- height,
578
- aliases,
579
- unicode,
580
- svgPathData
581
- ]};
582
-
583
- exports.faSquareTwitter = exports.definition;
584
- exports.prefix = prefix;
585
- exports.iconName = iconName;
586
- exports.width = width;
587
- exports.height = height;
588
- exports.ligatures = aliases;
589
- exports.unicode = unicode;
590
- exports.svgPathData = svgPathData;
591
- exports.aliases = aliases;
592
- }(faSquareTwitter));
593
-
594
- (function (exports) {
595
- Object.defineProperty(exports, '__esModule', { value: true });
596
- var source = faSquareTwitter;
597
- exports.definition = {
598
- prefix: source.prefix,
599
- iconName: source.iconName,
600
- icon: [
601
- source.width,
602
- source.height,
603
- source.aliases,
604
- source.unicode,
605
- source.svgPathData
606
- ]};
607
-
608
- exports.faTwitterSquare = exports.definition;
609
- exports.prefix = source.prefix;
610
- exports.iconName = source.iconName;
611
- exports.width = source.width;
612
- exports.height = source.height;
613
- exports.ligatures = source.aliases;
614
- exports.unicode = source.unicode;
615
- exports.svgPathData = source.svgPathData;
616
- exports.aliases = source.aliases;
617
- }(faTwitterSquare));
618
-
619
- var faYoutube = {};
620
-
621
- (function (exports) {
622
- Object.defineProperty(exports, '__esModule', { value: true });
623
- var prefix = 'fab';
624
- var iconName = 'youtube';
625
- var width = 576;
626
- var height = 512;
627
- var aliases = [61802];
628
- var unicode = 'f167';
629
- 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';
630
-
631
- exports.definition = {
632
- prefix: prefix,
633
- iconName: iconName,
634
- icon: [
635
- width,
636
- height,
637
- aliases,
638
- unicode,
639
- svgPathData
640
- ]};
641
-
642
- exports.faYoutube = exports.definition;
643
- exports.prefix = prefix;
644
- exports.iconName = iconName;
645
- exports.width = width;
646
- exports.height = height;
647
- exports.ligatures = aliases;
648
- exports.unicode = unicode;
649
- exports.svgPathData = svgPathData;
650
- exports.aliases = aliases;
651
- }(faYoutube));
652
-
653
- const socials = [
654
- {
655
- text: 'Twitter',
656
- icon: faTwitterSquare.faTwitterSquare,
657
- href: 'https://twitter.com/uofg',
658
- class: 'hocus:tw-text-[#1da1f2]',
659
- },
660
- {
661
- text: 'Facebook',
662
- icon: faFacebookSquare.faFacebookSquare,
663
- href: 'https://www.facebook.com/uofguelph',
664
- class: 'hocus:tw-text-[#4267b2]',
665
- },
666
- {
667
- text: 'Instagram',
668
- icon: faInstagram.faInstagram,
669
- href: 'https://www.instagram.com/uofguelph/',
670
- class: 'hocus:tw-text-[#e1306c]',
671
- },
672
- {
673
- text: 'Youtube',
674
- icon: faYoutube.faYoutube,
675
- href: 'https://www.youtube.com/user/uofguelph',
676
- class: 'hocus:tw-text-[#f00]',
677
- },
678
- {
679
- text: 'LinkedIn',
680
- icon: faLinkedin.faLinkedin,
681
- href: 'https://www.linkedin.com/school/university-of-guelph/',
682
- class: 'hocus:tw-text-[#0077b5]',
683
- },
684
- {
685
- text: 'TikTok',
686
- icon: faTiktok.faTiktok,
687
- href: 'https://www.tiktok.com/@uofguelph',
688
- class: 'hocus:tw-text-[#f00]',
689
- },
690
- ];
691
- const links = [
692
- {
693
- text: 'Accessibility',
694
- icon: faUniversalAccess.faUniversalAccess,
695
- href: 'https://www.uoguelph.ca/diversity-human-rights/accessibility-u-g',
696
- },
697
- {
698
- text: 'Privacy',
699
- icon: faKey.faKey,
700
- href: 'https://www.uoguelph.ca/web/privacy/',
701
- },
702
- {
703
- text: 'Site Map',
704
- icon: faSitemap.faSitemap,
705
- href: 'https://www.uoguelph.ca/sitemap',
706
- },
707
- {
708
- text: 'Status Page',
709
- icon: faCircleCheck.faCircleCheck,
710
- href: 'https://uoguelph.statuspage.io/',
711
- },
712
- {
713
- text: 'Land Acknowledgement',
714
- icon: faTree.faTree,
715
- href: 'https://www.uoguelph.ca/land-acknowledgement/',
716
- 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.',
717
- },
718
- {
719
- text: 'Careers',
720
- icon: faBriefcase.faBriefcase,
721
- href: 'https://www.uoguelph.ca/hr/careers-guelph/current-opportunities',
722
- },
723
- {
724
- text: 'Undergraduate Calendar',
725
- icon: faCalendar.faCalendar,
726
- href: 'https://www.uoguelph.ca/registrar/calendars/undergraduate/current/',
727
- },
728
- {
729
- text: 'Graduate Calendar',
730
- icon: faCalendar.faCalendar,
731
- href: 'https://www.uoguelph.ca/registrar/calendars/graduate/current/',
732
- },
733
- {
734
- text: 'Program Plans',
735
- icon: faList.faList,
736
- href: 'https://admission.uoguelph.ca/programs',
737
- },
738
- {
739
- text: 'Give to U of G',
740
- icon: faHandHoldingHeart.faHandHoldingHeart,
741
- href: 'https://www.alumni.uoguelph.ca/give-to-guelph/how-to-give',
742
- },
743
- ];
744
- const UofgFooter = class {
745
- constructor(hostRef) {
746
- index.registerInstance(this, hostRef);
747
- this.extraLinks = [];
748
- }
749
- connectedCallback() {
750
- var _a;
751
- utils.attachTailwind(this.el.shadowRoot);
752
- this.updateExtraLinks();
753
- (_a = this.observer) !== null && _a !== void 0 ? _a : (this.observer = new MutationObserver(() => {
754
- this.updateExtraLinks();
755
- }));
756
- this.observer.observe(this.el, { childList: true, subtree: true });
757
- }
758
- updateExtraLinks() {
759
- var _a;
760
- this.extraLinks = Array.from((_a = this.el) === null || _a === void 0 ? void 0 : _a.children)
761
- .filter(child => child.tagName === 'A')
762
- .map(child => ({ text: child.textContent, href: child.getAttribute('href') }));
763
- }
764
- render() {
765
- return (index.h("footer", { key: '35d147bc6c3c9f614104b191b7476723a842b17f' }, this.extraLinks.length > 0 && (index.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 => (index.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" }, index.h("a", { class: "tw-text-uofg-blue-500 tw-transition-colors hocus:tw-text-uofg-blue-950", href: link.href }, link.text)))))), index.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" }, index.h("div", { key: 'fa6435a938414cacce1011833fb52bc444fc7ae1', class: "tw-flex tw-flex-col tw-justify-between tw-gap-2" }, index.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 }), index.h("ul", { key: '454bb903be7ea860ead363ec5d38707a13ada1f1', class: "tw-flex tw-gap-3 tw-text-4xl [&>li]:tw-contents" }, socials.map(item => (index.h("li", null, index.h("a", { href: item.href, "aria-label": item.text, class: `tw-transition-colors [&>svg]:tw-h-[1em] [&>svg]:tw-fill-current ${item.class}` }, index.h(utils.FontAwesomeIcon, { icon: item.icon })))))), index.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"), index.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")), index.h("div", { key: '3eea01c2ba5f9085fc658b1b0dcbdd595a87cd21', class: "md:tw-col-span-2 md:tw-row-start-2 lg:tw-row-auto" }, index.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 => {
766
- var _a;
767
- return (index.h("li", null, index.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" }, index.h(utils.FontAwesomeIcon, { icon: item.icon }), index.h("span", null, item.text))));
768
- }))), index.h("address", { key: 'ea2e7206a264920238af7b899e979d0099013009', class: "tw-flex tw-flex-col tw-justify-between tw-gap-4 tw-not-italic" }, index.h("strong", { key: '9290d97ccc9b1c1de3f7c6eb498c39934d84a9b4' }, "University of Guelph"), index.h("span", { key: '0b1a22a47e2f8bc6e3695f5a25858ab4451b7b50' }, "50 Stone Road East,"), index.h("span", { key: 'f07582b60536191e4ad17179dca8f495c7190b57' }, "Guelph, Ontario, Canada"), index.h("span", { key: 'c0ee62b9f339b8b36b1ef340a0c1dc8249ae99af' }, "N1G 2W1"), index.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" }, index.h(utils.FontAwesomeIcon, { key: 'fc55b72b292ba4a856bec2978bc20630d50f9b92', icon: faPhoneFlip.faPhoneFlip }), index.h("span", { key: '67134aae755352d841b834377593e9a34bf77fca' }, "519-824-4120"))))));
769
- }
770
- get el() { return index.getElement(this); }
771
- };
772
-
773
- 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>`;
774
-
775
- 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>`;
776
-
777
- 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>`;
778
-
779
- var faBars = {};
780
-
781
- (function (exports) {
782
- Object.defineProperty(exports, '__esModule', { value: true });
783
- var prefix = 'fas';
784
- var iconName = 'bars';
785
- var width = 448;
786
- var height = 512;
787
- var aliases = ["navicon"];
788
- var unicode = 'f0c9';
789
- 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';
790
-
791
- exports.definition = {
792
- prefix: prefix,
793
- iconName: iconName,
794
- icon: [
795
- width,
796
- height,
797
- aliases,
798
- unicode,
799
- svgPathData
800
- ]};
801
-
802
- exports.faBars = exports.definition;
803
- exports.prefix = prefix;
804
- exports.iconName = iconName;
805
- exports.width = width;
806
- exports.height = height;
807
- exports.ligatures = aliases;
808
- exports.unicode = unicode;
809
- exports.svgPathData = svgPathData;
810
- exports.aliases = aliases;
811
- }(faBars));
812
-
813
- var faSearch = {};
814
-
815
- var faMagnifyingGlass = {};
816
-
817
- (function (exports) {
818
- Object.defineProperty(exports, '__esModule', { value: true });
819
- var prefix = 'fas';
820
- var iconName = 'magnifying-glass';
821
- var width = 512;
822
- var height = 512;
823
- var aliases = [128269,"search"];
824
- var unicode = 'f002';
825
- 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';
826
-
827
- exports.definition = {
828
- prefix: prefix,
829
- iconName: iconName,
830
- icon: [
831
- width,
832
- height,
833
- aliases,
834
- unicode,
835
- svgPathData
836
- ]};
837
-
838
- exports.faMagnifyingGlass = exports.definition;
839
- exports.prefix = prefix;
840
- exports.iconName = iconName;
841
- exports.width = width;
842
- exports.height = height;
843
- exports.ligatures = aliases;
844
- exports.unicode = unicode;
845
- exports.svgPathData = svgPathData;
846
- exports.aliases = aliases;
847
- }(faMagnifyingGlass));
848
-
849
- (function (exports) {
850
- Object.defineProperty(exports, '__esModule', { value: true });
851
- var source = faMagnifyingGlass;
852
- exports.definition = {
853
- prefix: source.prefix,
854
- iconName: source.iconName,
855
- icon: [
856
- source.width,
857
- source.height,
858
- source.aliases,
859
- source.unicode,
860
- source.svgPathData
861
- ]};
862
-
863
- exports.faSearch = exports.definition;
864
- exports.prefix = source.prefix;
865
- exports.iconName = source.iconName;
866
- exports.width = source.width;
867
- exports.height = source.height;
868
- exports.ligatures = source.aliases;
869
- exports.unicode = source.unicode;
870
- exports.svgPathData = source.svgPathData;
871
- exports.aliases = source.aliases;
872
- }(faSearch));
873
-
874
- var faCaretDown = {};
875
-
876
- (function (exports) {
877
- Object.defineProperty(exports, '__esModule', { value: true });
878
- var prefix = 'fas';
879
- var iconName = 'caret-down';
880
- var width = 320;
881
- var height = 512;
882
- var aliases = [];
883
- var unicode = 'f0d7';
884
- 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';
885
-
886
- exports.definition = {
887
- prefix: prefix,
888
- iconName: iconName,
889
- icon: [
890
- width,
891
- height,
892
- aliases,
893
- unicode,
894
- svgPathData
895
- ]};
896
-
897
- exports.faCaretDown = exports.definition;
898
- exports.prefix = prefix;
899
- exports.iconName = iconName;
900
- exports.width = width;
901
- exports.height = height;
902
- exports.ligatures = aliases;
903
- exports.unicode = unicode;
904
- exports.svgPathData = svgPathData;
905
- exports.aliases = aliases;
906
- }(faCaretDown));
907
-
908
- var faUser = {};
909
-
910
- (function (exports) {
911
- Object.defineProperty(exports, '__esModule', { value: true });
912
- var prefix = 'fas';
913
- var iconName = 'user';
914
- var width = 448;
915
- var height = 512;
916
- var aliases = [128100,62144];
917
- var unicode = 'f007';
918
- 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';
919
-
920
- exports.definition = {
921
- prefix: prefix,
922
- iconName: iconName,
923
- icon: [
924
- width,
925
- height,
926
- aliases,
927
- unicode,
928
- svgPathData
929
- ]};
930
-
931
- exports.faUser = exports.definition;
932
- exports.prefix = prefix;
933
- exports.iconName = iconName;
934
- exports.width = width;
935
- exports.height = height;
936
- exports.ligatures = aliases;
937
- exports.unicode = unicode;
938
- exports.svgPathData = svgPathData;
939
- exports.aliases = aliases;
940
- }(faUser));
941
-
942
- const TRANSITION_BREAKPOINT = 1024;
943
- const MAX_CONTENT_WIDTH = 1320;
944
- const MENU_CHAR_LIMIT = 35;
945
- const topLinks = [
946
- {
947
- text: 'Give',
948
- href: 'https://bbis.alumni.uoguelph.ca/BBIS_Cannon/give/uofg',
949
- },
950
- {
951
- text: 'News',
952
- href: 'https://news.uoguelph.ca/',
953
- },
954
- {
955
- text: 'Quick Links',
956
- links: [
957
- {
958
- text: 'Future Students',
959
- href: 'https://uoguelph.ca/future-students',
960
- },
961
- {
962
- text: 'Current Students',
963
- href: 'https://www.uoguelph.ca/students',
964
- },
965
- {
966
- text: 'Alumni & Donors',
967
- href: 'https://alumni.uoguelph.ca/',
968
- },
969
- {
970
- text: 'Faculty & Staff',
971
- href: 'https://www.uoguelph.ca/faculty',
972
- },
973
- {
974
- text: 'Employers & Partners',
975
- href: 'https://cecs.uoguelph.ca/employers-institutions',
976
- },
977
- ],
978
- },
979
- {
980
- text: 'APPLY NOW',
981
- href: 'https://uoguelph.ca/apply/',
982
- highlight: true,
983
- },
984
- ];
985
- const mainLinks = [
986
- {
987
- text: 'About',
988
- href: 'https://uoguelph.ca/about',
989
- },
990
- {
991
- text: 'Academics',
992
- href: 'https://www.uoguelph.ca/explore-all-programs/',
993
- },
994
- {
995
- text: 'Admission',
996
- href: 'https://uoguelph.ca/admissions',
997
- },
998
- {
999
- text: 'Research',
1000
- href: 'https://uoguelph.ca/research',
1001
- },
1002
- {
1003
- text: 'Student Life',
1004
- href: 'https://www.uoguelph.ca/studentexperience/',
1005
- },
1006
- ];
1007
- const search = {
1008
- text: 'Search the University of Guelph',
1009
- href: 'https://uoguelph.ca/search',
1010
- icon: faSearch.faSearch,
1011
- };
1012
- const account = {
1013
- text: 'Account Menu',
1014
- links: [
1015
- {
1016
- text: 'Intranet',
1017
- href: 'https://intranet.uoguelph.ca/',
1018
- },
1019
- {
1020
- text: 'WebAdvisor',
1021
- href: 'https://www.uoguelph.ca/webadvisor/',
1022
- },
1023
- {
1024
- text: 'GryphMail',
1025
- href: 'https://mail.uoguelph.ca/',
1026
- },
1027
- {
1028
- text: 'CourseLink',
1029
- href: 'https://courselink.uoguelph.ca/',
1030
- },
1031
- {
1032
- text: 'GryphLife',
1033
- href: 'https://gryphlife.uoguelph.ca/',
1034
- },
1035
- ],
1036
- icon: faUser.faUser,
1037
- };
1038
- const UofgHeader = class {
1039
- constructor(hostRef) {
1040
- index.registerInstance(this, hostRef);
1041
- this.subContainerOverflowWidth = NaN;
1042
- this.needsOverflowWidthUpdate = false;
1043
- this.pageTitle = '';
1044
- this.pageUrl = '';
1045
- this.isFullSize = false;
1046
- this.pageSpecificContent = undefined;
1047
- this.isSubContainerOverflowing = false;
1048
- }
1049
- connectedCallback() {
1050
- var _a;
1051
- utils.attachTailwind(this.el.shadowRoot);
1052
- this.updateFullSize();
1053
- this.updatePageSpecificContent();
1054
- (_a = this.observer) !== null && _a !== void 0 ? _a : (this.observer = new MutationObserver(() => {
1055
- this.updatePageSpecificContent();
1056
- this.subContainerOverflowWidth = NaN; // Reset overflow width as it will have changed and needs to be recalculated
1057
- this.needsOverflowWidthUpdate = true;
1058
- }));
1059
- this.observer.observe(this.el, { childList: true, subtree: true });
1060
- }
1061
- componentDidLoad() {
1062
- this.updateSubContainerOverflow();
1063
- }
1064
- updateFullSize() {
1065
- this.isFullSize = window.innerWidth >= TRANSITION_BREAKPOINT;
1066
- this.updateSubContainerOverflow();
1067
- }
1068
- updateSubContainerOverflow() {
1069
- if (this.isFullSize && this.subContainer) {
1070
- const { clientWidth, scrollWidth } = this.subContainer;
1071
- if (scrollWidth > clientWidth) {
1072
- this.subContainerOverflowWidth = scrollWidth;
1073
- }
1074
- this.isSubContainerOverflowing = this.subContainerOverflowWidth > Math.min(clientWidth, MAX_CONTENT_WIDTH);
1075
- }
1076
- }
1077
- componentDidRender() {
1078
- if (this.needsOverflowWidthUpdate) {
1079
- window.requestAnimationFrame(() => this.updateSubContainerOverflow());
1080
- this.needsOverflowWidthUpdate = false;
1081
- }
1082
- }
1083
- updatePageSpecificContent() {
1084
- var _a;
1085
- const aToPageSpecificLink = (a) => {
1086
- const attributes = {};
1087
- a.getAttributeNames()
1088
- .filter(name => name !== 'href')
1089
- .forEach(name => (attributes[name] = a.getAttribute(name)));
1090
- return {
1091
- href: a.getAttribute('href'),
1092
- text: a.textContent,
1093
- attributes,
1094
- };
1095
- };
1096
- this.pageSpecificContent = Array.from((_a = this.el) === null || _a === void 0 ? void 0 : _a.children)
1097
- .filter(child => child.tagName === 'A' || child.tagName === 'UL')
1098
- .map(child => {
1099
- switch (child.tagName) {
1100
- case 'A':
1101
- return aToPageSpecificLink(child);
1102
- case 'UL':
1103
- const value = {
1104
- title: child.getAttribute('data-title'),
1105
- links: Array.from(child.querySelectorAll('a')).map(aToPageSpecificLink),
1106
- };
1107
- value.wrapContent = value.links.reduce((shouldWrap, link) => {
1108
- if (link.text.length > MENU_CHAR_LIMIT) {
1109
- shouldWrap = true;
1110
- }
1111
- return shouldWrap;
1112
- }, false);
1113
- return value;
1114
- }
1115
- })
1116
- .filter(val => Boolean(val));
1117
- }
1118
- render() {
1119
- var _a, _b;
1120
- return (index.h("header", { key: '086e88ed7fc9986ccd763b97a2d030f28c70b2f5', class: "tw-relative tw-z-[1000] tw-w-full tw-font-condensed tw-text-2xl tw-text-black" }, this.isFullSize && (index.h("div", { class: "tw-flex tw-h-16 tw-justify-end tw-bg-white tw-px-[calc((100%-1320px)/2)] tw-text-3xl" }, index.h("ul", { class: "tw-contents [&>li]:tw-contents" }, [...topLinks, account].map(item => {
1121
- if ('links' in item) {
1122
- return (index.h("li", null, index.h("uofg-menu", { class: "tw-relative tw-block tw-h-full", "auto-collapse": true }, index.h("button", { class: {
1123
- '${} 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,
1124
- '[&>svg]:aria-expanded:tw-rotate-180': !item.icon,
1125
- }, slot: "button" }, !item.icon && index.h("span", null, item.text.toUpperCase()), index.h(utils.FontAwesomeIcon, { icon: item.icon || faCaretDown.faCaretDown })), index.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 => (index.h("li", null, index.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))))))));
1126
- }
1127
- return (index.h("li", null, index.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())));
1128
- })))), index.h("nav", { key: '8512ab7abce3d2e54d60f2bb0c594c1ebfa3de6f', class: {
1129
- 'tw-h-[10rem]': this.isFullSize,
1130
- 'tw-h-[5rem]': !this.isFullSize,
1131
- 'tw-relative tw-flex tw-justify-between tw-bg-black tw-px-[calc((100%-1320px)/2)] tw-text-3xl tw-text-white': true,
1132
- }, "aria-label": "Main" }, index.h("div", { key: '91ec9a844ce48c58dbbd298b04057457b81dd835', class: "tw-flex tw-w-fit" }, this.isFullSize && (index.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 })), index.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 ? (index.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 => (index.h("li", null, index.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)))), index.h("li", null, index.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 }, index.h(utils.FontAwesomeIcon, { icon: search.icon }))))) : (index.h("div", { class: "tw-flex tw-h-full" }, index.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 }, index.h(utils.FontAwesomeIcon, { icon: search.icon })), index.h("uofg-menu", { class: "tw-block tw-h-full", "auto-collapse": true }, index.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" }, index.h(utils.FontAwesomeIcon, { icon: account.icon })), index.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" }, index.h("ul", { class: "tw-flex tw-w-full tw-flex-col tw-py-6 [&>li]:tw-contents" }, account.links.map(item => (index.h("li", null, index.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))))))), index.h("uofg-menu", { class: "tw-block tw-h-full", "auto-collapse": true }, index.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" }, index.h(utils.FontAwesomeIcon, { icon: faBars.faBars })), index.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" }, index.h("span", { class: "tw-my-4 tw-text-4xl tw-font-bold" }, "University of Guelph"), index.h("ul", { class: "tw-flex tw-w-full tw-flex-col tw-pb-6 [&>li]:tw-contents" }, mainLinks.map(item => (index.h("li", null, index.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 => {
1133
- if ('links' in item) {
1134
- return (index.h("li", null, index.h("uofg-menu", { class: "tw-relative tw-block tw-h-full tw-text-black", "auto-collapse": false }, index.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" }, index.h("span", null, item.text), index.h(utils.FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), index.h("ul", { slot: "content", class: "tw-flex tw-w-full tw-flex-col [&>li]:tw-contents" }, item.links.map(link => (index.h("li", null, index.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))))))));
1135
- }
1136
- return (index.h("li", null, index.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)));
1137
- }))))))), this.pageSpecificContent.length > 0 && (index.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 &&
1138
- (this.pageUrl != '' ? (index.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)) : (index.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 ? (index.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 => {
1139
- if ('text' in item) {
1140
- return (index.h("li", null, index.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)));
1141
- }
1142
- return (index.h("li", null, index.h("uofg-menu", { class: "tw-relative tw-h-full", "auto-collapse": true }, index.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" }, index.h("span", null, item === null || item === void 0 ? void 0 : item.title), index.h(utils.FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), index.h("ul", { slot: "content", class: {
1143
- '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,
1144
- 'wrap-content': item.wrapContent || false,
1145
- } }, item.links.map(link => (index.h("li", null, index.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))))))));
1146
- }))) : (index.h("uofg-menu", { class: "tw-block tw-h-full tw-whitespace-normal lg:tw-relative", "auto-collapse": true }, index.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' }, index.h(utils.FontAwesomeIcon, { icon: faBars.faBars })), index.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 => {
1147
- if ('text' in item) {
1148
- return (index.h("li", { class: "[&>a]:last:tw-pb-4" }, index.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)));
1149
- }
1150
- return (index.h("li", { class: "[&>uofg-menu]:last:tw-pb-6" }, index.h("uofg-menu", { class: "tw-relative tw-block tw-h-full tw-text-black", "auto-collapse": false }, index.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" }, index.h("span", null, item.title), index.h(utils.FontAwesomeIcon, { icon: faCaretDown.faCaretDown })), index.h("ul", { slot: "content", class: "tw-flex tw-w-full tw-flex-col [&>li]:tw-contents" }, item.links.map(item => (index.h("li", null, index.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))))))));
1151
- }))))))));
1152
- }
1153
- get el() { return index.getElement(this); }
1154
- };
1155
-
1156
- const DURATION_REGEX = /^(\d*\.?\d+)(s|ms)$/;
1157
- const EASING_FUNCTION_REGEX = /^cubic-bezier\((\s*-?\d*\.?\d+\s*,){3}\s*-?\d*\.?\d+\s*\)$|^steps\(\s*\d+\s*(,\s*(start|end))?\s*\)$/;
1158
- const UofgMenu = class {
1159
- constructor(hostRef) {
1160
- index.registerInstance(this, hostRef);
1161
- this.expanded = index.createEvent(this, "expanded", 2);
1162
- this.collapsed = index.createEvent(this, "collapsed", 2);
1163
- this.animationStarted = index.createEvent(this, "animationStarted", 2);
1164
- this.animationEnded = index.createEvent(this, "animationEnded", 2);
1165
- this.computedStyle = null;
1166
- this.button = null;
1167
- this.content = null;
1168
- this.contentComputedStyle = null;
1169
- this.observer = new MutationObserver(this.handleMutation);
1170
- this.isExpanded = false;
1171
- this.autoCollapse = false;
1172
- }
1173
- connectedCallback() {
1174
- // Bind functions so that "this" correctly refers to the component's instance.
1175
- this.handleMutation = this.handleMutation.bind(this);
1176
- this.handleClick = this.handleClick.bind(this);
1177
- this.handleFocusout = this.handleFocusout.bind(this);
1178
- this.handleKeyUp = this.handleKeyUp.bind(this);
1179
- this.computedStyle = window.getComputedStyle(this.el);
1180
- this.handleMutation();
1181
- this.observer.observe(this.el, { childList: true });
1182
- }
1183
- disconnectedCallback() {
1184
- this.observer.disconnect();
1185
- }
1186
- handleMutation() {
1187
- // Update the button element
1188
- const button = this.el.querySelector('[slot="button"]');
1189
- // Set up the new button
1190
- button === null || button === void 0 ? void 0 : button.setAttribute('aria-expanded', this.isExpanded ? 'true' : 'false');
1191
- button === null || button === void 0 ? void 0 : button.setAttribute('aria-haspopup', 'true');
1192
- this.button = button;
1193
- // Update the content element
1194
- const content = this.el.querySelector('[slot="content"]');
1195
- if (content == null) {
1196
- this.content = null;
1197
- this.contentComputedStyle = null;
1198
- }
1199
- else {
1200
- this.content = content;
1201
- this.isExpanded
1202
- ? this.content.style.removeProperty('display')
1203
- : this.content.style.setProperty('display', 'none', 'important');
1204
- this.contentComputedStyle = window.getComputedStyle(this.content);
1205
- }
1206
- }
1207
- handleKeyUp(e) {
1208
- if (e.key === 'Escape') {
1209
- this.isExpanded = false;
1210
- if (e.target !== this.button) {
1211
- e.stopPropagation();
1212
- this.isExpanded = false;
1213
- this.button && this.button.focus();
1214
- }
1215
- }
1216
- }
1217
- handleClick(e) {
1218
- //Check if the click was on the button or a descendant of the button
1219
- if (this.button && this.button.contains(e.target)) {
1220
- this.isExpanded = !this.isExpanded;
1221
- return;
1222
- }
1223
- }
1224
- handleFocusout(e) {
1225
- if (this.autoCollapse && !this.el.contains(e.relatedTarget)) {
1226
- this.isExpanded = false;
1227
- }
1228
- }
1229
- handleIsExpandedChange(newValue) {
1230
- var _a, _b, _c;
1231
- (_a = this.button) === null || _a === void 0 ? void 0 : _a.setAttribute('aria-expanded', newValue ? 'true' : 'false');
1232
- newValue ? this.expanded.emit() : this.collapsed.emit();
1233
- // No content is slotted, so we don't need to do anything else.
1234
- if (this.content == null) {
1235
- return;
1236
- }
1237
- // Determine what animation type the user wants.
1238
- const type = this.getAnimationType();
1239
- // If Web Animations API isn't supported, or the user requested no animation, we can simply set display style
1240
- if (!utils.WEB_ANIMATIONS_SUPPORTED() || utils.PREFERS_REDUCED_MOTION() || type === 'none') {
1241
- newValue
1242
- ? this.content.style.removeProperty('display')
1243
- : this.content.style.setProperty('display', 'none', 'important');
1244
- return;
1245
- }
1246
- // Check if we are in the middle of an animation.
1247
- const animations = (_b = this.content) === null || _b === void 0 ? void 0 : _b.getAnimations().filter(animation => animation.id === 'uofg-menu-animation');
1248
- // If we are, then we want to reverse the existing one rather than starting a new animation.
1249
- if (animations.length > 0) {
1250
- animations === null || animations === void 0 ? void 0 : animations.forEach(animation => animation.reverse());
1251
- return;
1252
- }
1253
- let animationDef;
1254
- const options = {
1255
- id: 'uofg-menu-animation',
1256
- duration: this.getAnimationDuration(),
1257
- fill: 'none',
1258
- easing: this.getAnimationEasing(),
1259
- direction: newValue ? 'normal' : 'reverse',
1260
- };
1261
- // Need to remove display none, otherwise keyframe values won't be calculated correctly.
1262
- this.content.style.removeProperty('display');
1263
- switch (type) {
1264
- case 'fade':
1265
- animationDef = this.fadeAnimation();
1266
- break;
1267
- case 'slide':
1268
- animationDef = this.slideAnimation();
1269
- break;
1270
- default:
1271
- animationDef = this.fadeAnimation();
1272
- }
1273
- // We can start the animation.
1274
- this.animationStarted.emit(newValue);
1275
- (_c = this.content) === null || _c === void 0 ? void 0 : _c.animate(animationDef.keyframes, options).finished.finally(() => {
1276
- var _a;
1277
- // Once the animation is done (or something went wrong during it), we update the content's display style.
1278
- if (this.content) {
1279
- this.isExpanded
1280
- ? this.content.style.removeProperty('display')
1281
- : this.content.style.setProperty('display', 'none', 'important');
1282
- (_a = animationDef.callback) === null || _a === void 0 ? void 0 : _a.call(animationDef);
1283
- this.animationEnded.emit(this.isExpanded);
1284
- }
1285
- });
1286
- }
1287
- getAnimationType() {
1288
- var _a;
1289
- const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-type')) || '';
1290
- switch (str) {
1291
- case 'slide':
1292
- case 'fade':
1293
- return str;
1294
- default:
1295
- return 'none';
1296
- }
1297
- }
1298
- getAnimationDuration() {
1299
- var _a;
1300
- const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-duration')) || '';
1301
- const matches = DURATION_REGEX.exec(str);
1302
- if (matches == null) {
1303
- return 200;
1304
- }
1305
- return Number.parseFloat(matches[1]) * (matches[2] == 's' ? 1000 : 1);
1306
- }
1307
- getAnimationEasing() {
1308
- var _a;
1309
- const str = ((_a = this.computedStyle) === null || _a === void 0 ? void 0 : _a.getPropertyValue('--uofg-menu-animation-easing')) || '';
1310
- switch (str) {
1311
- case 'linear':
1312
- case 'ease':
1313
- case 'ease-in':
1314
- case 'ease-out':
1315
- case 'ease-in-out':
1316
- case 'step-start':
1317
- case 'step-end':
1318
- return str;
1319
- default:
1320
- return EASING_FUNCTION_REGEX.test(str) ? str : 'ease-in-out';
1321
- }
1322
- }
1323
- fadeAnimation() {
1324
- return { keyframes: [{ opacity: 0 }, { opacity: 1 }] };
1325
- }
1326
- slideAnimation() {
1327
- var _a, _b, _c, _d, _e;
1328
- this.content && this.content.style.setProperty('overflow-y', 'hidden', 'important');
1329
- return {
1330
- keyframes: [
1331
- {
1332
- height: 0,
1333
- paddingTop: 0,
1334
- paddingBottom: 0,
1335
- marginTop: 0,
1336
- marginBottom: 0,
1337
- },
1338
- {
1339
- height: ((_a = this.contentComputedStyle) === null || _a === void 0 ? void 0 : _a.height) || 0,
1340
- paddingTop: ((_b = this.contentComputedStyle) === null || _b === void 0 ? void 0 : _b.paddingTop) || 0,
1341
- paddingBottom: ((_c = this.contentComputedStyle) === null || _c === void 0 ? void 0 : _c.paddingBottom) || 0,
1342
- marginTop: ((_d = this.contentComputedStyle) === null || _d === void 0 ? void 0 : _d.marginTop) || 0,
1343
- marginBottom: ((_e = this.contentComputedStyle) === null || _e === void 0 ? void 0 : _e.marginBottom) || 0,
1344
- },
1345
- ],
1346
- callback: () => {
1347
- this.content && this.content.style.removeProperty('overflow-y');
1348
- },
1349
- };
1350
- }
1351
- render() {
1352
- return (index.h(index.Host, { key: '40c0e7a6dd7f457145ed744aaf86595f72566f8c', "data-expanded": this.isExpanded, tabindex: -1, onFocusout: this.handleFocusout, onKeyUp: this.handleKeyUp, onClick: this.handleClick }));
1353
- }
1354
- /**
1355
- * Get the current expanded state of the menu.
1356
- * @returns A promise which will resolve to the current expanded state.
1357
- */
1358
- async getExpanded() {
1359
- return this.isExpanded;
1360
- }
1361
- /**
1362
- * Set the expanded state of the menu.
1363
- * @param value The new expanded state.
1364
- */
1365
- async setExpanded(value) {
1366
- this.isExpanded = value;
1367
- }
1368
- /**
1369
- * Toggle the expanded state of the menu.
1370
- * @returns A promise which will resolve to the new expanded state.
1371
- */
1372
- async toggle() {
1373
- this.isExpanded = !this.isExpanded;
1374
- return this.isExpanded;
1375
- }
1376
- /**
1377
- * Collapse the menu. This is the same as setting the expanded state to false.
1378
- * @returns empty Promise.
1379
- */
1380
- async collapse() {
1381
- this.isExpanded = false;
1382
- }
1383
- /**
1384
- * Expand the menu. This is the same as setting the expanded state to true.
1385
- * @returns empty Promise.
1386
- */
1387
- async expand() {
1388
- this.isExpanded = true;
1389
- }
1390
- get el() { return index.getElement(this); }
1391
- static get watchers() { return {
1392
- "isExpanded": ["handleIsExpandedChange"]
1393
- }; }
1394
- };
1395
-
1396
- exports.uofg_back_to_top = UofgBackToTop;
1397
- exports.uofg_card = UofgCard;
1398
- exports.uofg_footer = UofgFooter;
1399
- exports.uofg_header = UofgHeader;
1400
- exports.uofg_menu = UofgMenu;