From ca46602ce197b4e422f01c81e72629af9d0a4a0b Mon Sep 17 00:00:00 2001 From: david ornelas Date: Mon, 24 Jun 2024 01:24:42 -0700 Subject: [PATCH 01/78] feat(app-webdir-ui): updated title logic in directory components --- .../src/WebDirectoryComponent/index.js | 17 ++++++- .../src/helpers/dataConverter.js | 49 ++++++++++++++++++- packages/app-webdir-ui/src/helpers/search.js | 3 +- 3 files changed, 65 insertions(+), 4 deletions(-) diff --git a/packages/app-webdir-ui/src/WebDirectoryComponent/index.js b/packages/app-webdir-ui/src/WebDirectoryComponent/index.js index 3530851c92..914eadacef 100644 --- a/packages/app-webdir-ui/src/WebDirectoryComponent/index.js +++ b/packages/app-webdir-ui/src/WebDirectoryComponent/index.js @@ -213,7 +213,14 @@ function WebDirectory({ } sort={sort} hidePaginator={display?.usePager !== "1"} - filters={requestFilters} + filters={{ + ...requestFilters, + titleInfo: { + searchType, + deptIds, + ids, + }, + }} profilesToFilterOut={display?.doNotDisplayProfiles} display={display} appPathFolder={appPathFolder} @@ -229,6 +236,14 @@ function WebDirectory({ ); diff --git a/packages/app-webdir-ui/src/helpers/dataConverter.js b/packages/app-webdir-ui/src/helpers/dataConverter.js index f788a1f28e..6aaaeb877d 100644 --- a/packages/app-webdir-ui/src/helpers/dataConverter.js +++ b/packages/app-webdir-ui/src/helpers/dataConverter.js @@ -108,7 +108,7 @@ const fillInBlanks = datum => { // If it's depts only - use that dept in place of primary_deptid -const getTitleFromProfile = (profile, titleMatch) => { +const getTitleFromProfile = (profile, titleMatch, titleInfo) => { // Note on title logic // - Engine WEB_DIRECTORY_PEOPLE_AND_DEPS supplies results with title logic // already handled by the service. @@ -207,6 +207,46 @@ const getTitleFromProfile = (profile, titleMatch) => { profile.primary_search_department_affiliation.raw[0]; } + if ( + titleInfo?.searchType === "people" || + titleInfo?.searchType === "people_departments" + ) { + matchedAffiliationTitle = profile.working_title?.raw[0] ?? ""; + } + + if (titleInfo?.searchType === "departments") { + // Find matching values against titleMatch.depts + const deptValueMatch = profile.deptids.raw.filter(id => + titleMatch.depts.includes(id) + ); + // Use the first value matched to match on the deptids index. + const deptIndex = profile.deptids.raw.findIndex( + id => id === deptValueMatch[0] + ); + if (profile.title_source.raw[deptIndex] === "titles") { + matchedAffiliationTitle = profile.titles.raw[deptIndex]; + } else { + matchedAffiliationTitle = ""; + } + } + + if (titleInfo?.searchType === "faculty_rank") { + const deptValueMatch = profile.deptids.raw.filter( + id => id === titleInfo.deptIds + ); + console.log("deptValueMatch", deptValueMatch); + + const deptIndex = profile.deptids.raw.findIndex( + id => id === deptValueMatch[0] + ); + if (profile.title_source.raw[deptIndex] === "titles") { + matchedAffiliationTitle = profile.titles.raw[deptIndex]; + console.log("matchedAffiliationTitle", matchedAffiliationTitle); + } else { + matchedAffiliationTitle = ""; + } + } + return { matchedAffiliationTitle, matchedAffiliationDept }; }; @@ -269,11 +309,16 @@ export const staffConverter = ({ titleMatch: null, profileURLBase: null, fill: false, + titleInfo: null, }, appPathFolder, }) => { const filledDatum = fillInBlanks(datum); - const titles = getTitleFromProfile(filledDatum, options.titleMatch); + const titles = getTitleFromProfile( + filledDatum, + options.titleMatch, + options.titleInfo + ); // We use EID if it's available, otherwise we use the asurite_id. const profileURLBase = options.profileURLBase ?? ""; diff --git a/packages/app-webdir-ui/src/helpers/search.js b/packages/app-webdir-ui/src/helpers/search.js index 631eb9d145..6c3e410cab 100644 --- a/packages/app-webdir-ui/src/helpers/search.js +++ b/packages/app-webdir-ui/src/helpers/search.js @@ -197,7 +197,7 @@ const webDirDeptsFormatter = ({ // filters.peopleInDepts indicates a WEB_DIRECTORY_PEOPLE_AND_DEPS flow. // filters.deptIds indicates a WEB_DIRECTORY_DEPARTMENTS flow. const titleOverwrite = - !!filters && filters.peopleInDepts + filters?.peopleInDepts ? { peopleInDeps: filters.peopleInDepts } : { depts: filters?.deptIds }; @@ -212,6 +212,7 @@ const webDirDeptsFormatter = ({ size: "large", titleMatch: titleOverwrite, profileURLBase: "https://search.asu.edu", + titleInfo: filters?.titleInfo, }, appPathFolder, }); From cfa4bba09ff6b6bb0231a2aebf22317ca15f0269 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Mon, 24 Jun 2024 01:31:29 -0700 Subject: [PATCH 02/78] fix(app-webdir-ui): refactored title logic --- .../src/helpers/dataConverter.js | 155 ++++-------------- 1 file changed, 29 insertions(+), 126 deletions(-) diff --git a/packages/app-webdir-ui/src/helpers/dataConverter.js b/packages/app-webdir-ui/src/helpers/dataConverter.js index 6aaaeb877d..340599c931 100644 --- a/packages/app-webdir-ui/src/helpers/dataConverter.js +++ b/packages/app-webdir-ui/src/helpers/dataConverter.js @@ -108,143 +108,46 @@ const fillInBlanks = datum => { // If it's depts only - use that dept in place of primary_deptid -const getTitleFromProfile = (profile, titleMatch, titleInfo) => { - // Note on title logic - // - Engine WEB_DIRECTORY_PEOPLE_AND_DEPS supplies results with title logic - // already handled by the service. - // - Engine WEB_DIRECTORY_DEPARTMENTS needs a little help with titles, - // handled below using titleMatch.depts. - - let matchedAffiliationTitle = null; - let matchedAffiliationDept = null; - - if (profile.title) { - console.log("title from service"); - // Here we can use the WEB_DIRECTORY_PEOPLE_AND_DEPS pre-matched title. - // We don't need to consult titleMatch.peopleDeps. - matchedAffiliationTitle = profile.title; - if (profile.dept_name) { - matchedAffiliationDept = profile.dept_name; - } - } else if ( - titleMatch && - titleMatch.depts && - profile.deptids && - profile.titles && - profile.deptids.raw !== null && - /* - If titleMatch.depts[0] is '', - then no deptIds were supplied to query. - We can't use titleMatch.depts in that case. - */ - !!titleMatch.depts[0] - ) { - console.log("title from titleMatch.deps"); - // A flow for WEB_DIRECTORY_DEPARTMENTS. - // Note: If someone is in two depts queried, there is no guarantee which - // title they'll get. When precision is needed, users should use the - // People or People in Departments component type. - - // Find matching values against titleMatch.depts - const deptValueMatch = profile.deptids.raw.filter(id => - titleMatch.depts.includes(id) - ); - // Use the first value matched to match on the deptids index. - const deptIndex = profile.deptids.raw.findIndex( - id => id === deptValueMatch[0] - ); - if (profile.title_source.raw[deptIndex] === "titles") { - matchedAffiliationTitle = profile.titles.raw[deptIndex]; - } else if (profile.working_title) { - matchedAffiliationTitle = profile.working_title.raw[0]; - if (!matchedAffiliationTitle) { - matchedAffiliationTitle = profile.titles.raw[deptIndex]; - } - } - matchedAffiliationDept = profile.departments.raw[deptIndex]; - } else if (profile.primary_deptid && profile.titles && profile.titles.raw) { - console.log("title from fallback1 to primary_deptid"); - // Fallback to using primary_deptid from CMS to derive the match. - const deptIndex = profile.deptids.raw.findIndex( - id => id === profile.primary_deptid.raw - ); - if (profile.title_source.raw[deptIndex] === "titles") { - matchedAffiliationTitle = profile.titles.raw[deptIndex]; - } else if (profile.working_title && profile.working_title.raw[0]) { - matchedAffiliationTitle = profile.working_title.raw[0]; - } - matchedAffiliationDept = profile.departments.raw[deptIndex]; +function findDeptIndex(profile, deptIds) { + const deptValueMatch = profile.deptids.raw.filter(id => deptIds.includes(id)); + return profile.deptids.raw.findIndex(id => id === deptValueMatch[0]); +} + +function getTitleAndDeptFromIndex(profile, index) { + let title = profile.titles?.raw[index]; + let dept = profile.departments?.raw[index]; + if (profile.title_source.raw[index] !== "titles" && profile.working_title?.raw[0]) { + title = profile.working_title.raw[0]; + } + return { title, dept }; +} - // Used in directory component when dept id is provided with asurite - if (profile.primary_affiliation.raw === "COURTESY_AFFILIATE") { - matchedAffiliationTitle = profile.affiliations?.raw[0]; - matchedAffiliationDept = profile.subaffiliations?.raw[0]; - } - } else if (profile.primary_department && profile.primary_department.raw) { - console.log("title from fallback2 to primary_department"); - // Fallback to using primary_department name to derive the match, using - // working_title. This condition is unlikely to be met. If we have one, we - // should have the other. - const deptIndex = profile.departments.raw.findIndex( - dept => dept === profile.primary_department.raw - ); - if ( - // profile.title_source.raw[0] === "workingTitle" && - profile.working_title - ) { - matchedAffiliationTitle = profile.working_title.raw[0]; - } +const getTitleFromProfile = (profile, titleMatch, titleInfo) => { + let matchedAffiliationTitle = profile.title || profile.working_title?.raw[0] || ""; + let matchedAffiliationDept = profile.dept_name || profile.primary_search_department_affiliation?.raw[0] || ""; + + if (!profile.title && titleMatch?.depts?.[0]) { + const deptIndex = findDeptIndex(profile, titleMatch.depts); + ({ title: matchedAffiliationTitle, dept: matchedAffiliationDept } = getTitleAndDeptFromIndex(profile, deptIndex)); + } else if (profile.primary_deptid && profile.titles?.raw) { + const deptIndex = findDeptIndex(profile, [profile.primary_deptid.raw]); + ({ title: matchedAffiliationTitle, dept: matchedAffiliationDept } = getTitleAndDeptFromIndex(profile, deptIndex)); + } else if (profile.primary_department?.raw) { + const deptIndex = profile.departments.raw.findIndex(dept => dept === profile.primary_department.raw); matchedAffiliationDept = profile.departments.raw[deptIndex]; } else if (profile.primary_affiliation.raw === "COURTESY_AFFILIATE") { - console.log("title from fallback to courtesy affiliate"); matchedAffiliationTitle = profile.affiliations?.raw[0]; matchedAffiliationDept = profile.subaffiliations?.raw[0]; - } else { - console.log("title from fallback3 to hr values - final"); - // Final fallback is to use the HR working title and department values. - matchedAffiliationTitle = profile.working_title.raw[0]; - matchedAffiliationDept = - profile.primary_search_department_affiliation.raw[0]; - } - - if ( - titleInfo?.searchType === "people" || - titleInfo?.searchType === "people_departments" - ) { - matchedAffiliationTitle = profile.working_title?.raw[0] ?? ""; } if (titleInfo?.searchType === "departments") { - // Find matching values against titleMatch.depts - const deptValueMatch = profile.deptids.raw.filter(id => - titleMatch.depts.includes(id) - ); - // Use the first value matched to match on the deptids index. - const deptIndex = profile.deptids.raw.findIndex( - id => id === deptValueMatch[0] - ); - if (profile.title_source.raw[deptIndex] === "titles") { - matchedAffiliationTitle = profile.titles.raw[deptIndex]; - } else { - matchedAffiliationTitle = ""; - } + const deptIndex = findDeptIndex(profile, titleMatch.depts); + matchedAffiliationTitle = profile.titles?.raw[deptIndex] || ""; } if (titleInfo?.searchType === "faculty_rank") { - const deptValueMatch = profile.deptids.raw.filter( - id => id === titleInfo.deptIds - ); - console.log("deptValueMatch", deptValueMatch); - - const deptIndex = profile.deptids.raw.findIndex( - id => id === deptValueMatch[0] - ); - if (profile.title_source.raw[deptIndex] === "titles") { - matchedAffiliationTitle = profile.titles.raw[deptIndex]; - console.log("matchedAffiliationTitle", matchedAffiliationTitle); - } else { - matchedAffiliationTitle = ""; - } + const deptIndex = findDeptIndex(profile, [titleInfo.deptIds]); + matchedAffiliationTitle = profile.titles?.raw[deptIndex] || ""; } return { matchedAffiliationTitle, matchedAffiliationDept }; From d15a0410bc6dc9d21f5808470b1fadd755befa54 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Fri, 28 Jun 2024 15:54:53 -0700 Subject: [PATCH 03/78] fix(app-webdir-ui): update logic --- .../src/FacultyRankComponent/index.stories.js | 4 +- .../WebDirectoryComponent/index.stories.js | 2 +- .../src/helpers/dataConverter.js | 92 ++++++++++++++----- 3 files changed, 73 insertions(+), 25 deletions(-) diff --git a/packages/app-webdir-ui/src/FacultyRankComponent/index.stories.js b/packages/app-webdir-ui/src/FacultyRankComponent/index.stories.js index 017ced55e4..f9e1ac3653 100644 --- a/packages/app-webdir-ui/src/FacultyRankComponent/index.stories.js +++ b/packages/app-webdir-ui/src/FacultyRankComponent/index.stories.js @@ -34,8 +34,8 @@ export const FacultyRankWebDirectory = args => {
{
{ }; return { ...full, ...datumAdjusted }; }; +function isCustomTitle(profile, index) { + if (!profile.title_source?.raw) return false; + return profile.title_source?.raw[index] === "titles" +} -// If it's depts only - use that dept in place of primary_deptid - -function findDeptIndex(profile, deptIds) { - const deptValueMatch = profile.deptids.raw.filter(id => deptIds.includes(id)); - return profile.deptids.raw.findIndex(id => id === deptValueMatch[0]); +function findDeptIndex(profile, deptId = "") { + if (!deptId) return 0; + return profile.deptids?.raw?.findIndex(id => id === deptId); } function getTitleAndDeptFromIndex(profile, index) { @@ -122,32 +124,78 @@ function getTitleAndDeptFromIndex(profile, index) { return { title, dept }; } +// See https://asudev.jira.com/browse/SCHWEB-1238 for title logic. const getTitleFromProfile = (profile, titleMatch, titleInfo) => { - let matchedAffiliationTitle = profile.title || profile.working_title?.raw[0] || ""; - let matchedAffiliationDept = profile.dept_name || profile.primary_search_department_affiliation?.raw[0] || ""; + let matchedAffiliationTitle = + profile.title || profile.working_title?.raw[0] || ""; + let matchedAffiliationDept = + profile.dept_name || + profile.primary_search_department_affiliation?.raw[0] || + ""; - if (!profile.title && titleMatch?.depts?.[0]) { - const deptIndex = findDeptIndex(profile, titleMatch.depts); - ({ title: matchedAffiliationTitle, dept: matchedAffiliationDept } = getTitleAndDeptFromIndex(profile, deptIndex)); - } else if (profile.primary_deptid && profile.titles?.raw) { - const deptIndex = findDeptIndex(profile, [profile.primary_deptid.raw]); - ({ title: matchedAffiliationTitle, dept: matchedAffiliationDept } = getTitleAndDeptFromIndex(profile, deptIndex)); - } else if (profile.primary_department?.raw) { - const deptIndex = profile.departments.raw.findIndex(dept => dept === profile.primary_department.raw); + if ( + profile.primary_deptid?.raw && + profile.titles?.raw && + profile.primary_affiliation.raw !== "COURTESY_AFFILIATE" + ) { + const deptIndex = findDeptIndex(profile, profile.primary_deptid.raw); + ({ title: matchedAffiliationTitle, dept: matchedAffiliationDept } = + getTitleAndDeptFromIndex(profile, deptIndex)); + } else if ( + profile.primary_department?.raw && + profile.primary_affiliation.raw !== "COURTESY_AFFILIATE" + ) { + const deptIndex = profile.departments.raw.findIndex( + dept => dept === profile.primary_department.raw + ); matchedAffiliationDept = profile.departments.raw[deptIndex]; } else if (profile.primary_affiliation.raw === "COURTESY_AFFILIATE") { matchedAffiliationTitle = profile.affiliations?.raw[0]; - matchedAffiliationDept = profile.subaffiliations?.raw[0]; + matchedAffiliationDept = + profile.primary_department?.raw || profile.subaffiliations?.raw[0]; } - if (titleInfo?.searchType === "departments") { - const deptIndex = findDeptIndex(profile, titleMatch.depts); - matchedAffiliationTitle = profile.titles?.raw[deptIndex] || ""; + if ( + titleInfo?.searchType === "faculty_rank" || + titleInfo?.searchType === "departments" + ) { + const primaryDeptIndex = findDeptIndex(profile, profile.primary_deptid.raw); + + // Check if supplied deptids in the web directory include the users primary_deptid and is a custom title + if ( + titleMatch.depts.includes(profile.primary_deptid?.raw) && + isCustomTitle(profile, primaryDeptIndex) + ) { + matchedAffiliationTitle = profile.titles?.raw[primaryDeptIndex]; + // Some users do not have a primary title, but do have a primary department, so we default to the titles field + } else if ( + titleMatch.depts.includes(profile.primary_deptid?.raw) && + !isCustomTitle(profile, primaryDeptIndex) + ) { + matchedAffiliationTitle = + profile.primary_title?.raw[0] || + profile.titles?.raw[primaryDeptIndex] || + ""; + } } - if (titleInfo?.searchType === "faculty_rank") { - const deptIndex = findDeptIndex(profile, [titleInfo.deptIds]); - matchedAffiliationTitle = profile.titles?.raw[deptIndex] || ""; + if ( + titleInfo?.searchType === "people" || + titleInfo?.searchType === "people_departments" + ) { + let deptIndex = findDeptIndex(profile, profile.primary_deptid?.raw); + if (isCustomTitle(profile, deptIndex)) { + matchedAffiliationTitle = profile.titles?.raw[deptIndex]; + } + matchedAffiliationDept = profile.primary_department?.raw; + if ( + profile.dept_id === "unaffiliated" && + profile.primary_affiliation?.raw !== "COURTESY_AFFILIATE" + ) { + matchedAffiliationTitle = profile.working_title.raw[0]; + matchedAffiliationDept = + profile.primary_search_department_affiliation?.raw[0]; + } } return { matchedAffiliationTitle, matchedAffiliationDept }; From e5270a3e4297da9ecb9773c3564b5bd29d0f3cca Mon Sep 17 00:00:00 2001 From: david ornelas Date: Wed, 24 Jul 2024 17:22:53 -0700 Subject: [PATCH 04/78] fix(app-webdir-ui): fix logic for web directory in dept and faculty rank types --- .../app-webdir-ui/src/helpers/dataConverter.js | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/packages/app-webdir-ui/src/helpers/dataConverter.js b/packages/app-webdir-ui/src/helpers/dataConverter.js index 01166feed5..597f25582b 100644 --- a/packages/app-webdir-ui/src/helpers/dataConverter.js +++ b/packages/app-webdir-ui/src/helpers/dataConverter.js @@ -167,7 +167,9 @@ const getTitleFromProfile = (profile, titleMatch, titleInfo) => { isCustomTitle(profile, primaryDeptIndex) ) { matchedAffiliationTitle = profile.titles?.raw[primaryDeptIndex]; - // Some users do not have a primary title, but do have a primary department, so we default to the titles field + matchedAffiliationDept = profile.departments?.raw[primaryDeptIndex]; + + // Check if supplied deptids in the web directory include the users primary_deptid and is not a custom title } else if ( titleMatch.depts.includes(profile.primary_deptid?.raw) && !isCustomTitle(profile, primaryDeptIndex) @@ -176,6 +178,19 @@ const getTitleFromProfile = (profile, titleMatch, titleInfo) => { profile.primary_title?.raw[0] || profile.titles?.raw[primaryDeptIndex] || ""; + + // Use first valid dept supplied in web directory and display the title and department based on that + } else { + const firstDepartmentSupplied = titleMatch.depts.find(dept => + profile.deptids?.raw.includes(dept) + ); + const deptIndex = findDeptIndex(profile, firstDepartmentSupplied); + if (isCustomTitle(profile, deptIndex)) { + matchedAffiliationTitle = profile.titles?.raw[deptIndex]; + } else { + matchedAffiliationTitle = ""; + } + matchedAffiliationDept = profile.departments?.raw[deptIndex]; } } From 53dfbe1b7846c9aad92858d620f249dace07b2de Mon Sep 17 00:00:00 2001 From: david ornelas Date: Tue, 30 Jul 2024 11:50:18 -0700 Subject: [PATCH 05/78] fix(app-webdir-ui): add custom titles to courtesy affiliate search results --- packages/app-webdir-ui/src/helpers/dataConverter.js | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/packages/app-webdir-ui/src/helpers/dataConverter.js b/packages/app-webdir-ui/src/helpers/dataConverter.js index 597f25582b..66eb2d8518 100644 --- a/packages/app-webdir-ui/src/helpers/dataConverter.js +++ b/packages/app-webdir-ui/src/helpers/dataConverter.js @@ -153,6 +153,11 @@ const getTitleFromProfile = (profile, titleMatch, titleInfo) => { matchedAffiliationTitle = profile.affiliations?.raw[0]; matchedAffiliationDept = profile.primary_department?.raw || profile.subaffiliations?.raw[0]; + // Check if the primary dept has a custom title + let primaryDeptIndex = findDeptIndex(profile, profile.primary_deptid.raw); + if (isCustomTitle(profile, primaryDeptIndex)) { + matchedAffiliationTitle = profile.titles?.raw[primaryDeptIndex]; + } } if ( From 7b9951283d5b2d9bf2999362f2e4f4ca090bd3a8 Mon Sep 17 00:00:00 2001 From: Juan Pablo Mitriatti Date: Wed, 7 Aug 2024 08:49:42 -0300 Subject: [PATCH 06/78] fix(unity-bootstrap-theme): added css for long pagination on mobile UDS-1754 --- packages/unity-bootstrap-theme/src/scss/extends/_pager.scss | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/unity-bootstrap-theme/src/scss/extends/_pager.scss b/packages/unity-bootstrap-theme/src/scss/extends/_pager.scss index dabf169d93..2badb623b1 100644 --- a/packages/unity-bootstrap-theme/src/scss/extends/_pager.scss +++ b/packages/unity-bootstrap-theme/src/scss/extends/_pager.scss @@ -140,7 +140,9 @@ span.page-link { } @include media-breakpoint-down(md) { .pagination { - gap: .4rem; + gap: 0rem; + padding-right: 0.2rem; + padding-left: 0.2rem; } a.page-link { font-size: 14px; From 310739c0f973328152d08cc890ad80d5864857e9 Mon Sep 17 00:00:00 2001 From: Alexander Persky <5995907+bebaps@users.noreply.github.com> Date: Wed, 7 Aug 2024 11:36:05 -0700 Subject: [PATCH 07/78] feat(unity-bootstrap-theme): add table caption styles --- .../unity-bootstrap-theme/src/scss/extends/_tables.scss | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/packages/unity-bootstrap-theme/src/scss/extends/_tables.scss b/packages/unity-bootstrap-theme/src/scss/extends/_tables.scss index d6171293a6..ae930b82f0 100644 --- a/packages/unity-bootstrap-theme/src/scss/extends/_tables.scss +++ b/packages/unity-bootstrap-theme/src/scss/extends/_tables.scss @@ -74,6 +74,15 @@ } } } + + caption, figcaption { + background-color: var(--bs-gray-1); + caption-side: top; + font-size: 0.85rem; + padding: 1rem; + text-align: center; + word-break: break-word; + } } .uds-table-fixed { From cf2d67521c61045bf27b29443858b2ace8ec3caa Mon Sep 17 00:00:00 2001 From: david ornelas Date: Fri, 9 Aug 2024 14:39:30 -0700 Subject: [PATCH 08/78] chore: updated yarn.lock --- yarn.lock | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/yarn.lock b/yarn.lock index 914d106e11..d29e67975b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -15,6 +15,17 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" +"@asu/components-core@^3.0.0", "@asu/components-core@^3.1.0": + version "3.3.8" + resolved "https://npm.pkg.github.com/download/@asu/components-core/3.3.8/ad2ca007b5be0a22721e42b72d7b9d66b493cae6#ad2ca007b5be0a22721e42b72d7b9d66b493cae6" + integrity sha512-OxKvmTc6Vrijph0nMQ6HWJzysXldSrhfqb+yZ90Agd/3/SENh4ErD8MWZmUwLuuUDFijYx3vajjhAbfV8Zc0IA== + dependencies: + classnames "^2.2.6" + date-fns "^2.19.0" + phone-fns "^3.2.3" + prop-types "^15.7.2" + styled-components "^5.3.0" + "@aw-web-design/x-default-browser@1.4.126": version "1.4.126" resolved "https://registry.yarnpkg.com/@aw-web-design/x-default-browser/-/x-default-browser-1.4.126.tgz#43e4bd8f0314ed907a8718d7e862a203af79bc16" From b43b6daeea0b091564ea4a2077b3c03ab363b676 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Tue, 13 Aug 2024 14:47:22 -0700 Subject: [PATCH 09/78] fix(component-header): fixed navtree with onclick not getting called --- .../components/HeaderMain/NavbarContainer/NavItem/index.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packages/component-header/src/components/HeaderMain/NavbarContainer/NavItem/index.js b/packages/component-header/src/components/HeaderMain/NavbarContainer/NavItem/index.js index dcf473d986..6d40b21144 100644 --- a/packages/component-header/src/components/HeaderMain/NavbarContainer/NavItem/index.js +++ b/packages/component-header/src/components/HeaderMain/NavbarContainer/NavItem/index.js @@ -160,6 +160,9 @@ const NavItem = ({ link, setItemOpened, itemOpened }) => { } else if (e.type === "click" && link.items) { e.preventDefault(); setItemOpened(); + } else if (e.type === "click") { + dispatchGAEvent(); + link.onClick?.(e); } }; @@ -184,6 +187,7 @@ const NavItem = ({ link, setItemOpened, itemOpened }) => { onClick={handleKeyDown} href={link.href} {...(link.items ? { "aria-expanded": opened } : {})} + {...(!link.href ? {tabIndex: 0} : {})} aria-owns={link.items ? `dropdown-${link.id}` : null} className={`${link.class ? link.class : ""}${ link.selected ? " nav-item-selected" : "" From 8d997adf067a6f2392e62e11b3574a8c37e6d7df Mon Sep 17 00:00:00 2001 From: david ornelas Date: Tue, 13 Aug 2024 14:48:52 -0700 Subject: [PATCH 10/78] test(component-header): add test to check for onclick call If a navtree link does not have an href, check to make sure onclick is called --- .../__mocks__/data/props-mock.js | 34 +++++++++++++++++++ .../HeaderMain/NavbarContainer/index.test.js | 29 ++++++++++++++++ 2 files changed, 63 insertions(+) diff --git a/packages/component-header/__mocks__/data/props-mock.js b/packages/component-header/__mocks__/data/props-mock.js index dc78ced887..0fae7bc217 100644 --- a/packages/component-header/__mocks__/data/props-mock.js +++ b/packages/component-header/__mocks__/data/props-mock.js @@ -1,5 +1,29 @@ import { basicNavTree, navTreeWithButtons } from "../../src/core/utils"; +const testNavTreeWithOnClickEventAndNoHref = [ + { + text: "Home", + selected: false, + onClick: () => { + console.log("Home clicked"); + } + }, + { + text: "Test 1", + selected: false, + onClick: () => { + console.log("Test 1 clicked"); + } + }, + { + text: "Fun", + selected: false, + onClick: () => { + console.log("Test 2 clicked"); + } + } +]; + const defaultState = { loggedIn: false, userName: "", @@ -72,6 +96,14 @@ const onHoverState = { expandOnHover: true, breakpoint: "Lg", }; +const withOnClickAndNoHref = { + navTree: testNavTreeWithOnClickEventAndNoHref, + title: "Ira A. Fulton Schools of Engineering", + parentOrg: + "School of Computing, Informatics, and Decisions Systems Engineering", + parentOrgUrl: "https://engineering.asu.edu", + loggedIn: false, +}; export { defaultState, @@ -80,4 +112,6 @@ export { withButtonsState, partnersState, onHoverState, + withOnClickAndNoHref, + testNavTreeWithOnClickEventAndNoHref }; diff --git a/packages/component-header/src/components/HeaderMain/NavbarContainer/index.test.js b/packages/component-header/src/components/HeaderMain/NavbarContainer/index.test.js index 0f64d86548..5f8f9acc78 100644 --- a/packages/component-header/src/components/HeaderMain/NavbarContainer/index.test.js +++ b/packages/component-header/src/components/HeaderMain/NavbarContainer/index.test.js @@ -8,6 +8,7 @@ import { NavbarContainer } from "."; import { defaultState, onHoverState, + testNavTreeWithOnClickEventAndNoHref } from "../../../../__mocks__/data/props-mock"; import { AppContextProvider } from "../../../core/context/app-context"; @@ -72,3 +73,31 @@ describe("#Navbar Container Component opened/closed on hover", () => { expect(navItems[0].className).not.toContain("open-link"); }); }); + +describe("#Navbar Container Component with onClick and no href", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + let navItems; + let onClick = jest.fn(); + + beforeEach(() => { + component = renderNavbarContainer({ + title: "Ira A. Fulton Schools of Engineering", + parentOrg: + "School of Computing, Informatics, and Decisions Systems Engineering", + parentOrgUrl: "https://engineering.asu.edu", + loggedIn: false, + navTree: testNavTreeWithOnClickEventAndNoHref.map(item => ({ + ...item, + onClick: () => onClick() + })) + }); + navItems = component.queryAllByTestId("nav-item"); + }); + afterAll(cleanup); + + it("should call onClick", () => { + fireEvent.click(navItems[0]); + expect(onClick).toHaveBeenCalled(); + }); +}); From af7d21692e9c4150dfedee88a1d22a4c292e14f5 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Tue, 13 Aug 2024 22:51:04 -0700 Subject: [PATCH 11/78] fix(component-header): added onClick event to dropdown sublinks --- .../NavbarContainer/DropdownItem/index.js | 122 +++++++++--------- 1 file changed, 64 insertions(+), 58 deletions(-) diff --git a/packages/component-header/src/components/HeaderMain/NavbarContainer/DropdownItem/index.js b/packages/component-header/src/components/HeaderMain/NavbarContainer/DropdownItem/index.js index cd17a96ba7..fd5e79bda9 100644 --- a/packages/component-header/src/components/HeaderMain/NavbarContainer/DropdownItem/index.js +++ b/packages/component-header/src/components/HeaderMain/NavbarContainer/DropdownItem/index.js @@ -7,6 +7,7 @@ import { useAppContext } from "../../../../core/context/app-context"; import { ButtonPropTypes } from "../../../../core/models/app-prop-types"; import { Button } from "../../../Button"; import { DropdownWrapper } from "./index.styles"; +import { LINK_DEFAULT_PROPS } from "../NavItem"; /** * @typedef { import("../../../../core/models/types").Button } Button @@ -22,11 +23,9 @@ import { DropdownWrapper } from "./index.styles"; */ /** - * * @param {DropdownItemProps} props * @returns {JSX.Element} */ - const DropdownItem = ({ dropdownName, items, @@ -50,71 +49,79 @@ const DropdownItem = ({ } }, []); - const stopPropagation = e => { - e.stopPropagation(); - }; + const stopPropagation = e => e.stopPropagation(); + + const handleLinkEvent = (e, link) => { + const { key, type, target } = e; + const parentElement = target.parentElement; + + const focusNextLink = () => { + const nextLink = parentElement.nextElementSibling?.firstChild; + if (nextLink) nextLink.focus(); + }; + + const focusPrevLink = () => { + const prevLink = parentElement.previousElementSibling?.firstChild; + if (prevLink) prevLink.focus(); + }; - const handleLinkFocus = e => { stopPropagation(e); - if (e.key === "ArrowDown") { + + if (key === "ArrowDown") { e.preventDefault(); - const nextLink = e.target.parentElement.nextElementSibling?.firstChild; - if (nextLink) { - nextLink.focus(); - } - } else if (e.key === "ArrowUp") { + focusNextLink(); + } else if (key === "ArrowUp") { e.preventDefault(); - const prevLink = - e.target.parentElement.previousElementSibling?.firstChild; - if (prevLink) { - prevLink.focus(); - } - } else if (e.key === "Escape") { + focusPrevLink(); + } else if (key === "Escape") { setItemOpened(); - if (parentLink) { - parentLink.focus(); - } + if (parentLink) parentLink.focus(); + } else if (key === "Enter" || key === " " || type === "click") { + link?.onClick?.(e); + trackGAEvent({ ...LINK_DEFAULT_PROPS, text: link.text }); } }; + const HeadingItem = ({ text }) =>

{text}

; + + const ButtonItem = ({ link, dropdownName }) => ( +
  • +
  • + ); + + const LinkItem = ({ link, dropdownName }) => ( +
  • + handleLinkEvent(e, link)} + onKeyDown={e => handleLinkEvent(e, link)} + onFocus={() => + trackGAEvent({ text: link.text, component: dropdownName }) + } + > + {link.text} + +
  • + ); + const renderItem = (link, index) => { const key = `${link.text}-${link.href || index}`; - if (link.type === "heading") { - return ( -

    - {link.text} -

    - ); - } - if (link.type === "button") { - return ( -
  • -
  • - ); - } - return ( -
  • - - trackGAEvent({ text: link.text, component: dropdownName }) - } - > - {link.text} - -
  • - ); + if (link.type === "heading") + return ; + if (link.type === "button") + return ; + return ; }; return ( @@ -123,7 +130,6 @@ const DropdownItem = ({ className={`${classes}${alignedRight ? " aligned-right" : ""}${ isMega ? " mega" : "" }`} - // @ts-ignore breakpoint={breakpoint} >
    Date: Tue, 13 Aug 2024 23:12:21 -0700 Subject: [PATCH 12/78] test(component-header): add test for sublink dropdown --- .../__mocks__/data/props-mock.js | 20 ++++++++++++++---- .../HeaderMain/NavbarContainer/index.test.js | 21 ++++++++++++------- 2 files changed, 29 insertions(+), 12 deletions(-) diff --git a/packages/component-header/__mocks__/data/props-mock.js b/packages/component-header/__mocks__/data/props-mock.js index 0fae7bc217..4884e7166d 100644 --- a/packages/component-header/__mocks__/data/props-mock.js +++ b/packages/component-header/__mocks__/data/props-mock.js @@ -16,11 +16,23 @@ const testNavTreeWithOnClickEventAndNoHref = [ } }, { - text: "Fun", + text: "Test 2", selected: false, - onClick: () => { - console.log("Test 2 clicked"); - } + items: [ + [ + { + text: "Sublink 1", + selected: false, + onClick: () => { + console.log("Sublink 1 clicked"); + }, + }, + { + href: "https://www.asu.edu/", + text: "Sublink 2", + }, + ], + ] } ]; diff --git a/packages/component-header/src/components/HeaderMain/NavbarContainer/index.test.js b/packages/component-header/src/components/HeaderMain/NavbarContainer/index.test.js index 5f8f9acc78..693840222e 100644 --- a/packages/component-header/src/components/HeaderMain/NavbarContainer/index.test.js +++ b/packages/component-header/src/components/HeaderMain/NavbarContainer/index.test.js @@ -83,14 +83,13 @@ describe("#Navbar Container Component with onClick and no href", () => { beforeEach(() => { component = renderNavbarContainer({ title: "Ira A. Fulton Schools of Engineering", - parentOrg: - "School of Computing, Informatics, and Decisions Systems Engineering", - parentOrgUrl: "https://engineering.asu.edu", - loggedIn: false, - navTree: testNavTreeWithOnClickEventAndNoHref.map(item => ({ - ...item, - onClick: () => onClick() - })) + parentOrg: "School of Computing, Informatics, and Decisions Systems Engineering", + parentOrgUrl: "https://engineering.asu.edu", + loggedIn: false, + navTree: testNavTreeWithOnClickEventAndNoHref.map(item => ({ + ...item, + onClick: item.items?.length ? undefined : () => onClick() + })) }); navItems = component.queryAllByTestId("nav-item"); }); @@ -100,4 +99,10 @@ describe("#Navbar Container Component with onClick and no href", () => { fireEvent.click(navItems[0]); expect(onClick).toHaveBeenCalled(); }); + + it("should open up the dropdown on the 3rd link", () => { + fireEvent.click(navItems[2]); + const dropdown = component.container.querySelector("#dropdown-2"); + expect(dropdown).toBeVisible(); + }); }); From d071db026be046f23eae0fff2ba7eff7f0be0cde Mon Sep 17 00:00:00 2001 From: david ornelas Date: Wed, 14 Aug 2024 16:42:38 -0700 Subject: [PATCH 13/78] style(component-header): fix linting errors --- .../NavbarContainer/DropdownItem/index.js | 107 ++++++++++++------ .../NavbarContainer/NavItem/index.js | 2 +- .../HeaderMain/NavbarContainer/index.test.js | 11 +- 3 files changed, 78 insertions(+), 42 deletions(-) diff --git a/packages/component-header/src/components/HeaderMain/NavbarContainer/DropdownItem/index.js b/packages/component-header/src/components/HeaderMain/NavbarContainer/DropdownItem/index.js index fd5e79bda9..7e9ca997c2 100644 --- a/packages/component-header/src/components/HeaderMain/NavbarContainer/DropdownItem/index.js +++ b/packages/component-header/src/components/HeaderMain/NavbarContainer/DropdownItem/index.js @@ -7,7 +7,68 @@ import { useAppContext } from "../../../../core/context/app-context"; import { ButtonPropTypes } from "../../../../core/models/app-prop-types"; import { Button } from "../../../Button"; import { DropdownWrapper } from "./index.styles"; -import { LINK_DEFAULT_PROPS } from "../NavItem"; + +const LINK_DEFAULT_PROPS = { + event: "link", + action: "click", + name: "onclick", + type: "internal link", + region: "navbar", + section: "main navbar", + text: "", +}; + +const HeadingItem = ({ text }) =>

    {text}

    ; + +HeadingItem.propTypes = { + text: PropTypes.string, +}; + +const ButtonItem = ({ link, dropdownName, handleLinkEvent }) => ( +
  • +
  • +); + +ButtonItem.propTypes = { + link: PropTypes.shape({ + text: PropTypes.string, + color: PropTypes.string, + href: PropTypes.string, + }), + dropdownName: PropTypes.string, + handleLinkEvent: PropTypes.func, +}; + +const LinkItem = ({ link, dropdownName, handleLinkEvent }) => ( +
  • + handleLinkEvent(e, link)} + onKeyDown={e => handleLinkEvent(e, link)} + onFocus={() => trackGAEvent({ text: link.text, component: dropdownName })} + > + {link.text} + +
  • +); + +LinkItem.propTypes = { + link: PropTypes.shape({ + text: PropTypes.string, + href: PropTypes.string, + }), + dropdownName: PropTypes.string, + handleLinkEvent: PropTypes.func, +}; /** * @typedef { import("../../../../core/models/types").Button } Button @@ -53,7 +114,7 @@ const DropdownItem = ({ const handleLinkEvent = (e, link) => { const { key, type, target } = e; - const parentElement = target.parentElement; + const { parentElement } = target; const focusNextLink = () => { const nextLink = parentElement.nextElementSibling?.firstChild; @@ -82,39 +143,6 @@ const DropdownItem = ({ } }; - const HeadingItem = ({ text }) =>

    {text}

    ; - - const ButtonItem = ({ link, dropdownName }) => ( -
  • -
  • - ); - - const LinkItem = ({ link, dropdownName }) => ( -
  • - handleLinkEvent(e, link)} - onKeyDown={e => handleLinkEvent(e, link)} - onFocus={() => - trackGAEvent({ text: link.text, component: dropdownName }) - } - > - {link.text} - -
  • - ); - const renderItem = (link, index) => { const key = `${link.text}-${link.href || index}`; if (link.type === "heading") @@ -167,7 +195,14 @@ const DropdownItem = ({ DropdownItem.propTypes = { dropdownName: PropTypes.string, - items: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.object)), + items: PropTypes.arrayOf( + PropTypes.shape({ + text: PropTypes.string, + selected: PropTypes.bool, + onClick: PropTypes.func, + href: PropTypes.string, + }) + ), buttons: PropTypes.arrayOf(PropTypes.shape(ButtonPropTypes)), classes: PropTypes.string, listId: PropTypes.string, diff --git a/packages/component-header/src/components/HeaderMain/NavbarContainer/NavItem/index.js b/packages/component-header/src/components/HeaderMain/NavbarContainer/NavItem/index.js index 6d40b21144..edf50f3a6b 100644 --- a/packages/component-header/src/components/HeaderMain/NavbarContainer/NavItem/index.js +++ b/packages/component-header/src/components/HeaderMain/NavbarContainer/NavItem/index.js @@ -187,7 +187,7 @@ const NavItem = ({ link, setItemOpened, itemOpened }) => { onClick={handleKeyDown} href={link.href} {...(link.items ? { "aria-expanded": opened } : {})} - {...(!link.href ? {tabIndex: 0} : {})} + {...(!link.href ? { tabIndex: 0 } : {})} aria-owns={link.items ? `dropdown-${link.id}` : null} className={`${link.class ? link.class : ""}${ link.selected ? " nav-item-selected" : "" diff --git a/packages/component-header/src/components/HeaderMain/NavbarContainer/index.test.js b/packages/component-header/src/components/HeaderMain/NavbarContainer/index.test.js index 693840222e..182dd8ed99 100644 --- a/packages/component-header/src/components/HeaderMain/NavbarContainer/index.test.js +++ b/packages/component-header/src/components/HeaderMain/NavbarContainer/index.test.js @@ -8,7 +8,7 @@ import { NavbarContainer } from "."; import { defaultState, onHoverState, - testNavTreeWithOnClickEventAndNoHref + testNavTreeWithOnClickEventAndNoHref, } from "../../../../__mocks__/data/props-mock"; import { AppContextProvider } from "../../../core/context/app-context"; @@ -78,18 +78,19 @@ describe("#Navbar Container Component with onClick and no href", () => { /** @type {import("@testing-library/react").RenderResult} */ let component; let navItems; - let onClick = jest.fn(); + const onClick = jest.fn(); beforeEach(() => { component = renderNavbarContainer({ title: "Ira A. Fulton Schools of Engineering", - parentOrg: "School of Computing, Informatics, and Decisions Systems Engineering", + parentOrg: + "School of Computing, Informatics, and Decisions Systems Engineering", parentOrgUrl: "https://engineering.asu.edu", loggedIn: false, navTree: testNavTreeWithOnClickEventAndNoHref.map(item => ({ ...item, - onClick: item.items?.length ? undefined : () => onClick() - })) + onClick: item.items?.length ? undefined : () => onClick(), + })), }); navItems = component.queryAllByTestId("nav-item"); }); From 33873759956fc5f1cd61700af2ad84f5bfed701f Mon Sep 17 00:00:00 2001 From: david ornelas Date: Tue, 20 Aug 2024 14:29:27 -0700 Subject: [PATCH 14/78] fix(app-webdir-ui): added prodile service class for reusability --- .../src/SearchResultsList/dataFormatter.js | 74 +++++++ .../src/SearchResultsList/index.js | 185 ++++++++++-------- .../src/WebDirectoryComponent/index.js | 32 +-- .../app-webdir-ui/src/helpers/constants.js | 4 + .../src/helpers/dataConverter.js | 33 ++-- packages/app-webdir-ui/src/helpers/search.js | 3 +- 6 files changed, 201 insertions(+), 130 deletions(-) create mode 100644 packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js create mode 100644 packages/app-webdir-ui/src/helpers/constants.js diff --git a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js new file mode 100644 index 0000000000..0545b18fa9 --- /dev/null +++ b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js @@ -0,0 +1,74 @@ +import axios from "axios"; +import { validateAndCleanURL } from "../helpers/validateUrl"; + +export class ProfileService { + constructor(engine, filters) { + this.engine = engine; + this.filters = filters; + } + + processURL(url) { + return validateAndCleanURL(url); + } + + async fetchProfiles(profiles) { + const url = this.processURL( + `${this.engine.API_URL}${this.engine.searchApiVersion}/webdir-profiles/department` + ); + const response = await axios.post(url, { + full_records: false, + profiles, + }); + return response.data; + } + + async #getProfilesForTerm(filteredResults) { + const profiles = filteredResults.results.map(result => ({ + asurite_id: result.asurite_id.raw, + dept_id: null, + })); + + const data = await this.fetchProfiles(profiles); + + return { + ...filteredResults, + results: filteredResults.results.map((result, index) => ({ + ...result, + title: data[index].title, + dept_name: data[index].dept_name, + })), + }; + } + + async #getProfilesForGET(filteredResults) { + const profiles = filteredResults.results.map(({ asurite_id, deptids }) => ({ + asurite_id: asurite_id.raw, + dept_id: this.filters["deptIds"].find(deptId => + deptids.raw.includes(deptId) + ), + })); + + const data = await this.fetchProfiles(profiles); + + return { + ...filteredResults, + results: filteredResults.results.map((result, index) => ({ + ...result, + title: data[index].title, + dept_name: data[index].dept_name, + })), + }; + } + + // This main method is called from the SearchResultsList component and adds a + // "title" and "dept_name" field to the individual results. Used in dataConverter.js + async processProfiles(term, filteredResults) { + if (term) { + return await this.#getProfilesForTerm(filteredResults); + } else if (this.engine.method === "GET") { + return await this.#getProfilesForGET(filteredResults); + } else { + return filteredResults; + } + } +} diff --git a/packages/app-webdir-ui/src/SearchResultsList/index.js b/packages/app-webdir-ui/src/SearchResultsList/index.js index c3fdb111a6..cbbfada0c2 100644 --- a/packages/app-webdir-ui/src/SearchResultsList/index.js +++ b/packages/app-webdir-ui/src/SearchResultsList/index.js @@ -6,6 +6,7 @@ import { trackGAEvent } from "../../../../shared"; import { performSearch } from "../helpers/search"; import { SearchMessage } from "../SearchPage/components/SearchMessage"; import { SearchResultsList } from "./index.styles"; +import { ProfileService } from "./dataFormatter" /* 'type' must be 'micro', 'preview', or 'full'. @@ -71,101 +72,111 @@ const ASUSearchResultsList = ({ const searchList = useRef(null); const controller = new AbortController(); - const doSearch = (page = currentPage) => { + const doSearch = async (page = currentPage) => { if ((term && term.length > 0) || !engine.needsTerm) { setIsLoading(true); - performSearch({ - engine, - term, - page, - itemsPerPage, - sort, - filters, - display, - rankGroup, - controller, - size: display?.profilesPerPage, - restClientTag, - }) - .then(res => { - const filteredResults = res; - if (sort === "employee_weight" && engine?.name === "people_in_dept") { - filteredResults.results = filteredResults.results.filter(result => { - return Object.keys(result).length > 1; - }); - } - const formattedResults = engine.formatter({ - results: filteredResults, - page, - itemsPerPage, - cardSize, - filters, - appPathFolder: appPathFolder || engine.appPathFolder, - localSection, - props: { - API_URL: engine.API_URL, - searchApiVersion: engine.searchApiVersion, - loggedIn, - }, + try { + const res = await performSearch({ + engine, + term, + page, + itemsPerPage, + sort, + filters, + display, + rankGroup, + controller, + size: display?.profilesPerPage, + restClientTag, + }); + + let filteredResults = res; + if (sort === "employee_weight" && engine?.name === "people_in_dept") { + filteredResults.results = filteredResults.results.filter(result => { + return Object.keys(result).length > 1; }); - if (registerResults) { - registerResults(formattedResults.page.total_results); - } - if (engine.method === "GET") { - if (sort === "employee_weight") { - setCurrentPage(formattedResults.page.current + 1); - } else { - setCurrentPage(formattedResults.page.current); - } - } - if (engine.method === "POST") { - setTotalResults(filteredResults[0]?.total_results); // Each result has the total_results property + } + + const profileService = new ProfileService(engine, filters); + filteredResults = await profileService.processProfiles(term, filteredResults); + + const formattedResults = engine.formatter({ + results: filteredResults, + page, + itemsPerPage, + cardSize, + filters, + appPathFolder: appPathFolder || engine.appPathFolder, + localSection, + props: { + API_URL: engine.API_URL, + searchApiVersion: engine.searchApiVersion, + loggedIn, + }, + }); + + if (registerResults) { + registerResults(formattedResults.page.total_results); + } + + if (engine.method === "GET") { + if (sort === "employee_weight") { + setCurrentPage(formattedResults.page.current + 1); } else { - setTotalResults(formattedResults.page.total_results); + setCurrentPage(formattedResults.page.current); } - const resultsWithProps = formattedResults.results.map( - (profile, idx) => { - const newProps = { - ...profile.props, - ...{ key: idx, GASource }, - }; - return { - ...profile, - ...{ props: newProps }, - key: profile.props?.children?.key ?? idx, - }; - } + } + + if (engine.method === "POST") { + setTotalResults(filteredResults[0]?.total_results); // Each result has the total_results property + } else { + setTotalResults(formattedResults.page.total_results); + } + + const resultsWithProps = formattedResults.results.map((profile, idx) => { + const newProps = { + ...profile.props, + ...{ key: idx, GASource }, + }; + return { + ...profile, + ...{ props: newProps }, + key: profile.props?.children?.key ?? idx, + }; + }); + + if (setPromotedResult) { + setPromotedResult(formattedResults.topResult); + } + + setResults(resultsWithProps); + + if (showSearchMessage) { + setSubtitle( + ); - if (setPromotedResult) { - setPromotedResult(formattedResults.topResult); - } - setResults(resultsWithProps); - if (showSearchMessage) { - setSubtitle( - - ); - } + } - setIsLoading(false); - trackGAEvent({ - event: "search", - action: "type", - name: "onenter", - type: "search asu.edu", - section: "search", - text: term, - }); - }) - .catch(err => { - console.error(err); - setIsLoading(false); + setIsLoading(false); + trackGAEvent({ + event: "search", + action: "type", + name: "onenter", + type: "search asu.edu", + section: "search", + text: term, }); + } catch (err) { + console.error(err); + setIsLoading(false); + setResults([]); + } } }; diff --git a/packages/app-webdir-ui/src/WebDirectoryComponent/index.js b/packages/app-webdir-ui/src/WebDirectoryComponent/index.js index 914eadacef..6db4be6539 100644 --- a/packages/app-webdir-ui/src/WebDirectoryComponent/index.js +++ b/packages/app-webdir-ui/src/WebDirectoryComponent/index.js @@ -10,12 +10,13 @@ import { engineNames, engines } from "../helpers/search"; import { SortPicker } from "../SearchPage/components/sort"; import { ASUSearchResultsList } from "../SearchResultsList"; import { WebDirLayout, FacultyRankLayout } from "./index.styles"; +import { FILTER_CHOICES } from "../helpers/constants.js"; /** * React component for displaying web directory search results. * * @param {Object} props - The props for configuring the WebDirectory component. - * @param {string} props.searchType - The type of web directory search (e.g., 'departments', 'people'). + * @param {"departments" | "faculty_rank" | "people" | "people_departments"} props.searchType - The type of web directory search (e.g., 'departments', 'people'). * @param {string} props.ids - The IDs used for searching (e.g., department IDs, ASURITE IDs). * @param {string} props.deptIds - The department IDs for searching. * @param {string} props.API_URL - The API URL for performing the search. @@ -162,34 +163,7 @@ function WebDirectory({ {alphaFilter === "true" && ( setRequestFilters({ ...requestFilters, lastInit: filterLetter }) } diff --git a/packages/app-webdir-ui/src/helpers/constants.js b/packages/app-webdir-ui/src/helpers/constants.js new file mode 100644 index 0000000000..b394127e9f --- /dev/null +++ b/packages/app-webdir-ui/src/helpers/constants.js @@ -0,0 +1,4 @@ +export const FILTER_CHOICES = [ + "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R", + "S","T","U","V","W","X","Y","Z" +]; diff --git a/packages/app-webdir-ui/src/helpers/dataConverter.js b/packages/app-webdir-ui/src/helpers/dataConverter.js index 66eb2d8518..d015075717 100644 --- a/packages/app-webdir-ui/src/helpers/dataConverter.js +++ b/packages/app-webdir-ui/src/helpers/dataConverter.js @@ -118,14 +118,21 @@ function findDeptIndex(profile, deptId = "") { function getTitleAndDeptFromIndex(profile, index) { let title = profile.titles?.raw[index]; let dept = profile.departments?.raw[index]; - if (profile.title_source.raw[index] !== "titles" && profile.working_title?.raw[0]) { - title = profile.working_title.raw[0]; + if (profile.title_source?.raw[index] !== "titles" && profile.working_title?.raw[0]) { + title = profile.working_title?.raw[0]; } return { title, dept }; } // See https://asudev.jira.com/browse/SCHWEB-1238 for title logic. const getTitleFromProfile = (profile, titleMatch, titleInfo) => { + + if (Array.isArray(profile.title) && profile.title[0] && profile.dept_name) { + return { matchedAffiliationTitle: profile.title[0], matchedAffiliationDept: profile.dept_name }; + } else if (typeof profile.title === "string" && profile.dept_name) { + return { matchedAffiliationTitle: profile.title, matchedAffiliationDept: profile.dept_name }; + } + let matchedAffiliationTitle = profile.title || profile.working_title?.raw[0] || ""; let matchedAffiliationDept = @@ -136,25 +143,25 @@ const getTitleFromProfile = (profile, titleMatch, titleInfo) => { if ( profile.primary_deptid?.raw && profile.titles?.raw && - profile.primary_affiliation.raw !== "COURTESY_AFFILIATE" + profile.primary_affiliation?.raw !== "COURTESY_AFFILIATE" ) { - const deptIndex = findDeptIndex(profile, profile.primary_deptid.raw); + const deptIndex = findDeptIndex(profile, profile.primary_deptid?.raw); ({ title: matchedAffiliationTitle, dept: matchedAffiliationDept } = getTitleAndDeptFromIndex(profile, deptIndex)); } else if ( profile.primary_department?.raw && - profile.primary_affiliation.raw !== "COURTESY_AFFILIATE" + profile.primary_affiliation?.raw !== "COURTESY_AFFILIATE" ) { - const deptIndex = profile.departments.raw.findIndex( - dept => dept === profile.primary_department.raw + const deptIndex = profile.departments?.raw.findIndex( + dept => dept === profile.primary_department?.raw ); - matchedAffiliationDept = profile.departments.raw[deptIndex]; - } else if (profile.primary_affiliation.raw === "COURTESY_AFFILIATE") { + matchedAffiliationDept = profile.departments?.raw[deptIndex]; + } else if (profile.primary_affiliation?.raw === "COURTESY_AFFILIATE") { matchedAffiliationTitle = profile.affiliations?.raw[0]; matchedAffiliationDept = profile.primary_department?.raw || profile.subaffiliations?.raw[0]; // Check if the primary dept has a custom title - let primaryDeptIndex = findDeptIndex(profile, profile.primary_deptid.raw); + let primaryDeptIndex = findDeptIndex(profile, profile.primary_deptid?.raw); if (isCustomTitle(profile, primaryDeptIndex)) { matchedAffiliationTitle = profile.titles?.raw[primaryDeptIndex]; } @@ -164,7 +171,7 @@ const getTitleFromProfile = (profile, titleMatch, titleInfo) => { titleInfo?.searchType === "faculty_rank" || titleInfo?.searchType === "departments" ) { - const primaryDeptIndex = findDeptIndex(profile, profile.primary_deptid.raw); + const primaryDeptIndex = findDeptIndex(profile, profile.primary_deptid?.raw); // Check if supplied deptids in the web directory include the users primary_deptid and is a custom title if ( @@ -212,7 +219,7 @@ const getTitleFromProfile = (profile, titleMatch, titleInfo) => { profile.dept_id === "unaffiliated" && profile.primary_affiliation?.raw !== "COURTESY_AFFILIATE" ) { - matchedAffiliationTitle = profile.working_title.raw[0]; + matchedAffiliationTitle = profile.working_title?.raw[0]; matchedAffiliationDept = profile.primary_search_department_affiliation?.raw[0]; } @@ -294,7 +301,7 @@ export const staffConverter = ({ // We use EID if it's available, otherwise we use the asurite_id. const profileURLBase = options.profileURLBase ?? ""; const asuriteEID = - filledDatum.eid.raw && filledDatum.eid.raw !== "0" + filledDatum.eid?.raw && filledDatum.eid?.raw !== "0" ? filledDatum.eid.raw.toString() : filledDatum.asurite_id.raw.toString(); if (appPathFolder) { diff --git a/packages/app-webdir-ui/src/helpers/search.js b/packages/app-webdir-ui/src/helpers/search.js index 6c3e410cab..9c46920c21 100644 --- a/packages/app-webdir-ui/src/helpers/search.js +++ b/packages/app-webdir-ui/src/helpers/search.js @@ -395,6 +395,7 @@ export const performSearch = function ({ : "https://dev-asu-isearch.ws.asu.edu/api/v1/"; let query = `${searchURLOrDefault}${engine.url}`; + let tokenResponse = null; let APICall = null; if (engine.method === "GET") { @@ -469,7 +470,7 @@ export const performSearch = function ({ const validatedTokenUrl = validateAndCleanURL( `${engine.API_URL}/session/token` ); - const tokenResponse = await axios.get(validatedTokenUrl); + tokenResponse = await axios.get(validatedTokenUrl); const headers = { "X-CSRF-Token": tokenResponse.data, }; From aba7c67d5c3fb074756648f5f485d972f34e2ad1 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Wed, 21 Aug 2024 15:42:47 -0700 Subject: [PATCH 15/78] build: update eslint to use newer features --- .eslintrc.base.js | 2 +- package.json | 2 +- packages/app-webdir-ui/docs/README.props.md | 2 +- .../src/SearchResultsList/dataFormatter.js | 14 ++++---- .../src/SearchResultsList/index.js | 31 +++++++++------- .../src/WebDirectoryComponent/index.js | 2 +- .../app-webdir-ui/src/helpers/constants.js | 28 +++++++++++++-- .../src/helpers/dataConverter.js | 35 +++++++++++++------ packages/app-webdir-ui/src/helpers/search.js | 7 ++-- yarn.lock | 4 +-- 10 files changed, 86 insertions(+), 41 deletions(-) diff --git a/.eslintrc.base.js b/.eslintrc.base.js index 5b63e3dec5..eb831e4a68 100644 --- a/.eslintrc.base.js +++ b/.eslintrc.base.js @@ -27,7 +27,7 @@ module.exports = { ecmaFeatures: { jsx: true, }, - ecmaVersion: 12, + ecmaVersion: 13, sourceType: "module", }, plugins: ["react", "jest"], diff --git a/package.json b/package.json index 5c0cfc0ac0..555aaf3924 100755 --- a/package.json +++ b/package.json @@ -65,7 +65,7 @@ "css-minimizer-webpack-plugin": "^2.0.0", "cz-conventional-changelog": "3.3.0", "dompurify": "^2.2.7", - "eslint": "^7.24.0", + "eslint": "^8", "eslint-config-airbnb": "^18.2.1", "eslint-config-preact": "^1.1.3", "eslint-config-prettier": "^8.2.0", diff --git a/packages/app-webdir-ui/docs/README.props.md b/packages/app-webdir-ui/docs/README.props.md index ff53cbc91b..22168c42d3 100644 --- a/packages/app-webdir-ui/docs/README.props.md +++ b/packages/app-webdir-ui/docs/README.props.md @@ -173,7 +173,7 @@ React component for displaying web directory search results. | Param | Type | Description | | --- | --- | --- | | props | Object | The props for configuring the WebDirectory component. | -| props.searchType | string | The type of web directory search (e.g., 'departments', 'people'). | +| props.searchType | "departments" \| "faculty\_rank" \| "people" \| "people\_departments" | The type of web directory search (e.g., 'departments', 'people'). | | props.ids | string | The IDs used for searching (e.g., department IDs, ASURITE IDs). | | props.deptIds | string | The department IDs for searching. | | props.API_URL | string | The API URL for performing the search. | diff --git a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js index 0545b18fa9..68c7dec295 100644 --- a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js +++ b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js @@ -1,4 +1,6 @@ +/* eslint-disable camelcase */ import axios from "axios"; + import { validateAndCleanURL } from "../helpers/validateUrl"; export class ProfileService { @@ -7,7 +9,7 @@ export class ProfileService { this.filters = filters; } - processURL(url) { + static processURL(url) { return validateAndCleanURL(url); } @@ -64,11 +66,11 @@ export class ProfileService { // "title" and "dept_name" field to the individual results. Used in dataConverter.js async processProfiles(term, filteredResults) { if (term) { - return await this.#getProfilesForTerm(filteredResults); - } else if (this.engine.method === "GET") { - return await this.#getProfilesForGET(filteredResults); - } else { - return filteredResults; + return this.#getProfilesForTerm(filteredResults); + } + if (this.engine.method === "GET") { + return this.#getProfilesForGET(filteredResults); } + return filteredResults; } } diff --git a/packages/app-webdir-ui/src/SearchResultsList/index.js b/packages/app-webdir-ui/src/SearchResultsList/index.js index cbbfada0c2..f406fe8bd4 100644 --- a/packages/app-webdir-ui/src/SearchResultsList/index.js +++ b/packages/app-webdir-ui/src/SearchResultsList/index.js @@ -5,8 +5,8 @@ import React, { useState, useEffect, useRef } from "react"; import { trackGAEvent } from "../../../../shared"; import { performSearch } from "../helpers/search"; import { SearchMessage } from "../SearchPage/components/SearchMessage"; +import { ProfileService } from "./dataFormatter"; import { SearchResultsList } from "./index.styles"; -import { ProfileService } from "./dataFormatter" /* 'type' must be 'micro', 'preview', or 'full'. @@ -98,7 +98,10 @@ const ASUSearchResultsList = ({ } const profileService = new ProfileService(engine, filters); - filteredResults = await profileService.processProfiles(term, filteredResults); + filteredResults = await profileService.processProfiles( + term, + filteredResults + ); const formattedResults = engine.formatter({ results: filteredResults, @@ -133,17 +136,19 @@ const ASUSearchResultsList = ({ setTotalResults(formattedResults.page.total_results); } - const resultsWithProps = formattedResults.results.map((profile, idx) => { - const newProps = { - ...profile.props, - ...{ key: idx, GASource }, - }; - return { - ...profile, - ...{ props: newProps }, - key: profile.props?.children?.key ?? idx, - }; - }); + const resultsWithProps = formattedResults.results.map( + (profile, idx) => { + const newProps = { + ...profile.props, + ...{ key: idx, GASource }, + }; + return { + ...profile, + ...{ props: newProps }, + key: profile.props?.children?.key ?? idx, + }; + } + ); if (setPromotedResult) { setPromotedResult(formattedResults.topResult); diff --git a/packages/app-webdir-ui/src/WebDirectoryComponent/index.js b/packages/app-webdir-ui/src/WebDirectoryComponent/index.js index 6db4be6539..f50190527e 100644 --- a/packages/app-webdir-ui/src/WebDirectoryComponent/index.js +++ b/packages/app-webdir-ui/src/WebDirectoryComponent/index.js @@ -5,12 +5,12 @@ import React, { useState, useEffect } from "react"; import trackReactComponent from "../../../../shared/services/componentDatalayer"; import FacultyRankTabPanels from "../FacultyRankComponent"; +import { FILTER_CHOICES } from "../helpers/constants"; import { FilterComponent } from "../helpers/Filter"; import { engineNames, engines } from "../helpers/search"; import { SortPicker } from "../SearchPage/components/sort"; import { ASUSearchResultsList } from "../SearchResultsList"; import { WebDirLayout, FacultyRankLayout } from "./index.styles"; -import { FILTER_CHOICES } from "../helpers/constants.js"; /** * React component for displaying web directory search results. diff --git a/packages/app-webdir-ui/src/helpers/constants.js b/packages/app-webdir-ui/src/helpers/constants.js index b394127e9f..026548ae12 100644 --- a/packages/app-webdir-ui/src/helpers/constants.js +++ b/packages/app-webdir-ui/src/helpers/constants.js @@ -1,4 +1,28 @@ export const FILTER_CHOICES = [ - "A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R", - "S","T","U","V","W","X","Y","Z" + "A", + "B", + "C", + "D", + "E", + "F", + "G", + "H", + "I", + "J", + "K", + "L", + "M", + "N", + "O", + "P", + "Q", + "R", + "S", + "T", + "U", + "V", + "W", + "X", + "Y", + "Z", ]; diff --git a/packages/app-webdir-ui/src/helpers/dataConverter.js b/packages/app-webdir-ui/src/helpers/dataConverter.js index d015075717..7fff1d828e 100644 --- a/packages/app-webdir-ui/src/helpers/dataConverter.js +++ b/packages/app-webdir-ui/src/helpers/dataConverter.js @@ -107,7 +107,7 @@ const fillInBlanks = datum => { }; function isCustomTitle(profile, index) { if (!profile.title_source?.raw) return false; - return profile.title_source?.raw[index] === "titles" + return profile.title_source?.raw[index] === "titles"; } function findDeptIndex(profile, deptId = "") { @@ -117,8 +117,11 @@ function findDeptIndex(profile, deptId = "") { function getTitleAndDeptFromIndex(profile, index) { let title = profile.titles?.raw[index]; - let dept = profile.departments?.raw[index]; - if (profile.title_source?.raw[index] !== "titles" && profile.working_title?.raw[0]) { + const dept = profile.departments?.raw[index]; + if ( + profile.title_source?.raw[index] !== "titles" && + profile.working_title?.raw[0] + ) { title = profile.working_title?.raw[0]; } return { title, dept }; @@ -126,11 +129,17 @@ function getTitleAndDeptFromIndex(profile, index) { // See https://asudev.jira.com/browse/SCHWEB-1238 for title logic. const getTitleFromProfile = (profile, titleMatch, titleInfo) => { - if (Array.isArray(profile.title) && profile.title[0] && profile.dept_name) { - return { matchedAffiliationTitle: profile.title[0], matchedAffiliationDept: profile.dept_name }; - } else if (typeof profile.title === "string" && profile.dept_name) { - return { matchedAffiliationTitle: profile.title, matchedAffiliationDept: profile.dept_name }; + return { + matchedAffiliationTitle: profile.title[0], + matchedAffiliationDept: profile.dept_name, + }; + } + if (typeof profile.title === "string" && profile.dept_name) { + return { + matchedAffiliationTitle: profile.title, + matchedAffiliationDept: profile.dept_name, + }; } let matchedAffiliationTitle = @@ -161,7 +170,10 @@ const getTitleFromProfile = (profile, titleMatch, titleInfo) => { matchedAffiliationDept = profile.primary_department?.raw || profile.subaffiliations?.raw[0]; // Check if the primary dept has a custom title - let primaryDeptIndex = findDeptIndex(profile, profile.primary_deptid?.raw); + const primaryDeptIndex = findDeptIndex( + profile, + profile.primary_deptid?.raw + ); if (isCustomTitle(profile, primaryDeptIndex)) { matchedAffiliationTitle = profile.titles?.raw[primaryDeptIndex]; } @@ -171,7 +183,10 @@ const getTitleFromProfile = (profile, titleMatch, titleInfo) => { titleInfo?.searchType === "faculty_rank" || titleInfo?.searchType === "departments" ) { - const primaryDeptIndex = findDeptIndex(profile, profile.primary_deptid?.raw); + const primaryDeptIndex = findDeptIndex( + profile, + profile.primary_deptid?.raw + ); // Check if supplied deptids in the web directory include the users primary_deptid and is a custom title if ( @@ -210,7 +225,7 @@ const getTitleFromProfile = (profile, titleMatch, titleInfo) => { titleInfo?.searchType === "people" || titleInfo?.searchType === "people_departments" ) { - let deptIndex = findDeptIndex(profile, profile.primary_deptid?.raw); + const deptIndex = findDeptIndex(profile, profile.primary_deptid?.raw); if (isCustomTitle(profile, deptIndex)) { matchedAffiliationTitle = profile.titles?.raw[deptIndex]; } diff --git a/packages/app-webdir-ui/src/helpers/search.js b/packages/app-webdir-ui/src/helpers/search.js index 9c46920c21..cb4b5f2b3b 100644 --- a/packages/app-webdir-ui/src/helpers/search.js +++ b/packages/app-webdir-ui/src/helpers/search.js @@ -196,10 +196,9 @@ const webDirDeptsFormatter = ({ } // filters.peopleInDepts indicates a WEB_DIRECTORY_PEOPLE_AND_DEPS flow. // filters.deptIds indicates a WEB_DIRECTORY_DEPARTMENTS flow. - const titleOverwrite = - filters?.peopleInDepts - ? { peopleInDeps: filters.peopleInDepts } - : { depts: filters?.deptIds }; + const titleOverwrite = filters?.peopleInDepts + ? { peopleInDeps: filters.peopleInDepts } + : { depts: filters?.deptIds }; return { tab: engines[engineName].name, diff --git a/yarn.lock b/yarn.lock index d29e67975b..a885398b4b 100644 --- a/yarn.lock +++ b/yarn.lock @@ -9741,7 +9741,7 @@ eslint-webpack-plugin@^4.0.0: normalize-path "^3.0.0" schema-utils "^4.2.0" -eslint@^7.24.0, eslint@^7.25.0: +eslint@^7.25.0: version "7.32.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== @@ -9787,7 +9787,7 @@ eslint@^7.24.0, eslint@^7.25.0: text-table "^0.2.0" v8-compile-cache "^2.0.3" -eslint@^8.37.0: +eslint@^8, eslint@^8.37.0: version "8.57.0" resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.57.0.tgz#c786a6fd0e0b68941aaf624596fb987089195668" integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== From e0a634a58431c4df9a4efcd606d4a79d9097da6f Mon Sep 17 00:00:00 2001 From: david ornelas Date: Wed, 21 Aug 2024 16:50:08 -0700 Subject: [PATCH 16/78] fix(app-webdir-ui): added student and site fallback logic --- .../app-webdir-ui/src/SearchResultsList/dataFormatter.js | 5 ++++- packages/app-webdir-ui/src/helpers/dataConverter.js | 2 +- packages/app-webdir-ui/src/helpers/search.js | 7 +++++++ 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js index 68c7dec295..ef04184fec 100644 --- a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js +++ b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js @@ -14,7 +14,7 @@ export class ProfileService { } async fetchProfiles(profiles) { - const url = this.processURL( + const url = ProfileService.processURL( `${this.engine.API_URL}${this.engine.searchApiVersion}/webdir-profiles/department` ); const response = await axios.post(url, { @@ -65,6 +65,9 @@ export class ProfileService { // This main method is called from the SearchResultsList component and adds a // "title" and "dept_name" field to the individual results. Used in dataConverter.js async processProfiles(term, filteredResults) { + if (!this.engine.doTitleLogic) { + return filteredResults; + } if (term) { return this.#getProfilesForTerm(filteredResults); } diff --git a/packages/app-webdir-ui/src/helpers/dataConverter.js b/packages/app-webdir-ui/src/helpers/dataConverter.js index 7fff1d828e..4f05c8fd6f 100644 --- a/packages/app-webdir-ui/src/helpers/dataConverter.js +++ b/packages/app-webdir-ui/src/helpers/dataConverter.js @@ -135,7 +135,7 @@ const getTitleFromProfile = (profile, titleMatch, titleInfo) => { matchedAffiliationDept: profile.dept_name, }; } - if (typeof profile.title === "string" && profile.dept_name) { + if ((typeof profile.title === "string" || profile.title) && profile.dept_name) { return { matchedAffiliationTitle: profile.title, matchedAffiliationDept: profile.dept_name, diff --git a/packages/app-webdir-ui/src/helpers/search.js b/packages/app-webdir-ui/src/helpers/search.js index cb4b5f2b3b..7547649ade 100644 --- a/packages/app-webdir-ui/src/helpers/search.js +++ b/packages/app-webdir-ui/src/helpers/search.js @@ -240,6 +240,7 @@ export const engines = { appPathFolder, }), needsTerm: true, + doTitleLogic: true }, [engineNames.STUDENTS]: { name: engineNames.STUDENTS, @@ -257,6 +258,7 @@ export const engines = { appPathFolder, }), needsTerm: true, + doTitleLogic: false }, [engineNames.SITES]: { name: engineNames.SITES, @@ -284,6 +286,7 @@ export const engines = { ); }, needsTerm: true, + doTitleLogic: false }, [engineNames.SITES_LOCAL]: { name: engineNames.SITES_LOCAL, @@ -311,6 +314,7 @@ export const engines = { }); }, needsTerm: true, + doTitleLogic: false }, [engineNames.WEB_DIRECTORY_DEPARTMENTS]: { name: engineNames.WEB_DIRECTORY_DEPARTMENTS, @@ -334,6 +338,7 @@ export const engines = { appPathFolder, }), needsTerm: false, + doTitleLogic: true }, [engineNames.WEB_DIRECTORY_FACULTY_RANK]: { name: engineNames.WEB_DIRECTORY_FACULTY_RANK, @@ -352,6 +357,7 @@ export const engines = { appPathFolder, }), needsTerm: false, + doTitleLogic: true }, [engineNames.WEB_DIRECTORY_PEOPLE_AND_DEPS]: { name: engineNames.WEB_DIRECTORY_PEOPLE_AND_DEPS, @@ -370,6 +376,7 @@ export const engines = { appPathFolder, }), needsTerm: false, + doTitleLogic: true }, }; From 311f872c0ec809f33a89a8ec1cdb0a8a2720cc28 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Fri, 23 Aug 2024 12:50:43 -0700 Subject: [PATCH 17/78] fix(app-rfi): Update Military to radio button --- .../src/components/controls/RfiRadioGroup.js | 75 ++++++++++--------- .../steps/questions/MilitaryStatus.js | 49 +++++------- packages/app-rfi/src/core/utils/appState.js | 2 +- 3 files changed, 62 insertions(+), 64 deletions(-) diff --git a/packages/app-rfi/src/components/controls/RfiRadioGroup.js b/packages/app-rfi/src/components/controls/RfiRadioGroup.js index 90ac1b7a65..1f1dcb762e 100644 --- a/packages/app-rfi/src/components/controls/RfiRadioGroup.js +++ b/packages/app-rfi/src/components/controls/RfiRadioGroup.js @@ -7,40 +7,46 @@ import React from "react"; import { RfiError, RfiLabel } from "./controls-helpers"; -const RfiRadioGroup = ({ name, id, options, label }) => ( - - {({ - field, - // eslint-disable-next-line no-unused-vars - form: { touched, errors }, - meta, - }) => { - const isError = meta.error; - return ( -
    - - - {options.map(option => ( -
    - {" "} - -
    - ))} -
    - ); - }} -
    -); +const RfiRadioGroup = ({ name, id, options, label, onBlur }) => { + return ( + + {({ + field, + // eslint-disable-next-line no-unused-vars + form: { touched, errors }, + meta, + }) => { + const isError = meta.error; + return ( +
    + + + {options.map(option => ( +
    + { + field.onChange?.(e); + onBlur?.(e); + }} + />{" "} + +
    + ))} +
    + ); + }} +
    + ); +}; RfiRadioGroup.propTypes = { label: PropTypes.string.isRequired, @@ -53,6 +59,7 @@ RfiRadioGroup.propTypes = { text: PropTypes.string.isRequired, }) ).isRequired, + onBlur: PropTypes.func, }; export { RfiRadioGroup }; diff --git a/packages/app-rfi/src/components/steps/questions/MilitaryStatus.js b/packages/app-rfi/src/components/steps/questions/MilitaryStatus.js index e6071c28f8..50b8af0b74 100644 --- a/packages/app-rfi/src/components/steps/questions/MilitaryStatus.js +++ b/packages/app-rfi/src/components/steps/questions/MilitaryStatus.js @@ -1,56 +1,47 @@ import React from "react"; import { gaEventPropTypes, trackGAEvent } from "../../../../../../shared"; -import { RfiSelect } from "../../controls"; +import { RfiRadioGroup } from "../../controls"; -const veteranStatusOptions = [ - { key: "1", value: "None", text: "None" }, - { key: "2", value: "Active Duty", text: "Active Duty" }, - { key: "3", value: "National Guard", text: "National Guard" }, - { key: "4", value: "Veteran", text: "Veteran" }, - { key: "5", value: "Armed forces reserve", text: "Armed forces reserve" }, - { key: "6", value: "Spouse/Dependent", text: "Spouse/Dependent" }, +/** + * The form handler requires known values + * - "None" + * - "Active Duty" + * - "National Guard" + * - "Veteran" + * - "Armed forces reserve" + * - "Spouse/Dependent" + */ + +const militaryOptions = [ + { key: "0", text: "Yes", value: "Active Duty" }, + { key: "1", text: "No", value: "None" }, ]; /** * @param {{ gaData: import("../../../../../../shared/services/googleAnalytics").GAEventObject}} props */ export const MilitaryStatus = ({ gaData }) => { - const label = "Military/veteran status"; + const label = + "Have you served in the U.S. Military or are you a military dependent?"; const name = "MilitaryStatus"; + return ( - trackGAEvent({ ...gaData, event: "select", type: label, - text: e.target.selectedOptions[0].innerText, + text: e.target.value, }) } /> ); }; -/* - TODO: Field will be replaced in the near future - We became aware of the need to revert this field in ERFI-148 2024-07-08 - - return ( - - ); -*/ - MilitaryStatus.propTypes = { gaData: gaEventPropTypes }; diff --git a/packages/app-rfi/src/core/utils/appState.js b/packages/app-rfi/src/core/utils/appState.js index e6f427acb4..236955d93c 100644 --- a/packages/app-rfi/src/core/utils/appState.js +++ b/packages/app-rfi/src/core/utils/appState.js @@ -51,7 +51,7 @@ const getInitialValues = props => ({ Country: props.country, Zip: undefined, // BirthDate: undefined, - MilitaryStatus: "No", + MilitaryStatus: "None", // Comments: undefined, // Email: undefined, }); From 377fde084b3ed96d0b1548dae05054f627f4f233 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Tue, 27 Aug 2024 15:18:50 -0700 Subject: [PATCH 18/78] fix(components-core): updated small ranking card for accessibility --- .../components-core/src/components/RankingCard/index.js | 4 +--- .../src/components/RankingCard/index.stories.js | 6 +++--- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/packages/components-core/src/components/RankingCard/index.js b/packages/components-core/src/components/RankingCard/index.js index 4829a98055..a133e00053 100644 --- a/packages/components-core/src/components/RankingCard/index.js +++ b/packages/components-core/src/components/RankingCard/index.js @@ -94,7 +94,6 @@ const InfoLayerWrapper = ({ imageSize, body, heading, readMoreLink }) => { @@ -126,7 +125,6 @@ const InfoLayerWrapper = ({ imageSize, body, heading, readMoreLink }) => { {readMoreLink && ( { trackGAEvent({ diff --git a/packages/components-core/src/components/RankingCard/index.stories.js b/packages/components-core/src/components/RankingCard/index.stories.js index 9a9b46ebb9..fbe423878c 100644 --- a/packages/components-core/src/components/RankingCard/index.stories.js +++ b/packages/components-core/src/components/RankingCard/index.stories.js @@ -1,6 +1,6 @@ import classNames from "classnames"; import React from "react"; - +import { imageAny } from "../../../../../shared/assets"; import { RankingCard } from "."; export default { @@ -21,7 +21,7 @@ const Template = args => ( export const Large = Template.bind({}); Large.args = { imageSize: "large", - image: "https://source.unsplash.com/WLUHO9A_xik/600x400", + image: imageAny(), imageAlt: "Image alt text", heading: "Ranking title goes here, under the photo", body: "ASU has topped U.S. News & World Report’s “Most Innovative Schools list since the inception of the category in 2016. ASU again placed ahead of Stanford and MIT on the list, based on a survey of peers. College presidents, provosts and admissions deans around the country nominated up to 10 colleges or universities that are making the most innovative improvements.", @@ -31,7 +31,7 @@ Large.args = { export const Small = Template.bind({}); Small.args = { imageSize: "small", - image: "https://source.unsplash.com/WLUHO9A_xik/600x400", + image: imageAny(), imageAlt: "Image alt text", heading: "Ranking title goes here, under the photo", body: "ASU has topped U.S. News & World Report’s “Most Innovative Schools list since the inception of the category in 2016. ASU again placed ahead of Stanford and MIT on the list, based on a survey of peers. College presidents, provosts and admissions deans around the country nominated up to 10 colleges or universities that are making the most innovative improvements.", From 77302957faefc9dd85385dffc3dc2a05400f555e Mon Sep 17 00:00:00 2001 From: david ornelas Date: Tue, 27 Aug 2024 15:27:32 -0700 Subject: [PATCH 19/78] fix(unity-bootstrap-theme): update ranking card styles --- .../src/scss/extends/_ranking-cards.scss | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/packages/unity-bootstrap-theme/src/scss/extends/_ranking-cards.scss b/packages/unity-bootstrap-theme/src/scss/extends/_ranking-cards.scss index e6ae1a6baf..45c8328c9a 100644 --- a/packages/unity-bootstrap-theme/src/scss/extends/_ranking-cards.scss +++ b/packages/unity-bootstrap-theme/src/scss/extends/_ranking-cards.scss @@ -10,7 +10,7 @@ position: absolute; bottom: 0; left: 0; - padding: $uds-size-spacing-3 $uds-size-spacing-3 0; + padding: $uds-size-spacing-1 $uds-size-spacing-3 0; border-top: $uds-size-spacing-1 solid #ffc627; transition: all 0.3s ease-in-out; z-index: 10; @@ -124,6 +124,8 @@ } .info-layer { + padding: 1.5rem .5rem 0 1.5rem; + cursor: unset; a.read-more { display: none; } @@ -141,6 +143,10 @@ >p { width: 90%; } + .btn-expand { + padding: .6rem; + border-radius: 0; + } } } } @@ -176,6 +182,7 @@ .btn-expand { display: flex; justify-content: space-between; + align-items: baseline; h4 { min-height: 52px; // To avoid having only one line @@ -186,7 +193,8 @@ } } - >p { + > p { + line-clamp: 10; -webkit-line-clamp: 10; visibility: hidden; transition: visibility .3s ease-in; From 2572edd664ca511fe07d73ff7796fc25a7d38ffe Mon Sep 17 00:00:00 2001 From: Juan Pablo Mitriatti Date: Wed, 28 Aug 2024 17:40:13 -0300 Subject: [PATCH 20/78] feat(component-carousel): added aria-hidden for unvisible cards UDS-1805 --- .../BaseCarousel/glide/glide.setup.js | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/packages/component-carousel/src/core/components/BaseCarousel/glide/glide.setup.js b/packages/component-carousel/src/core/components/BaseCarousel/glide/glide.setup.js index be894eeedb..b942ec909e 100644 --- a/packages/component-carousel/src/core/components/BaseCarousel/glide/glide.setup.js +++ b/packages/component-carousel/src/core/components/BaseCarousel/glide/glide.setup.js @@ -163,6 +163,26 @@ function setNavButtonGradient(gliderElement, currentIndex, buttonCount) { } } +function updateNonVisibleSlides(gliderElement, currentIndex, perView) { + const slides = gliderElement.querySelectorAll(".glide__slide"); + + const startVisibleIndex = currentIndex; + const endVisibleIndex = Math.min( + slides.length - 1, + currentIndex + perView - 1 + ); + + slides.forEach((slide, index) => { + if (index < startVisibleIndex || index > endVisibleIndex) { + slide.setAttribute("aria-hidden", "true"); + slide.setAttribute("tabindex", "-1"); + } else { + slide.setAttribute("aria-hidden", "false"); + slide.removeAttribute("tabindex"); + } + }); +} + /** * * @param {{ @@ -223,6 +243,7 @@ function setupCaroarousel({ // @ts-ignore const currentIndex = slider.index; + updateNonVisibleSlides(gliderElement, currentIndex, perView); const imageGalleryNav = gliderElement.querySelector(".navigation-slider"); const imageNav = gliderElement.querySelector(".image-navigator-images"); if (imageGalleryNav && imageNav) { From 84ab4c3a0e2e45c8e82d20fc31d963fdc1e60480 Mon Sep 17 00:00:00 2001 From: Juan Pablo Mitriatti Date: Wed, 28 Aug 2024 17:48:36 -0300 Subject: [PATCH 21/78] docs(component-carousel): added comments UDS-1805 --- .../components/BaseCarousel/glide/glide.setup.js | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/packages/component-carousel/src/core/components/BaseCarousel/glide/glide.setup.js b/packages/component-carousel/src/core/components/BaseCarousel/glide/glide.setup.js index b942ec909e..31454853d0 100644 --- a/packages/component-carousel/src/core/components/BaseCarousel/glide/glide.setup.js +++ b/packages/component-carousel/src/core/components/BaseCarousel/glide/glide.setup.js @@ -163,10 +163,22 @@ function setNavButtonGradient(gliderElement, currentIndex, buttonCount) { } } +/** + * Update ARIA attributes on slides that are not currently visible. + * + * When a slide is not visible, we set aria-hidden to true and tabindex to + * -1 to remove it from the accessibility tree. When a slide is visible, we + * set aria-hidden to false and remove tabindex to make it accessible. + * + * @param {HTMLElement} gliderElement - The element that contains the slides. + * @param {number} currentIndex - The index of the currently active slide. + * @param {number} perView - The number of slides that are visible at a time. + */ function updateNonVisibleSlides(gliderElement, currentIndex, perView) { const slides = gliderElement.querySelectorAll(".glide__slide"); - + // Get first visible slide const startVisibleIndex = currentIndex; + // Get last visible slide const endVisibleIndex = Math.min( slides.length - 1, currentIndex + perView - 1 @@ -174,9 +186,11 @@ function updateNonVisibleSlides(gliderElement, currentIndex, perView) { slides.forEach((slide, index) => { if (index < startVisibleIndex || index > endVisibleIndex) { + // Slide is not visible slide.setAttribute("aria-hidden", "true"); slide.setAttribute("tabindex", "-1"); } else { + // Slide is visible slide.setAttribute("aria-hidden", "false"); slide.removeAttribute("tabindex"); } From 72be88bbc7d500a940e9480e75d57de3a46f5833 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Thu, 29 Aug 2024 12:16:38 -0700 Subject: [PATCH 22/78] fix(app-rfi): update plan title to use market description --- packages/app-rfi/src/core/utils/datasource-helper.js | 10 ++-------- packages/app-rfi/src/core/utils/fetchPrograms.js | 4 ++-- 2 files changed, 4 insertions(+), 10 deletions(-) diff --git a/packages/app-rfi/src/core/utils/datasource-helper.js b/packages/app-rfi/src/core/utils/datasource-helper.js index b0a7282c19..bd1ba9caab 100644 --- a/packages/app-rfi/src/core/utils/datasource-helper.js +++ b/packages/app-rfi/src/core/utils/datasource-helper.js @@ -56,14 +56,8 @@ export const normalizeDegreeData = data => { ({ categoryDescription }) => categoryDescription ) || [], - // curr.acadPlanDescription string - // title = (Degree not included) - // title (Certificate) = (ex Degree is a Cert) - title: `${curr.acadPlanDescription}${ - curr.degreeDescriptionShort && curr.acadPlanType !== KEY.CER - ? ` (${curr.degreeDescriptionShort})` - : `` - }`, + // curr.acadPlanMarketingDescription string + title: curr.acadPlanMarketingDescription, }; acc.push(p); } diff --git a/packages/app-rfi/src/core/utils/fetchPrograms.js b/packages/app-rfi/src/core/utils/fetchPrograms.js index 121eb8bfcc..db8e3c9b65 100644 --- a/packages/app-rfi/src/core/utils/fetchPrograms.js +++ b/packages/app-rfi/src/core/utils/fetchPrograms.js @@ -43,7 +43,7 @@ function getServiceUrl({ if (Interest2) { serviceUrl = `${dataSourceDegreeSearch}/acad-plan/${Interest2}` + - `?include=degreeDescriptionShort` + + `?include=acadPlanMarketingDescription` + `&include=degreeDescriptionLong` + `&include=campusesOffered` + `&include=planCategories` + @@ -78,7 +78,7 @@ function getServiceUrl({ `${dataSourceDegreeSearch}/acad-plans` + `?filter=activeInDegreeSearch` + `${parameter}` + - `&include=degreeDescriptionShort` + + `&include=acadPlanMarketingDescription` + `&include=degreeDescriptionLong` + `&include=campusesOffered` + `&include=planCategories` + From 7520bc42142947314b2abb2128690e0ce37bfa6c Mon Sep 17 00:00:00 2001 From: mlsamuelson Date: Thu, 29 Aug 2024 14:32:14 -0700 Subject: [PATCH 23/78] docs: fix README. Needed blank line --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 0e2fa49caf..78c5ab43a4 100755 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # ASU Unity Design System (UDS) ## Table of Contents + - [ASU Unity Design System (UDS)](#asu-unity-design-system-uds) - [Quickstart Guide](#quickstart-guide) - [Consuming Unity packages in your project:](#consuming-unity-packages-in-your-project) From caf6458d12c64c0ae04ea19824a45366185a6d17 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Tue, 3 Sep 2024 17:39:04 -0700 Subject: [PATCH 24/78] fix(component-header): fixed prop that was not passed in properly --- .../NavbarContainer/DropdownItem/index.js | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/packages/component-header/src/components/HeaderMain/NavbarContainer/DropdownItem/index.js b/packages/component-header/src/components/HeaderMain/NavbarContainer/DropdownItem/index.js index 7e9ca997c2..36dd386505 100644 --- a/packages/component-header/src/components/HeaderMain/NavbarContainer/DropdownItem/index.js +++ b/packages/component-header/src/components/HeaderMain/NavbarContainer/DropdownItem/index.js @@ -148,8 +148,22 @@ const DropdownItem = ({ if (link.type === "heading") return ; if (link.type === "button") - return ; - return ; + return ( + + ); + return ( + + ); }; return ( From 23cd84430ea2cda056f827b47010740e7f874a10 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 4 Sep 2024 18:22:56 +0000 Subject: [PATCH 25/78] chore(release): 2.3.1 [skip ci] # [@asu/component-header-v2.3.1](https://github.com/asu/asu-unity-stack/compare/@asu/component-header-v2.3.0...@asu/component-header-v2.3.1) (2024-09-04) ### Bug Fixes * **component-header:** added onClick event to dropdown sublinks ([af7d216](https://github.com/asu/asu-unity-stack/commit/af7d21692e9c4150dfedee88a1d22a4c292e14f5)) * **component-header:** fixed navtree with onclick not getting called ([b43b6da](https://github.com/asu/asu-unity-stack/commit/b43b6daeea0b091564ea4a2077b3c03ab363b676)) * **component-header:** fixed prop that was not passed in properly ([caf6458](https://github.com/asu/asu-unity-stack/commit/caf6458d12c64c0ae04ea19824a45366185a6d17)) --- packages/component-header/CHANGELOG.md | 9 +++++++++ packages/component-header/package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/component-header/CHANGELOG.md b/packages/component-header/CHANGELOG.md index f4205051df..c9d647d470 100644 --- a/packages/component-header/CHANGELOG.md +++ b/packages/component-header/CHANGELOG.md @@ -1,3 +1,12 @@ +# [@asu/component-header-v2.3.1](https://github.com/asu/asu-unity-stack/compare/@asu/component-header-v2.3.0...@asu/component-header-v2.3.1) (2024-09-04) + + +### Bug Fixes + +* **component-header:** added onClick event to dropdown sublinks ([af7d216](https://github.com/asu/asu-unity-stack/commit/af7d21692e9c4150dfedee88a1d22a4c292e14f5)) +* **component-header:** fixed navtree with onclick not getting called ([b43b6da](https://github.com/asu/asu-unity-stack/commit/b43b6daeea0b091564ea4a2077b3c03ab363b676)) +* **component-header:** fixed prop that was not passed in properly ([caf6458](https://github.com/asu/asu-unity-stack/commit/caf6458d12c64c0ae04ea19824a45366185a6d17)) + # [@asu/component-header-v2.3.0](https://github.com/asu/asu-unity-stack/compare/@asu/component-header-v2.2.8...@asu/component-header-v2.3.0) (2024-08-05) diff --git a/packages/component-header/package.json b/packages/component-header/package.json index 8a6b395aaf..943a752d51 100644 --- a/packages/component-header/package.json +++ b/packages/component-header/package.json @@ -1,6 +1,6 @@ { "name": "@asu/component-header", - "version": "2.3.0", + "version": "2.3.1", "description": "ASU Global Header", "main": "./dist/asuHeader.cjs.js", "browser": "./dist/asuHeader.umd.js", From f60d1bc02b8a45eb7482ec55038bbcdcbdb9e4a4 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 4 Sep 2024 18:23:34 +0000 Subject: [PATCH 26/78] chore(release): 1.14.0 [skip ci] # [@asu/unity-bootstrap-theme-v1.14.0](https://github.com/ASU/asu-unity-stack/compare/@asu/unity-bootstrap-theme-v1.13.1...@asu/unity-bootstrap-theme-v1.14.0) (2024-09-04) ### Bug Fixes * **unity-bootstrap-theme:** added css for long pagination on mobile ([7b99512](https://github.com/ASU/asu-unity-stack/commit/7b9951283d5b2d9bf2999362f2e4f4ca090bd3a8)) ### Features * **unity-bootstrap-theme:** add table caption styles ([310739c](https://github.com/ASU/asu-unity-stack/commit/310739c0f973328152d08cc890ad80d5864857e9)) --- packages/unity-bootstrap-theme/CHANGELOG.md | 12 ++++++++++++ packages/unity-bootstrap-theme/package.json | 2 +- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/unity-bootstrap-theme/CHANGELOG.md b/packages/unity-bootstrap-theme/CHANGELOG.md index 7c5b6b480e..2bbade571f 100644 --- a/packages/unity-bootstrap-theme/CHANGELOG.md +++ b/packages/unity-bootstrap-theme/CHANGELOG.md @@ -1,3 +1,15 @@ +# [@asu/unity-bootstrap-theme-v1.14.0](https://github.com/ASU/asu-unity-stack/compare/@asu/unity-bootstrap-theme-v1.13.1...@asu/unity-bootstrap-theme-v1.14.0) (2024-09-04) + + +### Bug Fixes + +* **unity-bootstrap-theme:** added css for long pagination on mobile ([7b99512](https://github.com/ASU/asu-unity-stack/commit/7b9951283d5b2d9bf2999362f2e4f4ca090bd3a8)) + + +### Features + +* **unity-bootstrap-theme:** add table caption styles ([310739c](https://github.com/ASU/asu-unity-stack/commit/310739c0f973328152d08cc890ad80d5864857e9)) + # [@asu/unity-bootstrap-theme-v1.13.1](https://github.com/ASU/asu-unity-stack/compare/@asu/unity-bootstrap-theme-v1.13.0...@asu/unity-bootstrap-theme-v1.13.1) (2024-08-16) diff --git a/packages/unity-bootstrap-theme/package.json b/packages/unity-bootstrap-theme/package.json index 0032da0536..a521a476a1 100644 --- a/packages/unity-bootstrap-theme/package.json +++ b/packages/unity-bootstrap-theme/package.json @@ -1,6 +1,6 @@ { "name": "@asu/unity-bootstrap-theme", - "version": "1.13.1", + "version": "1.14.0", "description": "Base UI theme for ASU Web Standards 2.0 developed with Bootstrap 5", "author": "Mayco Barale ", "homepage": "https://github.com/ASU/asu-unity-stack#readme", From d2eac654989137f013e201a728b4f0455b514a28 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 4 Sep 2024 18:23:56 +0000 Subject: [PATCH 27/78] chore(release): 2.3.10 [skip ci] # [@asu/app-rfi-v2.3.10](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.9...@asu/app-rfi-v2.3.10) (2024-09-04) ### Bug Fixes * **app-rfi:** Update Military to radio button ([311f872](https://github.com/asu/asu-unity-stack/commit/311f872c0ec809f33a89a8ec1cdb0a8a2720cc28)) * **app-rfi:** update plan title to use market description ([72be88b](https://github.com/asu/asu-unity-stack/commit/72be88bbc7d500a940e9480e75d57de3a46f5833)) --- packages/app-rfi/CHANGELOG.md | 8 ++++++++ packages/app-rfi/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/app-rfi/CHANGELOG.md b/packages/app-rfi/CHANGELOG.md index 90055185ca..86e5304874 100644 --- a/packages/app-rfi/CHANGELOG.md +++ b/packages/app-rfi/CHANGELOG.md @@ -1,3 +1,11 @@ +# [@asu/app-rfi-v2.3.10](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.9...@asu/app-rfi-v2.3.10) (2024-09-04) + + +### Bug Fixes + +* **app-rfi:** Update Military to radio button ([311f872](https://github.com/asu/asu-unity-stack/commit/311f872c0ec809f33a89a8ec1cdb0a8a2720cc28)) +* **app-rfi:** update plan title to use market description ([72be88b](https://github.com/asu/asu-unity-stack/commit/72be88bbc7d500a940e9480e75d57de3a46f5833)) + # [@asu/app-rfi-v2.3.9](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.8...@asu/app-rfi-v2.3.9) (2024-07-10) diff --git a/packages/app-rfi/package.json b/packages/app-rfi/package.json index 9a6783ad99..334260d29a 100644 --- a/packages/app-rfi/package.json +++ b/packages/app-rfi/package.json @@ -1,6 +1,6 @@ { "name": "@asu/app-rfi", - "version": "2.3.9", + "version": "2.3.10", "description": "ASU Request For Information (RFI) form", "main": "./dist/appRfi.cjs.js", "browser": "./dist/appRfi.umd.js", From db6d3e045fcea2b53094e42cd241133987e4559d Mon Sep 17 00:00:00 2001 From: Juan Pablo Mitriatti Date: Wed, 4 Sep 2024 17:55:52 -0300 Subject: [PATCH 28/78] feat(component-carousel): added inert to invisible cards UDS-1805 --- .../src/core/components/BaseCarousel/glide/glide.setup.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/component-carousel/src/core/components/BaseCarousel/glide/glide.setup.js b/packages/component-carousel/src/core/components/BaseCarousel/glide/glide.setup.js index 31454853d0..80043702a0 100644 --- a/packages/component-carousel/src/core/components/BaseCarousel/glide/glide.setup.js +++ b/packages/component-carousel/src/core/components/BaseCarousel/glide/glide.setup.js @@ -189,10 +189,12 @@ function updateNonVisibleSlides(gliderElement, currentIndex, perView) { // Slide is not visible slide.setAttribute("aria-hidden", "true"); slide.setAttribute("tabindex", "-1"); + slide.setAttribute("inert", ""); } else { // Slide is visible slide.setAttribute("aria-hidden", "false"); slide.removeAttribute("tabindex"); + slide.removeAttribute("inert"); } }); } From aeac4d43147b03e475bcbc44048eddef7fe4a07a Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 4 Sep 2024 23:44:39 +0000 Subject: [PATCH 29/78] chore(release): 1.14.1 [skip ci] # [@asu/unity-bootstrap-theme-v1.14.1](https://github.com/ASU/asu-unity-stack/compare/@asu/unity-bootstrap-theme-v1.14.0...@asu/unity-bootstrap-theme-v1.14.1) (2024-09-04) ### Bug Fixes * **unity-bootstrap-theme:** update ranking card styles ([7730295](https://github.com/ASU/asu-unity-stack/commit/77302957faefc9dd85385dffc3dc2a05400f555e)) --- packages/unity-bootstrap-theme/CHANGELOG.md | 7 +++++++ packages/unity-bootstrap-theme/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/unity-bootstrap-theme/CHANGELOG.md b/packages/unity-bootstrap-theme/CHANGELOG.md index 2bbade571f..503e2cec2a 100644 --- a/packages/unity-bootstrap-theme/CHANGELOG.md +++ b/packages/unity-bootstrap-theme/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@asu/unity-bootstrap-theme-v1.14.1](https://github.com/ASU/asu-unity-stack/compare/@asu/unity-bootstrap-theme-v1.14.0...@asu/unity-bootstrap-theme-v1.14.1) (2024-09-04) + + +### Bug Fixes + +* **unity-bootstrap-theme:** update ranking card styles ([7730295](https://github.com/ASU/asu-unity-stack/commit/77302957faefc9dd85385dffc3dc2a05400f555e)) + # [@asu/unity-bootstrap-theme-v1.14.0](https://github.com/ASU/asu-unity-stack/compare/@asu/unity-bootstrap-theme-v1.13.1...@asu/unity-bootstrap-theme-v1.14.0) (2024-09-04) diff --git a/packages/unity-bootstrap-theme/package.json b/packages/unity-bootstrap-theme/package.json index a521a476a1..2b80ec7ac1 100644 --- a/packages/unity-bootstrap-theme/package.json +++ b/packages/unity-bootstrap-theme/package.json @@ -1,6 +1,6 @@ { "name": "@asu/unity-bootstrap-theme", - "version": "1.14.0", + "version": "1.14.1", "description": "Base UI theme for ASU Web Standards 2.0 developed with Bootstrap 5", "author": "Mayco Barale ", "homepage": "https://github.com/ASU/asu-unity-stack#readme", From 2772a690704b5251586e8f992e745f6da36888d6 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 4 Sep 2024 23:45:19 +0000 Subject: [PATCH 30/78] chore(release): 4.1.1 [skip ci] # [@asu/components-core-v4.1.1](https://github.com/ASU/asu-unity-stack/compare/@asu/components-core-v4.1.0...@asu/components-core-v4.1.1) (2024-09-04) ### Bug Fixes * **components-core:** updated small ranking card for accessibility ([377fde0](https://github.com/ASU/asu-unity-stack/commit/377fde084b3ed96d0b1548dae05054f627f4f233)) --- packages/components-core/CHANGELOG.md | 7 +++++++ packages/components-core/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/components-core/CHANGELOG.md b/packages/components-core/CHANGELOG.md index 78a70a9c3b..a602f7df27 100644 --- a/packages/components-core/CHANGELOG.md +++ b/packages/components-core/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@asu/components-core-v4.1.1](https://github.com/ASU/asu-unity-stack/compare/@asu/components-core-v4.1.0...@asu/components-core-v4.1.1) (2024-09-04) + + +### Bug Fixes + +* **components-core:** updated small ranking card for accessibility ([377fde0](https://github.com/ASU/asu-unity-stack/commit/377fde084b3ed96d0b1548dae05054f627f4f233)) + # [@asu/components-core-v4.1.0](https://github.com/ASU/asu-unity-stack/compare/@asu/components-core-v4.0.0...@asu/components-core-v4.1.0) (2024-08-07) diff --git a/packages/components-core/package.json b/packages/components-core/package.json index 08b16b89e6..40e193ce58 100644 --- a/packages/components-core/package.json +++ b/packages/components-core/package.json @@ -1,6 +1,6 @@ { "name": "@asu/components-core", - "version": "4.1.0", + "version": "4.1.1", "main": "./dist/libCore.cjs.js", "browser": "./dist/libCore.umd.js", "module": "./dist/libCore.es.js", From 7eacf67b05c7393b68f6a2cdaaea6555db5b14cb Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Thu, 5 Sep 2024 01:26:27 +0000 Subject: [PATCH 31/78] chore(release): 2.1.0 [skip ci] # [@asu/component-carousel-v2.1.0](https://github.com/asu/asu-unity-stack/compare/@asu/component-carousel-v2.0.5...@asu/component-carousel-v2.1.0) (2024-09-05) ### Features * **component-carousel:** added aria-hidden for unvisible cards ([2572edd](https://github.com/asu/asu-unity-stack/commit/2572edd664ca511fe07d73ff7796fc25a7d38ffe)) * **component-carousel:** added inert to invisible cards ([db6d3e0](https://github.com/asu/asu-unity-stack/commit/db6d3e045fcea2b53094e42cd241133987e4559d)) --- packages/component-carousel/CHANGELOG.md | 8 ++++++++ packages/component-carousel/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/component-carousel/CHANGELOG.md b/packages/component-carousel/CHANGELOG.md index 2db6ad874d..bd896c6ab5 100644 --- a/packages/component-carousel/CHANGELOG.md +++ b/packages/component-carousel/CHANGELOG.md @@ -1,3 +1,11 @@ +# [@asu/component-carousel-v2.1.0](https://github.com/asu/asu-unity-stack/compare/@asu/component-carousel-v2.0.5...@asu/component-carousel-v2.1.0) (2024-09-05) + + +### Features + +* **component-carousel:** added aria-hidden for unvisible cards ([2572edd](https://github.com/asu/asu-unity-stack/commit/2572edd664ca511fe07d73ff7796fc25a7d38ffe)) +* **component-carousel:** added inert to invisible cards ([db6d3e0](https://github.com/asu/asu-unity-stack/commit/db6d3e045fcea2b53094e42cd241133987e4559d)) + # [@asu/component-carousel-v2.0.5](https://github.com/asu/asu-unity-stack/compare/@asu/component-carousel-v2.0.4...@asu/component-carousel-v2.0.5) (2024-06-26) diff --git a/packages/component-carousel/package.json b/packages/component-carousel/package.json index 0a8b9de4a6..1939ff20fb 100644 --- a/packages/component-carousel/package.json +++ b/packages/component-carousel/package.json @@ -1,6 +1,6 @@ { "name": "@asu/component-carousel", - "version": "2.0.5", + "version": "2.1.0", "description": "ASU implementation of @glidejs/glide npm library for carousels", "main": "./dist/asuCarousel.cjs.js", "browser": "./dist/asuCarousel.umd.js", From 0c4bcdf74bcd24def7e141ede7656bb658a6d8c8 Mon Sep 17 00:00:00 2001 From: Bob-E Date: Fri, 6 Sep 2024 09:30:56 -0700 Subject: [PATCH 32/78] fix(component-news): remove KE from default news header remove KE from default news header in src/core/constants/default-props.js --- packages/component-news/src/core/constants/default-props.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/component-news/src/core/constants/default-props.js b/packages/component-news/src/core/constants/default-props.js index ef45d8bb2c..84885f8250 100644 --- a/packages/component-news/src/core/constants/default-props.js +++ b/packages/component-news/src/core/constants/default-props.js @@ -4,7 +4,7 @@ const defaultProps = { header: { color: "dark", - text: "Knowledge and enterprise news", + text: "", }, ctaButton: { color: "gold", From ec1ca4cdedaec84882cda5309addb857ff49a41c Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Fri, 6 Sep 2024 14:09:45 -0700 Subject: [PATCH 33/78] fix(app-rfi): programOfInterest required, unless optional prop --- .../app-rfi/src/components/steps/questions/Interest2.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/packages/app-rfi/src/components/steps/questions/Interest2.js b/packages/app-rfi/src/components/steps/questions/Interest2.js index 8df436085b..2a425af0c9 100644 --- a/packages/app-rfi/src/components/steps/questions/Interest2.js +++ b/packages/app-rfi/src/components/steps/questions/Interest2.js @@ -23,7 +23,7 @@ export const Interest2 = ({ gaData }) => { formik: { values, setFieldValue }, } = useRfiContext(); - const isRequired = !programOfInterestOptional && values.Campus !== KEY.ONLINE; + const isRequired = !programOfInterestOptional; useEffect(() => { const poiOptions = degreeDataList @@ -66,8 +66,8 @@ export const Interest2 = ({ gaData }) => { name={name} options={programInterestOptions} disabled={!!programOfInterest} - requiredIcon={!programOfInterestOptional && values.Campus !== KEY.ONLINE} - required={!programOfInterestOptional && values.Campus !== KEY.ONLINE} + requiredIcon={isRequired} + required={isRequired} onBlur={e => trackGAEvent({ ...gaData, From a223aa32cb2bf2699a3e2fa8b738240a0091c3a3 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Fri, 6 Sep 2024 16:31:37 -0700 Subject: [PATCH 34/78] fix(app-rfi): Entry dates should not have dups --- .../components/steps/questions/EntryTerm.js | 41 ++++++++++++++++--- 1 file changed, 35 insertions(+), 6 deletions(-) diff --git a/packages/app-rfi/src/components/steps/questions/EntryTerm.js b/packages/app-rfi/src/components/steps/questions/EntryTerm.js index 1bfe441ab9..4ed7aef8ed 100644 --- a/packages/app-rfi/src/components/steps/questions/EntryTerm.js +++ b/packages/app-rfi/src/components/steps/questions/EntryTerm.js @@ -59,14 +59,43 @@ export const EntryTerm = ({ gaData }) => { values.Campus !== KEY.ONLINE && degreeData.degreeType === KEY.GR ) { - // Convert object to array so we can .sort and .map. const termData = degreeData.applicationDeadlines ?.sort((a, b) => (a.strm > b.strm ? 1 : -1)) - .map(({ strm, strmDescription }, i) => ({ - key: `${i}`, - value: strm, - text: strmDescription, - })); + /** + * if program is offered at more than one campus it is possible for each + * campus to duplicate the entry date. Since this list does not show the + * campus, we need to check and remove duplicate items. + * + * Example (item 1 and 3): + * "applicationDeadlines": [ + { + "campus": "ONLNE", + "strm": "2251", + "strmDescription": "2025 Spring", + ... + }, + { + "campus": "ONLNE", + "strm": "2257", + "strmDescription": "2025 Fall", + ... + },{ + "campus": "TEMPE", + "strm": "2251", + "strmDescription": "2025 Spring", + ... + }, + */ + .reduce((result, { strm, strmDescription }) => { + if (!result.find(item => item.value === strm)) { + result.push({ + key: `${strm}`, + value: strm, + text: strmDescription, + }); + } + return result; + }, []); if (termData && termData.length > 0) { setTermOptions(termData); } From a4ef3a62f00a596b6206fa1d1da32e4b189df9d2 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 9 Sep 2024 21:00:39 +0000 Subject: [PATCH 35/78] chore(release): 2.3.11 [skip ci] # [@asu/app-rfi-v2.3.11](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.10...@asu/app-rfi-v2.3.11) (2024-09-09) ### Bug Fixes * **app-rfi:** Entry dates should not have dups ([a223aa3](https://github.com/asu/asu-unity-stack/commit/a223aa32cb2bf2699a3e2fa8b738240a0091c3a3)) * **app-rfi:** programOfInterest required, unless optional prop ([ec1ca4c](https://github.com/asu/asu-unity-stack/commit/ec1ca4cdedaec84882cda5309addb857ff49a41c)) --- packages/app-rfi/CHANGELOG.md | 8 ++++++++ packages/app-rfi/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/app-rfi/CHANGELOG.md b/packages/app-rfi/CHANGELOG.md index 86e5304874..a55fa83623 100644 --- a/packages/app-rfi/CHANGELOG.md +++ b/packages/app-rfi/CHANGELOG.md @@ -1,3 +1,11 @@ +# [@asu/app-rfi-v2.3.11](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.10...@asu/app-rfi-v2.3.11) (2024-09-09) + + +### Bug Fixes + +* **app-rfi:** Entry dates should not have dups ([a223aa3](https://github.com/asu/asu-unity-stack/commit/a223aa32cb2bf2699a3e2fa8b738240a0091c3a3)) +* **app-rfi:** programOfInterest required, unless optional prop ([ec1ca4c](https://github.com/asu/asu-unity-stack/commit/ec1ca4cdedaec84882cda5309addb857ff49a41c)) + # [@asu/app-rfi-v2.3.10](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.9...@asu/app-rfi-v2.3.10) (2024-09-04) diff --git a/packages/app-rfi/package.json b/packages/app-rfi/package.json index 334260d29a..37427eec29 100644 --- a/packages/app-rfi/package.json +++ b/packages/app-rfi/package.json @@ -1,6 +1,6 @@ { "name": "@asu/app-rfi", - "version": "2.3.10", + "version": "2.3.11", "description": "ASU Request For Information (RFI) form", "main": "./dist/appRfi.cjs.js", "browser": "./dist/appRfi.umd.js", From fe20e425d2170f397baa4f9931a6f48c87829e50 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Tue, 10 Sep 2024 14:06:34 -0700 Subject: [PATCH 36/78] fix(component-header): fix keyboard clickable in menu item Add tabindex to buttons if no href is present to add keyboard navigability --- packages/component-header/src/components/Button/index.js | 1 + .../src/components/HeaderMain/NavbarContainer/NavItem/index.js | 1 + 2 files changed, 2 insertions(+) diff --git a/packages/component-header/src/components/Button/index.js b/packages/component-header/src/components/Button/index.js index d44237f7b9..048ff8dc53 100644 --- a/packages/component-header/src/components/Button/index.js +++ b/packages/component-header/src/components/Button/index.js @@ -17,6 +17,7 @@ const Button = ({ href, color, text, classes, onClick, onFocus }) => { return ( { }; const handleKeyDown = e => { + if (!link.items && link.href) return; const { key } = e; const navigableKeys = [ "ArrowUp", From dd11e1198d12f6ac35f45bf423de83e272b50b63 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 10 Sep 2024 23:15:58 +0000 Subject: [PATCH 37/78] chore(release): 2.3.2 [skip ci] # [@asu/component-header-v2.3.2](https://github.com/asu/asu-unity-stack/compare/@asu/component-header-v2.3.1...@asu/component-header-v2.3.2) (2024-09-10) ### Bug Fixes * **component-header:** fix keyboard clickable in menu item ([fe20e42](https://github.com/asu/asu-unity-stack/commit/fe20e425d2170f397baa4f9931a6f48c87829e50)) --- packages/component-header/CHANGELOG.md | 7 +++++++ packages/component-header/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/component-header/CHANGELOG.md b/packages/component-header/CHANGELOG.md index c9d647d470..bb03bd2924 100644 --- a/packages/component-header/CHANGELOG.md +++ b/packages/component-header/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@asu/component-header-v2.3.2](https://github.com/asu/asu-unity-stack/compare/@asu/component-header-v2.3.1...@asu/component-header-v2.3.2) (2024-09-10) + + +### Bug Fixes + +* **component-header:** fix keyboard clickable in menu item ([fe20e42](https://github.com/asu/asu-unity-stack/commit/fe20e425d2170f397baa4f9931a6f48c87829e50)) + # [@asu/component-header-v2.3.1](https://github.com/asu/asu-unity-stack/compare/@asu/component-header-v2.3.0...@asu/component-header-v2.3.1) (2024-09-04) diff --git a/packages/component-header/package.json b/packages/component-header/package.json index 943a752d51..cda069fcb5 100644 --- a/packages/component-header/package.json +++ b/packages/component-header/package.json @@ -1,6 +1,6 @@ { "name": "@asu/component-header", - "version": "2.3.1", + "version": "2.3.2", "description": "ASU Global Header", "main": "./dist/asuHeader.cjs.js", "browser": "./dist/asuHeader.umd.js", From 7c742f0350e80c6ebc6a8d702c412e3f8ac0b34a Mon Sep 17 00:00:00 2001 From: david ornelas Date: Tue, 10 Sep 2024 18:10:40 -0700 Subject: [PATCH 38/78] fix(app-webdir-ui): remove old title logic --- .../src/SearchResultsList/dataFormatter.js | 26 +++- .../src/WebDirectoryComponent/index.js | 18 +-- .../src/helpers/dataConverter.js | 141 +----------------- packages/app-webdir-ui/src/helpers/search.js | 21 +-- 4 files changed, 33 insertions(+), 173 deletions(-) diff --git a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js index ef04184fec..e234ebcfc9 100644 --- a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js +++ b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js @@ -15,16 +15,16 @@ export class ProfileService { async fetchProfiles(profiles) { const url = ProfileService.processURL( - `${this.engine.API_URL}${this.engine.searchApiVersion}/webdir-profiles/department` + `${this.engine.API_URL}${this.engine.searchApiVersion}/webdir-profiles/department?client=webdir` ); const response = await axios.post(url, { - full_records: false, + full_records: true, profiles, }); return response.data; } - async #getProfilesForTerm(filteredResults) { + async #getProfilesForSearch(filteredResults) { const profiles = filteredResults.results.map(result => ({ asurite_id: result.asurite_id.raw, dept_id: null, @@ -42,7 +42,7 @@ export class ProfileService { }; } - async #getProfilesForGET(filteredResults) { + async #getProfilesForWebDirectory(filteredResults) { const profiles = filteredResults.results.map(({ asurite_id, deptids }) => ({ asurite_id: asurite_id.raw, dept_id: this.filters["deptIds"].find(deptId => @@ -62,17 +62,27 @@ export class ProfileService { }; } - // This main method is called from the SearchResultsList component and adds a - // "title" and "dept_name" field to the individual results. Used in dataConverter.js + /** + * This method is directly called from the SearchResultsList component and adds a + * "title" and "dept_name" field to the individual results used in dataConverter.js + */ async processProfiles(term, filteredResults) { if (!this.engine.doTitleLogic) { return filteredResults; } + /** + * If term is present, request is coming from search page + */ if (term) { - return this.#getProfilesForTerm(filteredResults); + return this.#getProfilesForSearch(filteredResults); } + /** + * If method is GET, request is coming from web directory. + * POST requests from web directory already have dept_id available in the props + * so this is never used for POST requests + */ if (this.engine.method === "GET") { - return this.#getProfilesForGET(filteredResults); + return this.#getProfilesForWebDirectory(filteredResults); } return filteredResults; } diff --git a/packages/app-webdir-ui/src/WebDirectoryComponent/index.js b/packages/app-webdir-ui/src/WebDirectoryComponent/index.js index f50190527e..c28ad20642 100644 --- a/packages/app-webdir-ui/src/WebDirectoryComponent/index.js +++ b/packages/app-webdir-ui/src/WebDirectoryComponent/index.js @@ -187,14 +187,7 @@ function WebDirectory({ } sort={sort} hidePaginator={display?.usePager !== "1"} - filters={{ - ...requestFilters, - titleInfo: { - searchType, - deptIds, - ids, - }, - }} + filters={requestFilters} profilesToFilterOut={display?.doNotDisplayProfiles} display={display} appPathFolder={appPathFolder} @@ -210,14 +203,7 @@ function WebDirectory({ ); diff --git a/packages/app-webdir-ui/src/helpers/dataConverter.js b/packages/app-webdir-ui/src/helpers/dataConverter.js index 4f05c8fd6f..b6d58452e6 100644 --- a/packages/app-webdir-ui/src/helpers/dataConverter.js +++ b/packages/app-webdir-ui/src/helpers/dataConverter.js @@ -105,142 +105,20 @@ const fillInBlanks = datum => { }; return { ...full, ...datumAdjusted }; }; -function isCustomTitle(profile, index) { - if (!profile.title_source?.raw) return false; - return profile.title_source?.raw[index] === "titles"; -} - -function findDeptIndex(profile, deptId = "") { - if (!deptId) return 0; - return profile.deptids?.raw?.findIndex(id => id === deptId); -} - -function getTitleAndDeptFromIndex(profile, index) { - let title = profile.titles?.raw[index]; - const dept = profile.departments?.raw[index]; - if ( - profile.title_source?.raw[index] !== "titles" && - profile.working_title?.raw[0] - ) { - title = profile.working_title?.raw[0]; - } - return { title, dept }; -} // See https://asudev.jira.com/browse/SCHWEB-1238 for title logic. -const getTitleFromProfile = (profile, titleMatch, titleInfo) => { +const getTitleFromProfile = profile => { if (Array.isArray(profile.title) && profile.title[0] && profile.dept_name) { return { matchedAffiliationTitle: profile.title[0], matchedAffiliationDept: profile.dept_name, }; } - if ((typeof profile.title === "string" || profile.title) && profile.dept_name) { - return { - matchedAffiliationTitle: profile.title, - matchedAffiliationDept: profile.dept_name, - }; - } - - let matchedAffiliationTitle = - profile.title || profile.working_title?.raw[0] || ""; - let matchedAffiliationDept = - profile.dept_name || - profile.primary_search_department_affiliation?.raw[0] || - ""; - - if ( - profile.primary_deptid?.raw && - profile.titles?.raw && - profile.primary_affiliation?.raw !== "COURTESY_AFFILIATE" - ) { - const deptIndex = findDeptIndex(profile, profile.primary_deptid?.raw); - ({ title: matchedAffiliationTitle, dept: matchedAffiliationDept } = - getTitleAndDeptFromIndex(profile, deptIndex)); - } else if ( - profile.primary_department?.raw && - profile.primary_affiliation?.raw !== "COURTESY_AFFILIATE" - ) { - const deptIndex = profile.departments?.raw.findIndex( - dept => dept === profile.primary_department?.raw - ); - matchedAffiliationDept = profile.departments?.raw[deptIndex]; - } else if (profile.primary_affiliation?.raw === "COURTESY_AFFILIATE") { - matchedAffiliationTitle = profile.affiliations?.raw[0]; - matchedAffiliationDept = - profile.primary_department?.raw || profile.subaffiliations?.raw[0]; - // Check if the primary dept has a custom title - const primaryDeptIndex = findDeptIndex( - profile, - profile.primary_deptid?.raw - ); - if (isCustomTitle(profile, primaryDeptIndex)) { - matchedAffiliationTitle = profile.titles?.raw[primaryDeptIndex]; - } - } - if ( - titleInfo?.searchType === "faculty_rank" || - titleInfo?.searchType === "departments" - ) { - const primaryDeptIndex = findDeptIndex( - profile, - profile.primary_deptid?.raw - ); - - // Check if supplied deptids in the web directory include the users primary_deptid and is a custom title - if ( - titleMatch.depts.includes(profile.primary_deptid?.raw) && - isCustomTitle(profile, primaryDeptIndex) - ) { - matchedAffiliationTitle = profile.titles?.raw[primaryDeptIndex]; - matchedAffiliationDept = profile.departments?.raw[primaryDeptIndex]; - - // Check if supplied deptids in the web directory include the users primary_deptid and is not a custom title - } else if ( - titleMatch.depts.includes(profile.primary_deptid?.raw) && - !isCustomTitle(profile, primaryDeptIndex) - ) { - matchedAffiliationTitle = - profile.primary_title?.raw[0] || - profile.titles?.raw[primaryDeptIndex] || - ""; - - // Use first valid dept supplied in web directory and display the title and department based on that - } else { - const firstDepartmentSupplied = titleMatch.depts.find(dept => - profile.deptids?.raw.includes(dept) - ); - const deptIndex = findDeptIndex(profile, firstDepartmentSupplied); - if (isCustomTitle(profile, deptIndex)) { - matchedAffiliationTitle = profile.titles?.raw[deptIndex]; - } else { - matchedAffiliationTitle = ""; - } - matchedAffiliationDept = profile.departments?.raw[deptIndex]; - } - } - - if ( - titleInfo?.searchType === "people" || - titleInfo?.searchType === "people_departments" - ) { - const deptIndex = findDeptIndex(profile, profile.primary_deptid?.raw); - if (isCustomTitle(profile, deptIndex)) { - matchedAffiliationTitle = profile.titles?.raw[deptIndex]; - } - matchedAffiliationDept = profile.primary_department?.raw; - if ( - profile.dept_id === "unaffiliated" && - profile.primary_affiliation?.raw !== "COURTESY_AFFILIATE" - ) { - matchedAffiliationTitle = profile.working_title?.raw[0]; - matchedAffiliationDept = - profile.primary_search_department_affiliation?.raw[0]; - } - } - - return { matchedAffiliationTitle, matchedAffiliationDept }; + return { + matchedAffiliationTitle: profile.title, + matchedAffiliationDept: profile.dept_name, + }; }; /** @@ -283,7 +161,6 @@ const formatImageUrl = baseUrl => { * @typedef {Object} SharedProps * @property {Object} datum - The staff data to convert. * @property {string} [size="small"] - The size of the ProfileCard. - * @property {string|null} [titleMatch=null] - The title to match for filtering. * @property {string|null} [profileURLBase=null] - The base URL for profile links. * @property {boolean} [fill=false] - Whether to fill in missing data. * @property {string} appPathFolder - The application path folder. @@ -299,19 +176,13 @@ export const staffConverter = ({ datum, options = { size: "small", - titleMatch: null, profileURLBase: null, fill: false, - titleInfo: null, }, appPathFolder, }) => { const filledDatum = fillInBlanks(datum); - const titles = getTitleFromProfile( - filledDatum, - options.titleMatch, - options.titleInfo - ); + const titles = getTitleFromProfile(filledDatum); // We use EID if it's available, otherwise we use the asurite_id. const profileURLBase = options.profileURLBase ?? ""; diff --git a/packages/app-webdir-ui/src/helpers/search.js b/packages/app-webdir-ui/src/helpers/search.js index 7547649ade..5ddd3171f1 100644 --- a/packages/app-webdir-ui/src/helpers/search.js +++ b/packages/app-webdir-ui/src/helpers/search.js @@ -194,11 +194,6 @@ const webDirDeptsFormatter = ({ return filters.peopleIds.includes(r.asurite_id.raw); }); } - // filters.peopleInDepts indicates a WEB_DIRECTORY_PEOPLE_AND_DEPS flow. - // filters.deptIds indicates a WEB_DIRECTORY_DEPARTMENTS flow. - const titleOverwrite = filters?.peopleInDepts - ? { peopleInDeps: filters.peopleInDepts } - : { depts: filters?.deptIds }; return { tab: engines[engineName].name, @@ -209,9 +204,7 @@ const webDirDeptsFormatter = ({ datum: result, options: { size: "large", - titleMatch: titleOverwrite, profileURLBase: "https://search.asu.edu", - titleInfo: filters?.titleInfo, }, appPathFolder, }); @@ -240,7 +233,7 @@ export const engines = { appPathFolder, }), needsTerm: true, - doTitleLogic: true + doTitleLogic: true, }, [engineNames.STUDENTS]: { name: engineNames.STUDENTS, @@ -258,7 +251,7 @@ export const engines = { appPathFolder, }), needsTerm: true, - doTitleLogic: false + doTitleLogic: false, }, [engineNames.SITES]: { name: engineNames.SITES, @@ -286,7 +279,7 @@ export const engines = { ); }, needsTerm: true, - doTitleLogic: false + doTitleLogic: false, }, [engineNames.SITES_LOCAL]: { name: engineNames.SITES_LOCAL, @@ -314,7 +307,7 @@ export const engines = { }); }, needsTerm: true, - doTitleLogic: false + doTitleLogic: false, }, [engineNames.WEB_DIRECTORY_DEPARTMENTS]: { name: engineNames.WEB_DIRECTORY_DEPARTMENTS, @@ -338,7 +331,7 @@ export const engines = { appPathFolder, }), needsTerm: false, - doTitleLogic: true + doTitleLogic: true, }, [engineNames.WEB_DIRECTORY_FACULTY_RANK]: { name: engineNames.WEB_DIRECTORY_FACULTY_RANK, @@ -357,7 +350,7 @@ export const engines = { appPathFolder, }), needsTerm: false, - doTitleLogic: true + doTitleLogic: true, }, [engineNames.WEB_DIRECTORY_PEOPLE_AND_DEPS]: { name: engineNames.WEB_DIRECTORY_PEOPLE_AND_DEPS, @@ -376,7 +369,7 @@ export const engines = { appPathFolder, }), needsTerm: false, - doTitleLogic: true + doTitleLogic: true, }, }; From 083ad234e4291cb559f30d4aa6035c449c1e72ca Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Wed, 11 Sep 2024 08:55:00 -0700 Subject: [PATCH 39/78] fix(app-rfi): campusProgram has choice update api if Campus changes --- .../src/components/AsuRfi/index.stories.js | 323 ++++-------------- .../src/components/AsuRfi/story.helper.js | 44 +++ .../src/components/AsuRfi/testing.stories.js | 58 ++++ .../steps/questions/CampusProgramHasChoice.js | 19 +- .../components/steps/questions/EntryTerm.js | 2 +- .../components/steps/questions/Interest2.js | 20 +- packages/app-rfi/src/core/utils/appState.js | 29 +- packages/app-rfi/src/core/utils/constants.js | 4 + .../src/core/utils/datasource-helper.js | 22 +- 9 files changed, 255 insertions(+), 266 deletions(-) create mode 100644 packages/app-rfi/src/components/AsuRfi/story.helper.js create mode 100644 packages/app-rfi/src/components/AsuRfi/testing.stories.js diff --git a/packages/app-rfi/src/components/AsuRfi/index.stories.js b/packages/app-rfi/src/components/AsuRfi/index.stories.js index e5cb1a78d0..f28f52a13c 100644 --- a/packages/app-rfi/src/components/AsuRfi/index.stories.js +++ b/packages/app-rfi/src/components/AsuRfi/index.stories.js @@ -1,8 +1,8 @@ // @ts-check -/* eslint react/jsx-props-no-spreading: "off" */ -import React from "react"; +import { AsuRfi } from ".."; -import { AsuRfi } from "."; +import { DATA_SOURCE, KEY } from "../../core/utils/constants"; +import { defaultArgs, Template } from "./story.helper"; export default { title: "UDS/AsuRfi", @@ -17,275 +17,92 @@ export default { }, }; -const Template = args => { - const { label } = args; - - return ( -
    -
    - {label} -
    -
    - ); -}; - -const testSubmissionUrl = "https://httpbin.org/post"; - -export const RfiDefault = Template.bind({}); -RfiDefault.args = { - variant: undefined, - appPathFolder: ".", // Optional - campus: undefined, // ONLNE, GROUND, NOPREF - actualCampus: undefined, // TEMPE, DTPHX, POLY, WEST, ONLNE... - college: undefined, - department: undefined, - studentType: undefined, // graduate, undergrad - areaOfInterest: undefined, - areaOfInterestOptional: false, - programOfInterest: undefined, - programOfInterestOptional: false, - isCertMinor: false, - country: undefined, - stateProvince: undefined, // Only US states or CA provinces - use full name. - successMsg: undefined, - test: true, - dataSourceDegreeSearch: undefined, // "https://degrees.apps.asu.edu/t5/service", - dataSourceAsuOnline: undefined, // "https://cms.asuonline.asu.edu/lead-submissions-v3.5/programs", - dataSourceCountriesStates: undefined, // "https://api.myasuplat-dpl.asu.edu/api/codeset/countries", - submissionUrl: testSubmissionUrl, // Should point to host site's API Proxy endpoint so Source value can be added and submitted from backend. +export const Default = { + render: Template.bind({}), + args: { ...defaultArgs }, }; -export const RfiOnCollegePage = Template.bind({}); -RfiOnCollegePage.args = { - variant: "rfiVariant1", - campus: undefined, // ONLNE, GROUND, NOPREF - actualCampus: undefined, // TEMPE, DTPHX, POLY, WEST, ONLNE... - college: "CHI", // CHI - department: undefined, - studentType: undefined, // graduate, undergrad - areaOfInterest: undefined, - areaOfInterestOptional: false, - programOfInterest: undefined, - programOfInterestOptional: false, - isCertMinor: false, - country: undefined, - stateProvince: undefined, // Only US states or CA provinces - successMsg: undefined, - test: true, - dataSourceDegreeSearch: undefined, - dataSourceAsuOnline: undefined, - dataSourceCountriesStates: undefined, - submissionUrl: testSubmissionUrl, +export const CollegePage = { + render: Template.bind({}), + args: { + ...defaultArgs, + college: "CHI", // CHI + }, }; -export const RfiOnCollegePageWithAreaOfInterest = Template.bind({}); -RfiOnCollegePageWithAreaOfInterest.args = { - variant: "rfiVariant1", - campus: undefined, // ONLNE, GROUND, NOPREF - actualCampus: undefined, // TEMPE, DTPHX, POLY, WEST, ONLNE... - college: "CES", - department: undefined, - studentType: undefined, // graduate, undergrad - areaOfInterest: "STEM", - areaOfInterestOptional: false, - programOfInterest: undefined, - programOfInterestOptional: false, - isCertMinor: false, - country: undefined, - stateProvince: undefined, // Only US states or CA provinces - successMsg: undefined, - test: true, - dataSourceDegreeSearch: undefined, - dataSourceAsuOnline: undefined, - dataSourceCountriesStates: undefined, - submissionUrl: testSubmissionUrl, +export const CollegePageWithAreaOfInterest = { + render: Template.bind({}), + args: { + ...defaultArgs, + college: "CES", + areaOfInterest: "STEM", + }, }; // Important note: At current, only supports Degree Search REST API degrees. // Assumption: Degree page use case doesn't need to support ASUOnline degrees. // Also, DS REST API returns degrees with ONLNE status, so perhaps it's covered. -export const RfiOnDegreePageUndergraduate = Template.bind({}); -RfiOnDegreePageUndergraduate.args = { - variant: "rfiVariant1", - campus: undefined, // ONLNE, GROUND, NOPREF - actualCampus: undefined, // TEMPE, DTPHX, POLY, WEST, ONLNE... - college: undefined, - department: undefined, - studentType: undefined, // graduate, undergrad - areaOfInterest: undefined, - areaOfInterestOptional: false, - programOfInterest: "TEESTEMBAE", - programOfInterestOptional: false, - isCertMinor: false, - country: undefined, - stateProvince: undefined, // Only US states or CA provinces - successMsg: undefined, - test: true, - dataSourceDegreeSearch: undefined, - dataSourceAsuOnline: undefined, - dataSourceCountriesStates: undefined, - submissionUrl: testSubmissionUrl, -}; - -export const RfiOnDegreePageGraduate = Template.bind({}); -RfiOnDegreePageGraduate.args = { - variant: "rfiVariant1", - campus: undefined, // ONLNE, GROUND, NOPREF - actualCampus: undefined, // TEMPE, DTPHX, POLY, WEST, ONLNE... - college: undefined, - department: undefined, - studentType: undefined, // graduate, undergrad - areaOfInterest: undefined, - areaOfInterestOptional: false, - programOfInterest: "TBGMCIDMGM", - programOfInterestOptional: false, - isCertMinor: false, - country: undefined, - stateProvince: undefined, // Only US states or CA provinces - successMsg: undefined, - test: true, - dataSourceDegreeSearch: undefined, - dataSourceAsuOnline: undefined, - dataSourceCountriesStates: undefined, - submissionUrl: testSubmissionUrl, +export const DegreePageUndergraduate = { + render: Template.bind({}), + args: { + ...defaultArgs, + programOfInterest: "TEESTEMBAE", + }, }; -export const RfiOnCollegeDepartmentPage = Template.bind({}); -RfiOnCollegeDepartmentPage.args = { - variant: "rfiVariant1", - campus: undefined, // ONLNE, GROUND, NOPREF - actualCampus: undefined, // TEMPE, DTPHX, POLY, WEST, ONLNE... - college: "CES", - department: "CINFOTECH", - studentType: undefined, // graduate, undergrad - areaOfInterest: undefined, - areaOfInterestOptional: false, - programOfInterest: undefined, - programOfInterestOptional: false, - isCertMinor: false, - country: undefined, - stateProvince: undefined, // Only US states or CA provinces - successMsg: undefined, - test: true, - dataSourceDegreeSearch: undefined, - dataSourceAsuOnline: undefined, - dataSourceCountriesStates: undefined, - submissionUrl: testSubmissionUrl, +export const DegreePageGraduate = { + render: Template.bind({}), + args: { + ...defaultArgs, + programOfInterest: "TBGMCIDMGM", + }, }; -export const RfiOnNonAcademicUnitPage = Template.bind({}); -RfiOnNonAcademicUnitPage.args = { - variant: "rfiVariant1", - campus: undefined, // ONLNE, GROUND, NOPREF - actualCampus: undefined, // TEMPE, DTPHX, POLY, WEST, ONLNE... - college: undefined, - department: undefined, - studentType: undefined, // graduate, undergrad - areaOfInterest: "Health and Wellness", - areaOfInterestOptional: false, - programOfInterest: undefined, - programOfInterestOptional: true, - isCertMinor: false, - country: undefined, - stateProvince: undefined, // Only US states or CA provinces - successMsg: undefined, - test: true, - dataSourceDegreeSearch: undefined, - dataSourceAsuOnline: undefined, - dataSourceCountriesStates: undefined, - submissionUrl: testSubmissionUrl, +export const CollegeDepartmentPage = { + render: Template.bind({}), + args: { + ...defaultArgs, + college: "CES", + department: "CINFOTECH", + }, }; -export const RfiOnCertOrMinorPage = Template.bind({}); -RfiOnCertOrMinorPage.args = { - variant: "rfiVariant1", - campus: undefined, // ONLNE, GROUND, NOPREF - actualCampus: undefined, // TEMPE, DTPHX, POLY, WEST, ONLNE... - college: undefined, - department: undefined, - studentType: undefined, // graduate, undergrad - areaOfInterest: undefined, - areaOfInterestOptional: false, - programOfInterest: "LAINSCERT", - programOfInterestOptional: false, - isCertMinor: true, - country: undefined, - stateProvince: undefined, // Only US states or CA provinces - successMsg: `
    A custom SuccessMsg supplied by you displays here.
    `, - test: true, - dataSourceDegreeSearch: undefined, - dataSourceAsuOnline: undefined, - dataSourceCountriesStates: undefined, - submissionUrl: testSubmissionUrl, +export const NonAcademicUnitPage = { + render: Template.bind({}), + args: { + ...defaultArgs, + areaOfInterest: "Health and Wellness", + programOfInterestOptional: true, + }, }; -export const RfiOnCampaignLandingPage = Template.bind({}); -RfiOnCampaignLandingPage.args = { - variant: "rfiVariant1", - campus: undefined, // ONLNE, GROUND, NOPREF - actualCampus: undefined, // TEMPE, DTPHX, POLY, WEST, ONLNE... - college: undefined, - department: undefined, - studentType: "graduate", - areaOfInterest: undefined, - areaOfInterestOptional: false, - programOfInterest: "BAGLSMS", - programOfInterestOptional: false, - isCertMinor: false, - country: "US", - stateProvince: "New Mexico", // Only US states or CA provinces - successMsg: undefined, - test: true, - dataSourceDegreeSearch: undefined, - dataSourceAsuOnline: undefined, - dataSourceCountriesStates: undefined, - submissionUrl: testSubmissionUrl, +export const CertOrMinorPage = { + render: Template.bind({}), + args: { + ...defaultArgs, + programOfInterest: "LAINSCERT", + isCertMinor: true, + successMsg: `
    A custom SuccessMsg supplied by you displays here.
    `, + }, }; -export const RfiTestMode = Template.bind({}); -RfiTestMode.args = { - variant: "rfiVariant1", - campus: "GROUND", // ONLNE, GROUND, NOPREF - actualCampus: undefined, // TEMPE, DTPHX, POLY, WEST, ONLNE... - college: undefined, - department: undefined, - studentType: "graduate", - areaOfInterest: "STEM", - areaOfInterestOptional: false, - programOfInterest: "TSSMACSPHD", - programOfInterestOptional: false, - isCertMinor: false, - country: "US", - stateProvince: "California", // Only US states or CA provinces - successMsg: undefined, - test: true, - dataSourceDegreeSearch: undefined, - dataSourceAsuOnline: undefined, - dataSourceCountriesStates: undefined, - submissionUrl: testSubmissionUrl, +export const CampaignLandingPage = { + render: Template.bind({}), + args: { + ...defaultArgs, + studentType: KEY.GRADUATE, + programOfInterest: "BAGLSMS", + country: "US", + stateProvince: "New Mexico", // Only US states or CA provinces + }, }; -export const RfiDevTester = Template.bind({}); -RfiDevTester.args = { - variant: "rfiVariant1", - campus: undefined, // ONLNE, GROUND, NOPREF - actualCampus: "POLY", // TEMPE, DTPHX, POLY, WEST, ONLNE... - college: undefined, - department: undefined, - studentType: "undergrad", - areaOfInterest: undefined, - areaOfInterestOptional: false, - programOfInterest: undefined, - programOfInterestOptional: false, - isCertMinor: false, - country: "DZ", - stateProvince: undefined, // Only US states or CA provinces - successMsg: "Success. You made it.", - test: true, - dataSourceDegreeSearch: "https://api.myasuplat-dpl.asu.edu/api/codeset", - dataSourceAsuOnline: - "https://cms.asuonline.asu.edu/lead-submissions-v3.5/programs", - dataSourceCountriesStates: - "https://api.myasuplat-dpl.asu.edu/api/codeset/countries", - submissionUrl: testSubmissionUrl, +export const DegreeSelectedWithMultiCampus = { + render: Template.bind({}), + args: { + ...defaultArgs, + variant: KEY.VARIANT2, + studentType: KEY.GRADUATE, + programOfInterest: "ECSPEDMED", + }, }; diff --git a/packages/app-rfi/src/components/AsuRfi/story.helper.js b/packages/app-rfi/src/components/AsuRfi/story.helper.js new file mode 100644 index 0000000000..2b7d9c925b --- /dev/null +++ b/packages/app-rfi/src/components/AsuRfi/story.helper.js @@ -0,0 +1,44 @@ +// @ts-check +/* eslint react/jsx-props-no-spreading: "off" */ +import React from "react"; + +import { AsuRfi } from ".."; + +import { KEY } from "../../core/utils/constants"; + +/** @type {import("../../core/types/rfi-types").RFIProps} */ +export const defaultArgs = { + variant: KEY.VARIANT1, + appPathFolder: ".", // Optional + campus: undefined, // ONLNE, GROUND, NOPREF + actualCampus: undefined, // TEMPE, DTPHX, POLY, WEST, ONLNE... + college: undefined, + department: undefined, + studentType: undefined, // graduate, undergrad + areaOfInterest: undefined, + areaOfInterestOptional: false, + programOfInterest: undefined, + programOfInterestOptional: false, + isCertMinor: false, + country: undefined, + stateProvince: undefined, // Only US states or CA provinces - use full name. + successMsg: undefined, + test: false, + dataSourceDegreeSearch: undefined, // "https://degrees.apps.asu.edu/t5/service", + dataSourceAsuOnline: undefined, // "https://cms.asuonline.asu.edu/lead-submissions-v3.5/programs", + dataSourceCountriesStates: undefined, // "https://api.myasuplat-dpl.asu.edu/api/codeset/countries", + submissionUrl: "https://httpbin.org/post", // Should point to host site's API Proxy endpoint so Source value can be added and submitted from backend. +}; + +/** + * + * @param {import("../../core/types/rfi-types").RFIProps} args + * @returns + */ +export const Template = args => ( +
    +
    + +
    +
    +); diff --git a/packages/app-rfi/src/components/AsuRfi/testing.stories.js b/packages/app-rfi/src/components/AsuRfi/testing.stories.js new file mode 100644 index 0000000000..ed78cbe784 --- /dev/null +++ b/packages/app-rfi/src/components/AsuRfi/testing.stories.js @@ -0,0 +1,58 @@ +// @ts-check +import { AsuRfi } from ".."; + +import { DATA_SOURCE, KEY } from "../../core/utils/constants"; +import { defaultArgs, Template } from "./story.helper"; + +export default { + title: "UDS/Testing", + component: AsuRfi, + parameters: { + docs: { + description: { + component: `TODO Put the AsuRfi docs here. Empower all the people! + `, + }, + }, + }, +}; + +const testingDefaultArgs = { ...defaultArgs, test: true }; + +export const OnlineProgramWithConcentration = { + render: Template.bind({}), + args: { + ...testingDefaultArgs, + campus: KEY.ONLINE, + variant: KEY.VARIANT2, + studentType: KEY.GRADUATE, + programOfInterest: "LWLW-LWLGSMLEGS--CONFLICTLAW", + }, +}; + +export const TestMode = { + render: Template.bind({}), + args: { + ...testingDefaultArgs, + campus: KEY.GROUND, // ONLNE, GROUND, NOPREF + studentType: KEY.GRADUATE, + areaOfInterest: "STEM", + programOfInterest: "TSSMACSPHD", + country: "US", + stateProvince: "California", // Only US states or CA provinces + }, +}; + +export const DevTester = { + render: Template.bind({}), + args: { + ...testingDefaultArgs, + actualCampus: "POLY", // TEMPE, DTPHX, POLY, WEST, ONLNE... + studentType: KEY.UNDERGRAD, + country: "DZ", + successMsg: "Success. You made it.", + dataSourceDegreeSearch: DATA_SOURCE.DEGREE_SEARCH, + dataSourceAsuOnline: DATA_SOURCE.ASU_ONLINE, + dataSourceCountriesStates: DATA_SOURCE.COUNTRIES_STATES, + }, +}; diff --git a/packages/app-rfi/src/components/steps/questions/CampusProgramHasChoice.js b/packages/app-rfi/src/components/steps/questions/CampusProgramHasChoice.js index b8095e7b08..8e7bfd097a 100644 --- a/packages/app-rfi/src/components/steps/questions/CampusProgramHasChoice.js +++ b/packages/app-rfi/src/components/steps/questions/CampusProgramHasChoice.js @@ -1,4 +1,4 @@ -import React from "react"; +import React, { useEffect } from "react"; import { gaEventPropTypes, trackGAEvent } from "../../../../../../shared"; import { CAMPUS_OPTIONS_DEFAULT, KEY } from "../../../core/utils/constants"; @@ -12,11 +12,22 @@ export const CampusProgramHasChoice = ({ gaData }) => { const label = "Which applies to you?"; const name = "CampusProgramHasChoice"; - const { programOfInterest, degreeData } = useRfiContext(); + const { + programOfInterest, + degreeData, + campusProgramHasChoice, + setCampusProgramHasChoice, + } = useRfiContext(); const hasOnlineCampus = - degreeData?.campusCodes?.includes && - degreeData.campusCodes.includes(KEY.ONLINE); + campusProgramHasChoice || + (degreeData?.campusCodes?.includes && + degreeData.campusCodes.includes(KEY.ONLINE)); + + useEffect(() => { + // Once true, it will always be true, even if other conditions change + setCampusProgramHasChoice(hasOnlineCampus || campusProgramHasChoice); + }, [degreeData?.campusCodes]); return ( <> diff --git a/packages/app-rfi/src/components/steps/questions/EntryTerm.js b/packages/app-rfi/src/components/steps/questions/EntryTerm.js index 4ed7aef8ed..83162bff40 100644 --- a/packages/app-rfi/src/components/steps/questions/EntryTerm.js +++ b/packages/app-rfi/src/components/steps/questions/EntryTerm.js @@ -55,7 +55,7 @@ export const EntryTerm = ({ gaData }) => { // for the specific program. if ( - degreeData.acadPlanCode && + degreeData.acadPlanKey && values.Campus !== KEY.ONLINE && degreeData.degreeType === KEY.GR ) { diff --git a/packages/app-rfi/src/components/steps/questions/Interest2.js b/packages/app-rfi/src/components/steps/questions/Interest2.js index 2a425af0c9..d8ea939189 100644 --- a/packages/app-rfi/src/components/steps/questions/Interest2.js +++ b/packages/app-rfi/src/components/steps/questions/Interest2.js @@ -17,6 +17,7 @@ export const Interest2 = ({ gaData }) => { ); const { + forceUpdatedPlan, programOfInterest, degreeDataList, programOfInterestOptional, @@ -33,7 +34,7 @@ export const Interest2 = ({ gaData }) => { values.Interest1 === KEY.FALSE_EMPTY || planCategories.includes(values.Interest1) ) - .map(({ acadPlanCode: value, title: text }, i) => ({ + .map(({ acadPlanKey: value, title: text }, i) => ({ key: `${i}`, value, text, @@ -45,7 +46,21 @@ export const Interest2 = ({ gaData }) => { setProgramInterestOptions(poiOptions); } - if (programOfInterest) { + const planIsOnline = values.Interest2?.indexOf("-") > -1; + const campusIsOnline = + (values.CampusProgramHasChoice || values.Campus) === KEY.ONLINE; + const wrongApi = + (campusIsOnline && !planIsOnline) || (!campusIsOnline && planIsOnline); + const shouldForceUpdate = wrongApi && forceUpdatedPlan !== values.Interest2; + + if (shouldForceUpdate) { + // If values.CampusProgramHasChoice changes the API between (DPL/ONLINE) + // Interest2 will no longer match the acadPlanKey format and will need to + // be updated to match the API. This logic is found in appState, but that + // file does not have access to update the Formik Value. + setFieldValue(name, forceUpdatedPlan); + } else if (wrongApi && programOfInterest) { + // Initially set Interest2 with the prop value programOfInterest setFieldValue(name, programOfInterest); } else if (!isRequired) { setFieldValue(name, KEY.FALSE_EMPTY); @@ -53,6 +68,7 @@ export const Interest2 = ({ gaData }) => { setFieldValue(name, ""); } }, [ + forceUpdatedPlan, degreeDataList, values.Interest1, programOfInterest, diff --git a/packages/app-rfi/src/core/utils/appState.js b/packages/app-rfi/src/core/utils/appState.js index 236955d93c..ce90531823 100644 --- a/packages/app-rfi/src/core/utils/appState.js +++ b/packages/app-rfi/src/core/utils/appState.js @@ -69,10 +69,12 @@ export const useRfiState = props => { filterByDepartmentCode, filterByCollegeCode, filterByCampusCode, - campus, submissionUrl, isCertMinor, } = props; + const [loaded, setLoaded] = useState(false); + const [forceUpdatedPlan, setForceUpdatedPlan] = useState(); + const [campusProgramHasChoice, setCampusProgramHasChoice] = useState(); const [stepNumber, setStepNumber] = useState(0); const steps = variants[variant] || variants[defaultVariant]; const [snapshot, setSnapshot] = useState(getInitialValues(props)); @@ -133,7 +135,8 @@ export const useRfiState = props => { fetchDegreesData({ dataSourceDegreeSearch, dataSourceAsuOnline, - Campus: formik.values.Campus, + CareerAndStudentType: formik.values.CareerAndStudentType, + Campus: formik.values.CampusProgramHasChoice || formik.values.Campus, Interest2, }).then(([response, data]) => { if (response === "Error") { @@ -151,7 +154,10 @@ export const useRfiState = props => { if (emailAddr) { setCertMinorEmail(emailAddr); } + setLoaded(true); }); + } else { + setLoaded(true); } }; @@ -167,7 +173,7 @@ export const useRfiState = props => { filterByDepartmentCode, filterByCollegeCode, filterByCampusCode, - Campus: formik.values.Campus, + Campus: formik.values.CampusProgramHasChoice || formik.values.Campus, CareerAndStudentType: formik.values.CareerAndStudentType, }).then(([response, data]) => { if (response === "Error") { @@ -180,11 +186,23 @@ export const useRfiState = props => { console.log(data); } setDegreeDataList(data); + if (formik.values.Interest2) { + const selectedDegree = data.find( + plan => + plan.acadPlanCode === formik.values.Interest2 || // check for PLAN pattern + plan.acadCode === formik.values.Interest2 // check for PROGRAM-PLAN pattern + ); + setForceUpdatedPlan(selectedDegree.acadPlanKey); + } }); }; - fetchData(); + if (loaded) { + fetchData(); + } }, [ + loaded, + formik.values.CampusProgramHasChoice, formik.values.Campus, formik.values.CareerAndStudentType, filterByDepartmentCode, @@ -193,6 +211,9 @@ export const useRfiState = props => { ]); const returnObject = { + forceUpdatedPlan, + campusProgramHasChoice, + setCampusProgramHasChoice, degreeDataList, degreeData, showStepButtons: true, diff --git a/packages/app-rfi/src/core/utils/constants.js b/packages/app-rfi/src/core/utils/constants.js index 589af2e67d..3700ab7ddc 100644 --- a/packages/app-rfi/src/core/utils/constants.js +++ b/packages/app-rfi/src/core/utils/constants.js @@ -13,6 +13,10 @@ export const KEY = { UG: "UG", CER: "CER", FALSE_EMPTY: "__NA__", + /** @type {"rfiVariant1"} */ + VARIANT1: "rfiVariant1", + /** @type {"rfiVariant2"} */ + VARIANT2: "rfiVariant2", }; export const CAMPUS = { diff --git a/packages/app-rfi/src/core/utils/datasource-helper.js b/packages/app-rfi/src/core/utils/datasource-helper.js index bd1ba9caab..4803642a84 100644 --- a/packages/app-rfi/src/core/utils/datasource-helper.js +++ b/packages/app-rfi/src/core/utils/datasource-helper.js @@ -1,5 +1,7 @@ /** * @typedef {object} AcadPlan + * @prop {string} acadPlanKey + * @prop {string} acadCode * @prop {string} acadPlanCode * @prop {string[]} [departmentCodes] * @prop {string[]} [collegeCodes] @@ -28,6 +30,14 @@ export const normalizeDegreeData = data => { applicationDeadlines: curr.applicationDeadlines?.map( ({ strm, strmDescription }) => ({ strm, strmDescription }) ), + + // plan Key is how RFI handles selecting the program + acadPlanKey: curr.acadPlanCode, + + // EX: PROGRAM-PLAN + acadCode: `${curr.acadProgramCode}-${curr.acadPlanCode}`, + + // EX: PLAN acadPlanCode: curr.acadPlanCode, // curr.campusesOffered array || null @@ -65,8 +75,16 @@ export const normalizeDegreeData = data => { /** @type {AcadPlan} */ const p = { applicationDeadlines: undefined, - // Online wants curr.code (which contains progcode-plancode) - acadPlanCode: curr.code, + + // plan Key is how RFI handles selecting the program + acadPlanKey: curr.code, + + // EX: PROGRAM-PLAN most of the time + // sometimes PROGRAM-PLAN--concentration (LWLW-LWLGSMLEGS--CONFLICTLAW) + acadCode: curr.code, + + // EX: PLAN + acadPlanCode: curr.plancode, // always undefined campusCodes: undefined, From e49ba7d919c6f0e486ccc01e1a1eb156e16d36b4 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Wed, 11 Sep 2024 10:14:08 -0700 Subject: [PATCH 40/78] fix(app-webdir-ui): do not retrieve full records on second search --- packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js index e234ebcfc9..54a327b599 100644 --- a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js +++ b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js @@ -18,7 +18,7 @@ export class ProfileService { `${this.engine.API_URL}${this.engine.searchApiVersion}/webdir-profiles/department?client=webdir` ); const response = await axios.post(url, { - full_records: true, + full_records: false, profiles, }); return response.data; From ebe65ffc28f1037d5a22ad6fc9e7649a0dc8f412 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 11 Sep 2024 18:43:19 +0000 Subject: [PATCH 41/78] chore(release): 2.3.12 [skip ci] # [@asu/app-rfi-v2.3.12](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.11...@asu/app-rfi-v2.3.12) (2024-09-11) ### Bug Fixes * **app-rfi:** campusProgram has choice update api if Campus changes ([083ad23](https://github.com/asu/asu-unity-stack/commit/083ad234e4291cb559f30d4aa6035c449c1e72ca)) --- packages/app-rfi/CHANGELOG.md | 7 +++++++ packages/app-rfi/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/app-rfi/CHANGELOG.md b/packages/app-rfi/CHANGELOG.md index a55fa83623..dba095a422 100644 --- a/packages/app-rfi/CHANGELOG.md +++ b/packages/app-rfi/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@asu/app-rfi-v2.3.12](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.11...@asu/app-rfi-v2.3.12) (2024-09-11) + + +### Bug Fixes + +* **app-rfi:** campusProgram has choice update api if Campus changes ([083ad23](https://github.com/asu/asu-unity-stack/commit/083ad234e4291cb559f30d4aa6035c449c1e72ca)) + # [@asu/app-rfi-v2.3.11](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.10...@asu/app-rfi-v2.3.11) (2024-09-09) diff --git a/packages/app-rfi/package.json b/packages/app-rfi/package.json index 37427eec29..72c3208484 100644 --- a/packages/app-rfi/package.json +++ b/packages/app-rfi/package.json @@ -1,6 +1,6 @@ { "name": "@asu/app-rfi", - "version": "2.3.11", + "version": "2.3.12", "description": "ASU Request For Information (RFI) form", "main": "./dist/appRfi.cjs.js", "browser": "./dist/appRfi.umd.js", From 0f498647eb0a6f62c0e953691526328848cde356 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Wed, 11 Sep 2024 11:36:46 -0700 Subject: [PATCH 42/78] refactor(app-webdir-ui): edit ProfileService comments and parameters --- .../src/SearchResultsList/dataFormatter.js | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js index 54a327b599..677cd84f09 100644 --- a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js +++ b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js @@ -13,12 +13,19 @@ export class ProfileService { return validateAndCleanURL(url); } - async fetchProfiles(profiles) { + /** + * Fetches profiles from the API + * @param {Array} profiles - Array of profiles to fetch + * @param {Boolean} fullRecords - Whether to fetch full records or not + * @returns {Promise} - The response from the API + * @memberof ProfileService + * */ + async fetchProfilesFromApi(profiles, fullRecords = false) { const url = ProfileService.processURL( `${this.engine.API_URL}${this.engine.searchApiVersion}/webdir-profiles/department?client=webdir` ); const response = await axios.post(url, { - full_records: false, + full_records: fullRecords, profiles, }); return response.data; @@ -30,7 +37,7 @@ export class ProfileService { dept_id: null, })); - const data = await this.fetchProfiles(profiles); + const data = await this.fetchProfilesFromApi(profiles); return { ...filteredResults, @@ -50,7 +57,7 @@ export class ProfileService { ), })); - const data = await this.fetchProfiles(profiles); + const data = await this.fetchProfilesFromApi(profiles); return { ...filteredResults, From 6ac3cae9ba7979174542db1f8fa53f586b1a091a Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Wed, 11 Sep 2024 13:26:08 -0700 Subject: [PATCH 43/78] fix(app-rfi): fix undefined error when program optional --- .../src/components/AsuRfi/testing.stories.js | 16 ++++++++++++++++ packages/app-rfi/src/core/utils/appState.js | 10 ++++++++-- 2 files changed, 24 insertions(+), 2 deletions(-) diff --git a/packages/app-rfi/src/components/AsuRfi/testing.stories.js b/packages/app-rfi/src/components/AsuRfi/testing.stories.js index ed78cbe784..849a135b2a 100644 --- a/packages/app-rfi/src/components/AsuRfi/testing.stories.js +++ b/packages/app-rfi/src/components/AsuRfi/testing.stories.js @@ -19,6 +19,22 @@ export default { const testingDefaultArgs = { ...defaultArgs, test: true }; +export const AreaOfInterestOptional = { + render: Template.bind({}), + args: { + ...testingDefaultArgs, + areaOfInterestOptional: true, + }, +}; + +export const ProgramOfInterestOptional = { + render: Template.bind({}), + args: { + ...testingDefaultArgs, + programOfInterestOptional: true, + }, +}; + export const OnlineProgramWithConcentration = { render: Template.bind({}), args: { diff --git a/packages/app-rfi/src/core/utils/appState.js b/packages/app-rfi/src/core/utils/appState.js index ce90531823..c66f80e66c 100644 --- a/packages/app-rfi/src/core/utils/appState.js +++ b/packages/app-rfi/src/core/utils/appState.js @@ -186,13 +186,19 @@ export const useRfiState = props => { console.log(data); } setDegreeDataList(data); - if (formik.values.Interest2) { + + if ( + formik.values.Interest2 && + formik.values.Interest2 !== KEY.FALSE_EMPTY + ) { const selectedDegree = data.find( plan => plan.acadPlanCode === formik.values.Interest2 || // check for PLAN pattern plan.acadCode === formik.values.Interest2 // check for PROGRAM-PLAN pattern ); - setForceUpdatedPlan(selectedDegree.acadPlanKey); + if (selectedDegree?.acadPlanKey) { + setForceUpdatedPlan(selectedDegree.acadPlanKey); + } } }); }; From 1424f294353c482056370cdca38ec146bf85b9c3 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 11 Sep 2024 20:52:22 +0000 Subject: [PATCH 44/78] chore(release): 2.3.13 [skip ci] # [@asu/app-rfi-v2.3.13](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.12...@asu/app-rfi-v2.3.13) (2024-09-11) ### Bug Fixes * **app-rfi:** fix undefined error when program optional ([6ac3cae](https://github.com/asu/asu-unity-stack/commit/6ac3cae9ba7979174542db1f8fa53f586b1a091a)) --- packages/app-rfi/CHANGELOG.md | 7 +++++++ packages/app-rfi/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/app-rfi/CHANGELOG.md b/packages/app-rfi/CHANGELOG.md index dba095a422..268e624c97 100644 --- a/packages/app-rfi/CHANGELOG.md +++ b/packages/app-rfi/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@asu/app-rfi-v2.3.13](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.12...@asu/app-rfi-v2.3.13) (2024-09-11) + + +### Bug Fixes + +* **app-rfi:** fix undefined error when program optional ([6ac3cae](https://github.com/asu/asu-unity-stack/commit/6ac3cae9ba7979174542db1f8fa53f586b1a091a)) + # [@asu/app-rfi-v2.3.12](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.11...@asu/app-rfi-v2.3.12) (2024-09-11) diff --git a/packages/app-rfi/package.json b/packages/app-rfi/package.json index 72c3208484..3cc15b8a7d 100644 --- a/packages/app-rfi/package.json +++ b/packages/app-rfi/package.json @@ -1,6 +1,6 @@ { "name": "@asu/app-rfi", - "version": "2.3.12", + "version": "2.3.13", "description": "ASU Request For Information (RFI) form", "main": "./dist/appRfi.cjs.js", "browser": "./dist/appRfi.umd.js", From 2b64fbbde359cdc7a09b7334390ad5b3cc82db0f Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 13 Sep 2024 20:15:46 +0000 Subject: [PATCH 45/78] chore(release): 2.1.1 [skip ci] # [@asu/component-news-v2.1.1](https://github.com/asu/asu-unity-stack/compare/@asu/component-news-v2.1.0...@asu/component-news-v2.1.1) (2024-09-13) ### Bug Fixes * **component-news:** remove KE from default news header ([0c4bcdf](https://github.com/asu/asu-unity-stack/commit/0c4bcdf74bcd24def7e141ede7656bb658a6d8c8)) --- packages/component-news/CHANGELOG.md | 7 +++++++ packages/component-news/package.json | 6 ++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/component-news/CHANGELOG.md b/packages/component-news/CHANGELOG.md index 06aee821d7..207088412d 100644 --- a/packages/component-news/CHANGELOG.md +++ b/packages/component-news/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@asu/component-news-v2.1.1](https://github.com/asu/asu-unity-stack/compare/@asu/component-news-v2.1.0...@asu/component-news-v2.1.1) (2024-09-13) + + +### Bug Fixes + +* **component-news:** remove KE from default news header ([0c4bcdf](https://github.com/asu/asu-unity-stack/commit/0c4bcdf74bcd24def7e141ede7656bb658a6d8c8)) + # [@asu/component-news-v2.1.0](https://github.com/asu/asu-unity-stack/compare/@asu/component-news-v2.0.3...@asu/component-news-v2.1.0) (2024-01-11) diff --git a/packages/component-news/package.json b/packages/component-news/package.json index 7e1fdd6066..c0ed71f66b 100644 --- a/packages/component-news/package.json +++ b/packages/component-news/package.json @@ -1,6 +1,6 @@ { "name": "@asu/component-news", - "version": "2.1.0", + "version": "2.1.1", "description": "ASU News component", "main": "./dist/asuNews.cjs.js", "browser": "./dist/asuNews.umd.js", @@ -96,9 +96,7 @@ "webpack-filter-warnings-plugin": "^1.2.1", "webpack-merge": "^5.8.0" }, - "peerDependencies": { - - }, + "peerDependencies": {}, "volta": { "extends": "../../package.json" } From afa1a9f088af243f16dcbe91269027ff86e43386 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Tue, 17 Sep 2024 21:44:48 +0000 Subject: [PATCH 46/78] build(deps): bump axios from 1.7.2 to 1.7.4 Bumps [axios](https://github.com/axios/axios) from 1.7.2 to 1.7.4. - [Release notes](https://github.com/axios/axios/releases) - [Changelog](https://github.com/axios/axios/blob/v1.x/CHANGELOG.md) - [Commits](https://github.com/axios/axios/compare/v1.7.2...v1.7.4) --- updated-dependencies: - dependency-name: axios dependency-type: direct:production ... Signed-off-by: dependabot[bot] --- yarn.lock | 37 +++++++++++++++++++++++++++++++------ 1 file changed, 31 insertions(+), 6 deletions(-) diff --git a/yarn.lock b/yarn.lock index a885398b4b..d0736eed11 100644 --- a/yarn.lock +++ b/yarn.lock @@ -6474,9 +6474,9 @@ axios@^0.27.2: form-data "^4.0.0" axios@^1.0.0, axios@^1.6.0: - version "1.7.2" - resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.2.tgz#b625db8a7051fbea61c35a3cbb3a1daa7b9c7621" - integrity sha512-2A8QhOMrbomlDuiLeK9XibIBzuHeRcqqNOHp0Cyp5EoJ1IFDh+XZH3A6BkXtv0K4gFGCI0Y4BM7B1wOEi0Rmgw== + version "1.7.4" + resolved "https://registry.yarnpkg.com/axios/-/axios-1.7.4.tgz#4c8ded1b43683c8dd362973c393f3ede24052aa2" + integrity sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw== dependencies: follow-redirects "^1.15.6" form-data "^4.0.0" @@ -19611,7 +19611,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0", "string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0": version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -19629,6 +19629,15 @@ string-width@^1.0.1, string-width@^1.0.2: is-fullwidth-code-point "^1.0.0" strip-ansi "^3.0.0" +"string-width@^1.0.2 || 2 || 3 || 4", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: + version "4.2.3" + resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" + integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== + dependencies: + emoji-regex "^8.0.0" + is-fullwidth-code-point "^3.0.0" + strip-ansi "^6.0.1" + string-width@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e" @@ -19751,7 +19760,7 @@ stringify-package@^1.0.1: resolved "https://registry.yarnpkg.com/stringify-package/-/stringify-package-1.0.1.tgz#e5aa3643e7f74d0f28628b72f3dad5cecfc3ba85" integrity sha512-sa4DUQsYciMP1xhKWGuFM04fB0LG/9DlluZoSVywUMRNvzid6XucHK0/90xGxRoHrAaROrcHK1aPKaijCtSrhg== -"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -19772,6 +19781,13 @@ strip-ansi@^4.0.0: dependencies: ansi-regex "^3.0.0" +strip-ansi@^6.0.0, strip-ansi@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" + integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== + dependencies: + ansi-regex "^5.0.1" + strip-ansi@^7.0.1: version "7.1.0" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-7.1.0.tgz#d5b6568ca689d8561370b0707685d22434faff45" @@ -21586,7 +21602,7 @@ wordwrapjs@^3.0.0: reduce-flatten "^1.0.1" typical "^2.6.1" -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -21612,6 +21628,15 @@ wrap-ansi@^6.0.1, wrap-ansi@^6.2.0: string-width "^4.1.0" strip-ansi "^6.0.0" +wrap-ansi@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" + integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== + dependencies: + ansi-styles "^4.0.0" + string-width "^4.1.0" + strip-ansi "^6.0.0" + wrap-ansi@^8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-8.1.0.tgz#56dc22368ee570face1b49819975d9b9a5ead214" From 859c3407f8e815a3c1934dbc06f5ee164cee70c2 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Tue, 17 Sep 2024 21:51:19 +0000 Subject: [PATCH 47/78] chore(release): 3.6.0 [skip ci] # [@asu/app-webdir-ui-v3.6.0](https://github.com/asu/asu-unity-stack/compare/@asu/app-webdir-ui-v3.5.1...@asu/app-webdir-ui-v3.6.0) (2024-09-17) ### Bug Fixes * **app-webdir-ui:** add custom titles to courtesy affiliate search results ([53dfbe1](https://github.com/asu/asu-unity-stack/commit/53dfbe1b7846c9aad92858d620f249dace07b2de)) * **app-webdir-ui:** added prodile service class for reusability ([3387375](https://github.com/asu/asu-unity-stack/commit/33873759956fc5f1cd61700af2ad84f5bfed701f)) * **app-webdir-ui:** added student and site fallback logic ([e0a634a](https://github.com/asu/asu-unity-stack/commit/e0a634a58431c4df9a4efcd606d4a79d9097da6f)) * **app-webdir-ui:** do not retrieve full records on second search ([e49ba7d](https://github.com/asu/asu-unity-stack/commit/e49ba7d919c6f0e486ccc01e1a1eb156e16d36b4)) * **app-webdir-ui:** fix logic for web directory in dept and faculty rank types ([e5270a3](https://github.com/asu/asu-unity-stack/commit/e5270a3e4297da9ecb9773c3564b5bd29d0f3cca)) * **app-webdir-ui:** refactored title logic ([cfa4bba](https://github.com/asu/asu-unity-stack/commit/cfa4bba09ff6b6bb0231a2aebf22317ca15f0269)) * **app-webdir-ui:** remove old title logic ([7c742f0](https://github.com/asu/asu-unity-stack/commit/7c742f0350e80c6ebc6a8d702c412e3f8ac0b34a)) * **app-webdir-ui:** update logic ([d15a041](https://github.com/asu/asu-unity-stack/commit/d15a0410bc6dc9d21f5808470b1fadd755befa54)) ### Features * **app-webdir-ui:** updated title logic in directory components ([ca46602](https://github.com/asu/asu-unity-stack/commit/ca46602ce197b4e422f01c81e72629af9d0a4a0b)) --- packages/app-webdir-ui/CHANGELOG.md | 19 +++++++++++++++++++ packages/app-webdir-ui/package.json | 2 +- 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/packages/app-webdir-ui/CHANGELOG.md b/packages/app-webdir-ui/CHANGELOG.md index 570dee5fe0..0beba9835d 100644 --- a/packages/app-webdir-ui/CHANGELOG.md +++ b/packages/app-webdir-ui/CHANGELOG.md @@ -1,3 +1,22 @@ +# [@asu/app-webdir-ui-v3.6.0](https://github.com/asu/asu-unity-stack/compare/@asu/app-webdir-ui-v3.5.1...@asu/app-webdir-ui-v3.6.0) (2024-09-17) + + +### Bug Fixes + +* **app-webdir-ui:** add custom titles to courtesy affiliate search results ([53dfbe1](https://github.com/asu/asu-unity-stack/commit/53dfbe1b7846c9aad92858d620f249dace07b2de)) +* **app-webdir-ui:** added prodile service class for reusability ([3387375](https://github.com/asu/asu-unity-stack/commit/33873759956fc5f1cd61700af2ad84f5bfed701f)) +* **app-webdir-ui:** added student and site fallback logic ([e0a634a](https://github.com/asu/asu-unity-stack/commit/e0a634a58431c4df9a4efcd606d4a79d9097da6f)) +* **app-webdir-ui:** do not retrieve full records on second search ([e49ba7d](https://github.com/asu/asu-unity-stack/commit/e49ba7d919c6f0e486ccc01e1a1eb156e16d36b4)) +* **app-webdir-ui:** fix logic for web directory in dept and faculty rank types ([e5270a3](https://github.com/asu/asu-unity-stack/commit/e5270a3e4297da9ecb9773c3564b5bd29d0f3cca)) +* **app-webdir-ui:** refactored title logic ([cfa4bba](https://github.com/asu/asu-unity-stack/commit/cfa4bba09ff6b6bb0231a2aebf22317ca15f0269)) +* **app-webdir-ui:** remove old title logic ([7c742f0](https://github.com/asu/asu-unity-stack/commit/7c742f0350e80c6ebc6a8d702c412e3f8ac0b34a)) +* **app-webdir-ui:** update logic ([d15a041](https://github.com/asu/asu-unity-stack/commit/d15a0410bc6dc9d21f5808470b1fadd755befa54)) + + +### Features + +* **app-webdir-ui:** updated title logic in directory components ([ca46602](https://github.com/asu/asu-unity-stack/commit/ca46602ce197b4e422f01c81e72629af9d0a4a0b)) + # [@asu/app-webdir-ui-v3.5.1](https://github.com/asu/asu-unity-stack/compare/@asu/app-webdir-ui-v3.5.0...@asu/app-webdir-ui-v3.5.1) (2024-08-02) diff --git a/packages/app-webdir-ui/package.json b/packages/app-webdir-ui/package.json index 2d398515db..44f070ea2e 100644 --- a/packages/app-webdir-ui/package.json +++ b/packages/app-webdir-ui/package.json @@ -1,6 +1,6 @@ { "name": "@asu/app-webdir-ui", - "version": "3.5.1", + "version": "3.6.0", "description": "App Webdir UI", "main": "./dist/webdirUI.cjs.js", "browser": "./dist/webdirUI.umd.js", From 90aff3c71b24709adb90b00f507f2733f21c32dc Mon Sep 17 00:00:00 2001 From: david ornelas Date: Tue, 17 Sep 2024 16:26:03 -0700 Subject: [PATCH 48/78] fix(app-webdir-ui): retrieve token on search results list --- .../src/SearchResultsList/dataFormatter.js | 33 ++++++++++++++++--- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js index 677cd84f09..1b74d3903a 100644 --- a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js +++ b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js @@ -7,6 +7,7 @@ export class ProfileService { constructor(engine, filters) { this.engine = engine; this.filters = filters; + this._sessionTokenPromise = null; } static processURL(url) { @@ -21,16 +22,39 @@ export class ProfileService { * @memberof ProfileService * */ async fetchProfilesFromApi(profiles, fullRecords = false) { + await this.getSessionToken(); const url = ProfileService.processURL( `${this.engine.API_URL}${this.engine.searchApiVersion}/webdir-profiles/department?client=webdir` ); - const response = await axios.post(url, { - full_records: fullRecords, - profiles, - }); + const response = await axios.post( + url, + { + full_records: fullRecords, + profiles, + }, + { + headers: { + "X-CSRF-Token": this.sessionToken, + }, + } + ); return response.data; } + async getSessionToken() { + if (!this._sessionTokenPromise) { + const url = ProfileService.processURL( + `${this.engine.API_URL}/session/token` + ); + this._sessionTokenPromise = (async () => { + const response = await axios.get(url); + this.sessionToken = response.data; + return this.sessionToken; + })(); + } + return this._sessionTokenPromise; + } + async #getProfilesForSearch(filteredResults) { const profiles = filteredResults.results.map(result => ({ asurite_id: result.asurite_id.raw, @@ -77,6 +101,7 @@ export class ProfileService { if (!this.engine.doTitleLogic) { return filteredResults; } + await this.getSessionToken(); /** * If term is present, request is coming from search page */ From 8c4f27e2c36416653a444b3e3e950f7945cb2c90 Mon Sep 17 00:00:00 2001 From: mlsamuelson Date: Wed, 18 Sep 2024 08:57:37 -0700 Subject: [PATCH 49/78] fix(app-webdir-ui): fix dangling underscore linting error --- .../src/SearchResultsList/dataFormatter.js | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js index 1b74d3903a..6cbc35e8ab 100644 --- a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js +++ b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js @@ -4,10 +4,12 @@ import axios from "axios"; import { validateAndCleanURL } from "../helpers/validateUrl"; export class ProfileService { + #sessionTokenPromise; + constructor(engine, filters) { this.engine = engine; this.filters = filters; - this._sessionTokenPromise = null; + this.#sessionTokenPromise = null; } static processURL(url) { @@ -42,17 +44,17 @@ export class ProfileService { } async getSessionToken() { - if (!this._sessionTokenPromise) { + if (!this.#sessionTokenPromise) { const url = ProfileService.processURL( `${this.engine.API_URL}/session/token` ); - this._sessionTokenPromise = (async () => { + this.#sessionTokenPromise = (async () => { const response = await axios.get(url); this.sessionToken = response.data; return this.sessionToken; })(); } - return this._sessionTokenPromise; + return this.#sessionTokenPromise; } async #getProfilesForSearch(filteredResults) { From 5b4a28c72b14ddb469a4d04e52140abe826ea6a5 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 18 Sep 2024 16:25:26 +0000 Subject: [PATCH 50/78] chore(release): 3.6.1 [skip ci] # [@asu/app-webdir-ui-v3.6.1](https://github.com/asu/asu-unity-stack/compare/@asu/app-webdir-ui-v3.6.0...@asu/app-webdir-ui-v3.6.1) (2024-09-18) ### Bug Fixes * **app-webdir-ui:** fix dangling underscore linting error ([8c4f27e](https://github.com/asu/asu-unity-stack/commit/8c4f27e2c36416653a444b3e3e950f7945cb2c90)) * **app-webdir-ui:** retrieve token on search results list ([90aff3c](https://github.com/asu/asu-unity-stack/commit/90aff3c71b24709adb90b00f507f2733f21c32dc)) --- packages/app-webdir-ui/CHANGELOG.md | 8 ++++++++ packages/app-webdir-ui/package.json | 2 +- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/packages/app-webdir-ui/CHANGELOG.md b/packages/app-webdir-ui/CHANGELOG.md index 0beba9835d..43c6c2f062 100644 --- a/packages/app-webdir-ui/CHANGELOG.md +++ b/packages/app-webdir-ui/CHANGELOG.md @@ -1,3 +1,11 @@ +# [@asu/app-webdir-ui-v3.6.1](https://github.com/asu/asu-unity-stack/compare/@asu/app-webdir-ui-v3.6.0...@asu/app-webdir-ui-v3.6.1) (2024-09-18) + + +### Bug Fixes + +* **app-webdir-ui:** fix dangling underscore linting error ([8c4f27e](https://github.com/asu/asu-unity-stack/commit/8c4f27e2c36416653a444b3e3e950f7945cb2c90)) +* **app-webdir-ui:** retrieve token on search results list ([90aff3c](https://github.com/asu/asu-unity-stack/commit/90aff3c71b24709adb90b00f507f2733f21c32dc)) + # [@asu/app-webdir-ui-v3.6.0](https://github.com/asu/asu-unity-stack/compare/@asu/app-webdir-ui-v3.5.1...@asu/app-webdir-ui-v3.6.0) (2024-09-17) diff --git a/packages/app-webdir-ui/package.json b/packages/app-webdir-ui/package.json index 44f070ea2e..cffbb6b9e9 100644 --- a/packages/app-webdir-ui/package.json +++ b/packages/app-webdir-ui/package.json @@ -1,6 +1,6 @@ { "name": "@asu/app-webdir-ui", - "version": "3.6.0", + "version": "3.6.1", "description": "App Webdir UI", "main": "./dist/webdirUI.cjs.js", "browser": "./dist/webdirUI.umd.js", From b6b3450e0d9801ea9b20902c69260b3e25c39b95 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Fri, 20 Sep 2024 11:56:32 -0700 Subject: [PATCH 51/78] fix(app-webdir-ui): prevent SearchResultsList from fetching titles when there are no results --- packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js index 6cbc35e8ab..2253daa72f 100644 --- a/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js +++ b/packages/app-webdir-ui/src/SearchResultsList/dataFormatter.js @@ -100,9 +100,11 @@ export class ProfileService { * "title" and "dept_name" field to the individual results used in dataConverter.js */ async processProfiles(term, filteredResults) { - if (!this.engine.doTitleLogic) { + if (this.engine.method === "POST") return filteredResults; + if (!this.engine.doTitleLogic || filteredResults.results.length < 1) { return filteredResults; } + await this.getSessionToken(); /** * If term is present, request is coming from search page From cf50a4c2e9b613bcd52713079d217e93334748b1 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Fri, 20 Sep 2024 20:27:05 +0000 Subject: [PATCH 52/78] chore(release): 3.6.2 [skip ci] # [@asu/app-webdir-ui-v3.6.2](https://github.com/asu/asu-unity-stack/compare/@asu/app-webdir-ui-v3.6.1...@asu/app-webdir-ui-v3.6.2) (2024-09-20) ### Bug Fixes * **app-webdir-ui:** prevent SearchResultsList from fetching titles when there are no results ([b6b3450](https://github.com/asu/asu-unity-stack/commit/b6b3450e0d9801ea9b20902c69260b3e25c39b95)) --- packages/app-webdir-ui/CHANGELOG.md | 7 +++++++ packages/app-webdir-ui/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/app-webdir-ui/CHANGELOG.md b/packages/app-webdir-ui/CHANGELOG.md index 43c6c2f062..3340e1a78d 100644 --- a/packages/app-webdir-ui/CHANGELOG.md +++ b/packages/app-webdir-ui/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@asu/app-webdir-ui-v3.6.2](https://github.com/asu/asu-unity-stack/compare/@asu/app-webdir-ui-v3.6.1...@asu/app-webdir-ui-v3.6.2) (2024-09-20) + + +### Bug Fixes + +* **app-webdir-ui:** prevent SearchResultsList from fetching titles when there are no results ([b6b3450](https://github.com/asu/asu-unity-stack/commit/b6b3450e0d9801ea9b20902c69260b3e25c39b95)) + # [@asu/app-webdir-ui-v3.6.1](https://github.com/asu/asu-unity-stack/compare/@asu/app-webdir-ui-v3.6.0...@asu/app-webdir-ui-v3.6.1) (2024-09-18) diff --git a/packages/app-webdir-ui/package.json b/packages/app-webdir-ui/package.json index cffbb6b9e9..a993711214 100644 --- a/packages/app-webdir-ui/package.json +++ b/packages/app-webdir-ui/package.json @@ -1,6 +1,6 @@ { "name": "@asu/app-webdir-ui", - "version": "3.6.1", + "version": "3.6.2", "description": "App Webdir UI", "main": "./dist/webdirUI.cjs.js", "browser": "./dist/webdirUI.umd.js", From 49e29fab71c1bf1e66578f64f8901f2aa9cca205 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Mon, 23 Sep 2024 15:21:40 -0700 Subject: [PATCH 53/78] fix(unity-bootstrap-theme): fix padding in image background with cta --- .../src/scss/extends/_image-background-with-cta.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/unity-bootstrap-theme/src/scss/extends/_image-background-with-cta.scss b/packages/unity-bootstrap-theme/src/scss/extends/_image-background-with-cta.scss index 913a622265..2907704ec4 100644 --- a/packages/unity-bootstrap-theme/src/scss/extends/_image-background-with-cta.scss +++ b/packages/unity-bootstrap-theme/src/scss/extends/_image-background-with-cta.scss @@ -24,6 +24,7 @@ font: normal normal bold 2.5rem Arial; flex: 1; max-width: 784px; + padding-bottom: $uds-size-spacing-4; } } } @@ -47,7 +48,6 @@ & > span { font-size: $uds-size-font-xxl; // 2rem - margin-bottom: $uds-size-spacing-4; // 2rem max-width: 512px; } } From bc9f1bb74b2ca4f4be5b163cf5d5af748cf6bb27 Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Mon, 23 Sep 2024 23:08:50 +0000 Subject: [PATCH 54/78] chore(release): 1.14.2 [skip ci] # [@asu/unity-bootstrap-theme-v1.14.2](https://github.com/ASU/asu-unity-stack/compare/@asu/unity-bootstrap-theme-v1.14.1...@asu/unity-bootstrap-theme-v1.14.2) (2024-09-23) ### Bug Fixes * **unity-bootstrap-theme:** fix padding in image background with cta ([49e29fa](https://github.com/ASU/asu-unity-stack/commit/49e29fab71c1bf1e66578f64f8901f2aa9cca205)) --- packages/unity-bootstrap-theme/CHANGELOG.md | 7 +++++++ packages/unity-bootstrap-theme/package.json | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/packages/unity-bootstrap-theme/CHANGELOG.md b/packages/unity-bootstrap-theme/CHANGELOG.md index 503e2cec2a..d8f123f324 100644 --- a/packages/unity-bootstrap-theme/CHANGELOG.md +++ b/packages/unity-bootstrap-theme/CHANGELOG.md @@ -1,3 +1,10 @@ +# [@asu/unity-bootstrap-theme-v1.14.2](https://github.com/ASU/asu-unity-stack/compare/@asu/unity-bootstrap-theme-v1.14.1...@asu/unity-bootstrap-theme-v1.14.2) (2024-09-23) + + +### Bug Fixes + +* **unity-bootstrap-theme:** fix padding in image background with cta ([49e29fa](https://github.com/ASU/asu-unity-stack/commit/49e29fab71c1bf1e66578f64f8901f2aa9cca205)) + # [@asu/unity-bootstrap-theme-v1.14.1](https://github.com/ASU/asu-unity-stack/compare/@asu/unity-bootstrap-theme-v1.14.0...@asu/unity-bootstrap-theme-v1.14.1) (2024-09-04) diff --git a/packages/unity-bootstrap-theme/package.json b/packages/unity-bootstrap-theme/package.json index 2b80ec7ac1..9fdb40add7 100644 --- a/packages/unity-bootstrap-theme/package.json +++ b/packages/unity-bootstrap-theme/package.json @@ -1,6 +1,6 @@ { "name": "@asu/unity-bootstrap-theme", - "version": "1.14.1", + "version": "1.14.2", "description": "Base UI theme for ASU Web Standards 2.0 developed with Bootstrap 5", "author": "Mayco Barale ", "homepage": "https://github.com/ASU/asu-unity-stack#readme", From c77e682133c30bb0dae2fe87172a3136b5848f34 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Tue, 24 Sep 2024 09:41:10 -0700 Subject: [PATCH 55/78] chore(monorepo): Update git ignored files --- .gitignore | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/.gitignore b/.gitignore index 745f871a5c..8c672a20e9 100644 --- a/.gitignore +++ b/.gitignore @@ -111,3 +111,14 @@ percy-storybook # End of https://www.gitignore.io/api/node tests/__image_snapshots__/__diff_output__ + +# yarn files +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/sdks +!.yarn/versions +*.env.* +!.env.yarn.example From 2527a58c7a2c9204044df013256d1a97321d6a65 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Wed, 25 Sep 2024 10:54:18 -0700 Subject: [PATCH 56/78] feat(app-rfi): only display plan if rfiDisplay true --- .../src/components/AsuRfi/testing.stories.js | 5 +++ .../components/steps/questions/Interest2.js | 10 ++++++ .../src/core/utils/datasource-helper.js | 7 +++++ .../app-rfi/src/core/utils/fetchPrograms.js | 31 +++++++++---------- 4 files changed, 36 insertions(+), 17 deletions(-) diff --git a/packages/app-rfi/src/components/AsuRfi/testing.stories.js b/packages/app-rfi/src/components/AsuRfi/testing.stories.js index 849a135b2a..808bbc30a9 100644 --- a/packages/app-rfi/src/components/AsuRfi/testing.stories.js +++ b/packages/app-rfi/src/components/AsuRfi/testing.stories.js @@ -4,6 +4,11 @@ import { AsuRfi } from ".."; import { DATA_SOURCE, KEY } from "../../core/utils/constants"; import { defaultArgs, Template } from "./story.helper"; +/** + * Add/Remove Codes as needed that have certain behavoirs + * NHNTRBS - rfiDisplay:false - campus:ground & Online + */ + export default { title: "UDS/Testing", component: AsuRfi, diff --git a/packages/app-rfi/src/components/steps/questions/Interest2.js b/packages/app-rfi/src/components/steps/questions/Interest2.js index d8ea939189..5bebf16e17 100644 --- a/packages/app-rfi/src/components/steps/questions/Interest2.js +++ b/packages/app-rfi/src/components/steps/questions/Interest2.js @@ -28,6 +28,16 @@ export const Interest2 = ({ gaData }) => { useEffect(() => { const poiOptions = degreeDataList + .filter( + ({rfiDisplay, acadPlanKey}) => { + if (programOfInterest && programOfInterest === acadPlanKey) { + return true; + } + if (rfiDisplay) { + return true; + } + return false; + }) .filter( ({ planCategories }) => !values.Interest1 || diff --git a/packages/app-rfi/src/core/utils/datasource-helper.js b/packages/app-rfi/src/core/utils/datasource-helper.js index 4803642a84..47445763ed 100644 --- a/packages/app-rfi/src/core/utils/datasource-helper.js +++ b/packages/app-rfi/src/core/utils/datasource-helper.js @@ -12,6 +12,7 @@ * @prop {string[]} planCategories * @prop {[{strm: string, strmDescription: string}]} [applicationDeadlines] * @prop {string} title + * @prop {boolean} rfiDisplay */ import { KEY } from "./constants"; @@ -68,6 +69,9 @@ export const normalizeDegreeData = data => { // curr.acadPlanMarketingDescription string title: curr.acadPlanMarketingDescription, + + // should program be included in results + rfiDisplay: curr.rfiDisplay, }; acc.push(p); } @@ -106,6 +110,9 @@ export const normalizeDegreeData = data => { // Already formated title (BS) title: curr.title, + + // Online Api does not have this field so we are going to always set it to true + rfiDisplay: true, }; acc.push(p); } diff --git a/packages/app-rfi/src/core/utils/fetchPrograms.js b/packages/app-rfi/src/core/utils/fetchPrograms.js index db8e3c9b65..874c4294e9 100644 --- a/packages/app-rfi/src/core/utils/fetchPrograms.js +++ b/packages/app-rfi/src/core/utils/fetchPrograms.js @@ -30,6 +30,16 @@ function getServiceUrl({ let serviceUrl; let parameter = ""; + const includeFields = [ + "acadPlanMarketingDescription", + "degreeDescriptionLong", + "campusesOffered", + "planCategories", + "rfiDisplay", + "degreeType", + // "applicationDeadlines", // This can double the response size + ].map(term => `include=${term}`).join("&"); + // ASUOnline API if (Campus === KEY.ONLINE) { parameter += @@ -42,14 +52,8 @@ function getServiceUrl({ if (Interest2) { serviceUrl = - `${dataSourceDegreeSearch}/acad-plan/${Interest2}` + - `?include=acadPlanMarketingDescription` + - `&include=degreeDescriptionLong` + - `&include=campusesOffered` + - `&include=planCategories` + - `&include=degreeType` + - `&include=applicationDeadlines` + - ``; + `${dataSourceDegreeSearch}/acad-plan/${Interest2}?` + + `include=applicationDeadlines${includeFields}` return serviceUrl; } @@ -75,15 +79,8 @@ function getServiceUrl({ ); serviceUrl = - `${dataSourceDegreeSearch}/acad-plans` + - `?filter=activeInDegreeSearch` + - `${parameter}` + - `&include=acadPlanMarketingDescription` + - `&include=degreeDescriptionLong` + - `&include=campusesOffered` + - `&include=planCategories` + - `&include=degreeType` + - ``; + `${dataSourceDegreeSearch}/acad-plans?filter=activeInDegreeSearch` + + `${parameter}&${includeFields}`; return serviceUrl; } From 9f1983ad9db7dc62f94d8aa73e348b64490e9c79 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Wed, 25 Sep 2024 12:53:13 -0700 Subject: [PATCH 57/78] feat(app-rfi): rfiDisplay false renders blank --- packages/app-rfi/src/components/AsuRfi/index.js | 6 +++++- packages/app-rfi/src/core/utils/appState.js | 8 ++++++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/packages/app-rfi/src/components/AsuRfi/index.js b/packages/app-rfi/src/components/AsuRfi/index.js index fde5c421e8..2771822dc4 100644 --- a/packages/app-rfi/src/components/AsuRfi/index.js +++ b/packages/app-rfi/src/components/AsuRfi/index.js @@ -69,7 +69,11 @@ const AsuRfi = props => { } const rfiState = useRfiState(betterPropNames(props)); - window["rfiState"] = rfiState; + + if (!rfiState.showForm) { + return <>; + } + return ( { setCampusProgramHasChoice, degreeDataList, degreeData, + showForm: true, showStepButtons: true, props, formik, @@ -231,6 +232,13 @@ export const useRfiState = props => { stepNumber, }; + // ERFI-159 Do not render if a programOfInterest prop has rfiDisplay = false + // 'showForm' will allow the root '/AsuRfi/index.js` to exit before rendering + if (props.programOfInterest && !degreeData?.rfiDisplay) { + returnObject.showForm = false; + return returnObject; + } + // ERFI-58 Always show CertInfo page if prop is true if (isCertMinor) { returnObject.showStepButtons = false; From 0dfe49cfabbb9ca07290a5ccef6c47cd656d0b20 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Wed, 25 Sep 2024 14:03:01 -0700 Subject: [PATCH 58/78] feat(app-rfi): RFI form not displayed message --- packages/app-rfi/src/components/AsuRfi/index.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/app-rfi/src/components/AsuRfi/index.js b/packages/app-rfi/src/components/AsuRfi/index.js index 2771822dc4..207f924847 100644 --- a/packages/app-rfi/src/components/AsuRfi/index.js +++ b/packages/app-rfi/src/components/AsuRfi/index.js @@ -70,8 +70,14 @@ const AsuRfi = props => { const rfiState = useRfiState(betterPropNames(props)); + const noRfiAvailable = `RFI form not displayed. ${programOfInterest} has rfiDisplay set to false or does not exist`; + useEffect(() => { + if (!rfiState.showForm) { + console.log(noRfiAvailable); + } + }, [rfiState.showForm]); if (!rfiState.showForm) { - return <>; + return
    {noRfiAvailable}
    ; } return ( From 2bd498a1284dbfaf8d4fc5117a078250ce758b66 Mon Sep 17 00:00:00 2001 From: Scott Williams Date: Wed, 25 Sep 2024 14:05:20 -0700 Subject: [PATCH 59/78] need to typecheck false to make sure it is accurate --- packages/app-rfi/src/core/utils/appState.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/app-rfi/src/core/utils/appState.js b/packages/app-rfi/src/core/utils/appState.js index 2d8ec9e930..6a7e32e84c 100644 --- a/packages/app-rfi/src/core/utils/appState.js +++ b/packages/app-rfi/src/core/utils/appState.js @@ -234,7 +234,7 @@ export const useRfiState = props => { // ERFI-159 Do not render if a programOfInterest prop has rfiDisplay = false // 'showForm' will allow the root '/AsuRfi/index.js` to exit before rendering - if (props.programOfInterest && !degreeData?.rfiDisplay) { + if (props.programOfInterest && degreeData.rfiDisplay === false) { returnObject.showForm = false; return returnObject; } From 48e4873a1f9de6dbaf57f1c2e52a7225c2588fbd Mon Sep 17 00:00:00 2001 From: semantic-release-bot Date: Wed, 25 Sep 2024 22:08:43 +0000 Subject: [PATCH 60/78] chore(release): 2.4.0 [skip ci] # [@asu/app-rfi-v2.4.0](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.13...@asu/app-rfi-v2.4.0) (2024-09-25) ### Features * **app-rfi:** only display plan if rfiDisplay true ([2527a58](https://github.com/asu/asu-unity-stack/commit/2527a58c7a2c9204044df013256d1a97321d6a65)) * **app-rfi:** RFI form not displayed message ([0dfe49c](https://github.com/asu/asu-unity-stack/commit/0dfe49cfabbb9ca07290a5ccef6c47cd656d0b20)) * **app-rfi:** rfiDisplay false renders blank ([9f1983a](https://github.com/asu/asu-unity-stack/commit/9f1983ad9db7dc62f94d8aa73e348b64490e9c79)) --- packages/app-rfi/CHANGELOG.md | 9 +++++++++ packages/app-rfi/package.json | 2 +- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/packages/app-rfi/CHANGELOG.md b/packages/app-rfi/CHANGELOG.md index 268e624c97..6658560b9d 100644 --- a/packages/app-rfi/CHANGELOG.md +++ b/packages/app-rfi/CHANGELOG.md @@ -1,3 +1,12 @@ +# [@asu/app-rfi-v2.4.0](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.13...@asu/app-rfi-v2.4.0) (2024-09-25) + + +### Features + +* **app-rfi:** only display plan if rfiDisplay true ([2527a58](https://github.com/asu/asu-unity-stack/commit/2527a58c7a2c9204044df013256d1a97321d6a65)) +* **app-rfi:** RFI form not displayed message ([0dfe49c](https://github.com/asu/asu-unity-stack/commit/0dfe49cfabbb9ca07290a5ccef6c47cd656d0b20)) +* **app-rfi:** rfiDisplay false renders blank ([9f1983a](https://github.com/asu/asu-unity-stack/commit/9f1983ad9db7dc62f94d8aa73e348b64490e9c79)) + # [@asu/app-rfi-v2.3.13](https://github.com/asu/asu-unity-stack/compare/@asu/app-rfi-v2.3.12...@asu/app-rfi-v2.3.13) (2024-09-11) diff --git a/packages/app-rfi/package.json b/packages/app-rfi/package.json index 3cc15b8a7d..f66ad6e8d6 100644 --- a/packages/app-rfi/package.json +++ b/packages/app-rfi/package.json @@ -1,6 +1,6 @@ { "name": "@asu/app-rfi", - "version": "2.3.13", + "version": "2.4.0", "description": "ASU Request For Information (RFI) form", "main": "./dist/appRfi.cjs.js", "browser": "./dist/appRfi.umd.js", From 7bc6d325c55f7b8f93e4409d5bcf918855a7ed6e Mon Sep 17 00:00:00 2001 From: david ornelas Date: Tue, 1 Oct 2024 15:12:49 -0700 Subject: [PATCH 61/78] fix(component-header): fix dataLayer firing on parent dropdown click --- .../src/components/HeaderMain/NavbarContainer/NavItem/index.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/component-header/src/components/HeaderMain/NavbarContainer/NavItem/index.js b/packages/component-header/src/components/HeaderMain/NavbarContainer/NavItem/index.js index a322fdb4b5..2ae92546dd 100644 --- a/packages/component-header/src/components/HeaderMain/NavbarContainer/NavItem/index.js +++ b/packages/component-header/src/components/HeaderMain/NavbarContainer/NavItem/index.js @@ -160,6 +160,7 @@ const NavItem = ({ link, setItemOpened, itemOpened }) => { } } else if (e.type === "click" && link.items) { e.preventDefault(); + dispatchGAEvent(); setItemOpened(); } else if (e.type === "click") { dispatchGAEvent(); From 342f825c0c2732b346d9d0b4f689f4411d1e93d2 Mon Sep 17 00:00:00 2001 From: david ornelas Date: Wed, 2 Oct 2024 13:19:02 -0700 Subject: [PATCH 62/78] fix(component-header): fix all dataLayer events in header --- .../src/components/HeaderMain/Logo/index.js | 12 ++- .../NavbarContainer/DropdownItem/index.js | 1 - .../HeaderMain/NavbarContainer/index.js | 12 ++- .../components/HeaderMain/Partner/index.js | 12 ++- .../src/components/HeaderMain/Title/index.js | 24 ++++- .../components/UniversalNavbar/Login/index.js | 25 +++-- .../src/components/UniversalNavbar/index.js | 94 ++++++++++--------- 7 files changed, 119 insertions(+), 61 deletions(-) diff --git a/packages/component-header/src/components/HeaderMain/Logo/index.js b/packages/component-header/src/components/HeaderMain/Logo/index.js index de1874905f..042cd8ac5e 100644 --- a/packages/component-header/src/components/HeaderMain/Logo/index.js +++ b/packages/component-header/src/components/HeaderMain/Logo/index.js @@ -17,7 +17,17 @@ const Logo = () => { href={logo?.brandLink ?? "https://asu.edu"} className="navbar-brand" data-testid="logo" - onFocus={() => trackGAEvent({ text: "asu logo" })} + onFocus={() => + trackGAEvent({ + event: "link", + action: "click", + name: "onclick", + region: "navbar", + type: "internal link", + section: "main navbar", + text: "asu logo", + }) + } > ( href={link.href} onClick={e => handleLinkEvent(e, link)} onKeyDown={handleLinkEvent} - onFocus={() => trackGAEvent({ text: link.text, component: dropdownName })} /> ); diff --git a/packages/component-header/src/components/HeaderMain/NavbarContainer/index.js b/packages/component-header/src/components/HeaderMain/NavbarContainer/index.js index b525267e69..eedf674109 100644 --- a/packages/component-header/src/components/HeaderMain/NavbarContainer/index.js +++ b/packages/component-header/src/components/HeaderMain/NavbarContainer/index.js @@ -51,7 +51,17 @@ const NavbarContainer = () => {
    +
    +
    + +
    + + ); +}; + +ColumnSection.propTypes = { + columnIndex: PropTypes.number.isRequired, + column: shape({ + title: PropTypes.string, + links: arrayOf( + shape({ + url: PropTypes.string.isRequired, + title: PropTypes.string, + text: PropTypes.string.isRequired, + }) + ), + }), +}; + +export { ColumnSection }; diff --git a/packages/component-header-footer/src/footer/components/Contact/index.js b/packages/component-header-footer/src/footer/components/Contact/index.js new file mode 100644 index 0000000000..b5d00d7dd0 --- /dev/null +++ b/packages/component-header-footer/src/footer/components/Contact/index.js @@ -0,0 +1,79 @@ +// @ts-check +import PropTypes, { shape, arrayOf } from "prop-types"; +import React from "react"; + +import { Button } from "../../../header/components/Button"; +import { ColumnSection } from "../ColumnSection"; + +/** + * @typedef {import("../../core/models/types").Contact} Contact + * + * @param {{contact: Contact}} props + */ + +const ContactComponent = ({ + contact: { title = "", contactLink = "", contributionLink = "", columns }, +}) => { + return ( + + ); +}; + +ContactComponent.propTypes = { + contact: shape({ + title: PropTypes.string.isRequired, + contactLink: PropTypes.string.isRequired, + contributionLink: PropTypes.string, + columns: arrayOf( + shape({ + title: PropTypes.string, + links: arrayOf( + shape({ + url: PropTypes.string.isRequired, + title: PropTypes.string, + text: PropTypes.string.isRequired, + }) + ), + }) + ), + }), +}; + +export { ContactComponent}; diff --git a/packages/component-header-footer/src/footer/components/Contact/index.test.js b/packages/component-header-footer/src/footer/components/Contact/index.test.js new file mode 100644 index 0000000000..e3f8e58958 --- /dev/null +++ b/packages/component-header-footer/src/footer/components/Contact/index.test.js @@ -0,0 +1,41 @@ +/* eslint-disable react/jsx-props-no-spreading */ +/* eslint-disable jest/no-mocks-import */ +// @ts-check +import { render, cleanup } from "@testing-library/react"; +import React from "react"; + +import { ContactComponent } from "."; + +import { contactWithColumn } from "../../../../__mocks__/data/props-mock"; + +const renderContact = props => { + return render(); +}; + +describe("#Contact", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + + beforeEach(() => { + component = renderContact(contactWithColumn); + }); + afterAll(cleanup); + + it("should define component", () => { + expect(component).toBeDefined(); + }); + + it("should render contribution link", () => { + expect( + component.queryByTestId("contact-contribution-link") + ).toBeInTheDocument(); + }); + + it("should render columns", () => { + const columnsContainer = component.queryByTestId("columns-container"); + const columns = columnsContainer + ? columnsContainer.querySelectorAll(".col-xl.flex-footer.testname-column") + : []; + expect(columns.length).toBe(contactWithColumn.contact.columns.length); + }); +}); diff --git a/packages/component-header-footer/src/footer/components/Innovation/index.js b/packages/component-header-footer/src/footer/components/Innovation/index.js new file mode 100644 index 0000000000..8997f9dd6a --- /dev/null +++ b/packages/component-header-footer/src/footer/components/Innovation/index.js @@ -0,0 +1,113 @@ +// @ts-check +import React from "react"; + +import { trackGAEvent } from "../../../../../../shared"; +import innovationLogo from "../../assets/images/innovationLogo.png"; +import { FOOTER_URLS } from "../../core/constants"; + +const DEFAULT_GA_EVENT = { + type: "internal link", + section: "secondary footer", +}; + +const Innovation = () => { + return ( + + ); +}; + +export { Innovation }; diff --git a/packages/component-header-footer/src/footer/components/Legal/index.js b/packages/component-header-footer/src/footer/components/Legal/index.js new file mode 100644 index 0000000000..866ebc2ed4 --- /dev/null +++ b/packages/component-header-footer/src/footer/components/Legal/index.js @@ -0,0 +1,100 @@ +// @ts-check +import React from "react"; + +import { trackGAEvent } from "../../../../../../shared"; +import { LEGAL_URLS } from "../../core/constants"; + +const DEFAULT_GA_EVENT = { + type: "internal link", + section: "tertiary footer", +}; + +const Legal = () => { + function getURL() { + try { + const URL = window.location.href; + return URL; + } catch (error) { + console.error(error); + return ""; + } + } + + return ( + + ); +}; + +export { Legal }; diff --git a/packages/component-header-footer/src/footer/components/Social/index.js b/packages/component-header-footer/src/footer/components/Social/index.js new file mode 100644 index 0000000000..3d29164edc --- /dev/null +++ b/packages/component-header-footer/src/footer/components/Social/index.js @@ -0,0 +1,182 @@ +// @ts-check +import { + faFacebookSquare, + faInstagramSquare, + faLinkedin, + faSquareXTwitter, + faYoutubeSquare, +} from "@fortawesome/free-brands-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import PropTypes, { shape } from "prop-types"; +import React from "react"; + +// @ts-ignore +import { trackGAEvent } from "../../../../../../shared"; +import endorsedLogo from "../../assets/images/endorsedLogo.png"; + +const DEFAULT_GA_EVENT = { + type: "external link", + section: "primary footer", +}; + +/** + * @typedef {import("../../core/models/types").Social} SocialProps + */ + +/** + * @param {{ social: SocialProps }} props + * @returns {JSX.Element} + */ + +const Social = ({ social: { logoUrl, unitLogo, mediaLinks } }) => { + return ( + + ); +}; + +Social.propTypes = { + social: shape({ + unitLogo: PropTypes.string.isRequired, + mediaLinks: shape({ + facebook: PropTypes.string, + twitter: PropTypes.string, + linkedIn: PropTypes.string, + instagram: PropTypes.string, + youtube: PropTypes.string, + }), + }), +}; + +Social.defaultProps = { + social: { + unitLogo: endorsedLogo, + mediaLinks: { + facebook: "", + twitter: "", + linkedIn: "", + instagram: "", + youtube: "", + }, + }, +}; + +export { Social }; diff --git a/packages/component-header-footer/src/footer/components/Social/index.test.js b/packages/component-header-footer/src/footer/components/Social/index.test.js new file mode 100644 index 0000000000..375cf60da6 --- /dev/null +++ b/packages/component-header-footer/src/footer/components/Social/index.test.js @@ -0,0 +1,47 @@ +/* eslint-disable react/jsx-props-no-spreading */ +/* eslint-disable jest/no-mocks-import */ +// @ts-check +import { render, cleanup } from "@testing-library/react"; +import React from "react"; + +import { Social } from "."; + +import { social } from "../../../../__mocks__/data/props-mock"; + +const renderSocial = props => { + return render(); +}; + +describe("#Social", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + + beforeEach(() => { + component = renderSocial(social); + }); + afterAll(cleanup); + + it("should define component", () => { + expect(component).toBeDefined(); + }); + + const cases = [ + [`Facebook`, `facebook`], + [`Twitter`, `twitter`], + [`Instagram`, `instagram`], + [`Youtube`, `youtube`], + [`LinkedIn`, `linkedin`], + ]; + + test.each(cases)( + "should %p element be defined and be an anchor", + (_, testId) => { + const element = component.queryByTestId(testId); + expect(element).toBeInTheDocument(); + expect(element).not.toBeNull(); + if (element) { + expect(element.nodeName.toLowerCase()).toBe("a"); + } + } + ); +}); diff --git a/packages/component-header-footer/src/footer/components/index.js b/packages/component-header-footer/src/footer/components/index.js new file mode 100644 index 0000000000..439994c1ae --- /dev/null +++ b/packages/component-header-footer/src/footer/components/index.js @@ -0,0 +1,4 @@ +export * from "./Contact"; +export * from "./Innovation"; +export * from "./Legal"; +export * from "./Social"; diff --git a/packages/component-header-footer/src/footer/core/constants/index.js b/packages/component-header-footer/src/footer/core/constants/index.js new file mode 100644 index 0000000000..50713382c5 --- /dev/null +++ b/packages/component-header-footer/src/footer/core/constants/index.js @@ -0,0 +1 @@ +export * from "./urls"; diff --git a/packages/component-header-footer/src/footer/core/constants/urls.js b/packages/component-header-footer/src/footer/core/constants/urls.js new file mode 100644 index 0000000000..b0a45a4f92 --- /dev/null +++ b/packages/component-header-footer/src/footer/core/constants/urls.js @@ -0,0 +1,16 @@ +export const FOOTER_URLS = { + MAPS_AND_LOCATIONS: "https://www.asu.edu/about/locations-maps", + JOBS: "https://cfo.asu.edu/applicant", + DIRECTORY: "https://search.asu.edu/?search-tabs=web_dir_faculty_staff", + CONTACT_ASU: "https://www.asu.edu/about/contact", + MY_ASU: "https://my.asu.edu/", + RANKINGS: "https://www.asu.edu/rankings", +}; + +export const LEGAL_URLS = { + COPYRIGHT_AND_TRADEMARK: "https://www.asu.edu/about/copyright-trademark", + ACCESSIBILITY_REPORT: "https://accessibility.asu.edu/report", + PRIVACY: "https://www.asu.edu/about/privacy", + TERMS_OF_USE: "https://www.asu.edu/about/terms-of-use", + EMERGENCY: "https://www.asu.edu/emergency/", +}; diff --git a/packages/component-header-footer/src/footer/core/index.js b/packages/component-header-footer/src/footer/core/index.js new file mode 100644 index 0000000000..178cd64f81 --- /dev/null +++ b/packages/component-header-footer/src/footer/core/index.js @@ -0,0 +1 @@ +export * from "./utils"; diff --git a/packages/component-header-footer/src/footer/core/models/types.js b/packages/component-header-footer/src/footer/core/models/types.js new file mode 100644 index 0000000000..59843d21ef --- /dev/null +++ b/packages/component-header-footer/src/footer/core/models/types.js @@ -0,0 +1,48 @@ +// @ts-check + +/** + * @typedef {object} Link + * @property {string} url + * @property {string} title + * @property {string} text + */ + +/** + * @typedef {object} Column + * @property {string} title + * @property {Link[]} links + */ + +/** + * @typedef {object} Social + * @property {string} logoUrl + * @property {string} unitLogo + * @property {object} [mediaLinks] + * @property {string} [mediaLinks.facebook] + * @property {string} [mediaLinks.twitter] + * @property {string} [mediaLinks.instagram] + * @property {string} [mediaLinks.linkedIn] + * @property {string} [mediaLinks.youtube] + */ + +/** + * @typedef {object} Contact + * @property {string} title + * @property {string} contactLink + * @property {string} [contributionLink] + * @property {Column[]} [columns] + */ + +/** + * @typedef {object} ASUFooter + * @property {Social} social + * @property {Contact} contact + */ + +/** + * This helps VSCODE and JSOC to recognize the syntax + * `import(FILE_PATH).EXPORTED_THING` + * @ignore + */ + +export const JSDOC = "jsdoc"; diff --git a/packages/component-header-footer/src/footer/core/utils/index.js b/packages/component-header-footer/src/footer/core/utils/index.js new file mode 100644 index 0000000000..d4ab5634a4 --- /dev/null +++ b/packages/component-header-footer/src/footer/core/utils/index.js @@ -0,0 +1 @@ +export { initASUFooter } from "./init-footer"; diff --git a/packages/component-header-footer/src/footer/core/utils/init-footer.js b/packages/component-header-footer/src/footer/core/utils/init-footer.js new file mode 100644 index 0000000000..a3bc925c7b --- /dev/null +++ b/packages/component-header-footer/src/footer/core/utils/init-footer.js @@ -0,0 +1,25 @@ +// @ts-check +import React from "react"; +import ReactDOM from "react-dom"; + +import { ASUFooter } from "../../footer"; + +/** + * @typedef {Object} ComponentProps + * @property {string} targetSelector - The CSS selector (#id or .class) + * which identify the
    element where the footer should be either hydrated or rendered. + * @property {object} props - Properties to initialize the footer with. + * Should only be set to true if the footer has been completely rendered server-side. + */ +const RenderReact = (component, props, target) => { + ReactDOM.render(React.createElement(component, props), target); +}; + +/** + * @param {ComponentProps} props + */ +const initASUFooter = ({ targetSelector, props }) => { + RenderReact(ASUFooter, props, document.querySelector(targetSelector)); +}; + +export { initASUFooter }; diff --git a/packages/component-header-footer/src/footer/footer.js b/packages/component-header-footer/src/footer/footer.js new file mode 100644 index 0000000000..49a135e628 --- /dev/null +++ b/packages/component-header-footer/src/footer/footer.js @@ -0,0 +1,51 @@ +// @ts-check +import { shape } from "prop-types"; +import React, { useEffect } from "react"; + +import trackReactComponent from "../../../../shared/services/componentDatalayer"; +import { Social, Legal, Innovation, ContactComponent } from "./components"; +import "./_styles.scss"; + +const Base = () => { + return ( + <> + + + + ); +}; + +/** + * @param {import("./core/models/types").ASUFooter} props + * @returns {JSX.Element} + */ +const ASUFooter = ({ social, contact }) => { + useEffect(() => { + if (typeof window !== "undefined") { + trackReactComponent({ + packageName: "component-footer", + component: "Component Footer", + type: "NA", + configuration: { + social, + contact, + }, + }); + } + }, []); + + return ( +
    + {social && } + {contact && } + +
    + ); +}; + +ASUFooter.propTypes = { + social: shape(Social.propTypes), + contact: shape(ContactComponent.propTypes), +}; + +export { ASUFooter }; diff --git a/packages/component-header-footer/src/footer/footer.stories.js b/packages/component-header-footer/src/footer/footer.stories.js new file mode 100644 index 0000000000..502e715cfd --- /dev/null +++ b/packages/component-header-footer/src/footer/footer.stories.js @@ -0,0 +1,257 @@ +import React from "react"; + +// eslint-disable-next-line import/no-unresolved +import endorsedLogo from "./assets/images/endorsedLogo.png"; +import { ASUFooter } from "./footer"; + +export default { + title: "UDS/ASU Footer", + component: ASUFooter, +}; + +/* eslint-disable-next-line react/jsx-props-no-spreading */ +const Template = args => ; + +export const Default = Template.bind({}); +Default.args = {}; + +export const UnitLogo = Template.bind({}); +UnitLogo.args = { + social: { + logoUrl: "https://www.asu.edu", + unitLogo: endorsedLogo, + mediaLinks: { + facebook: "https://facebook.com", + twitter: "https://twitter.com/?lang=en", + instagram: "https://instagram.com", + linkedIn: "https://www.linkedin.com/", + youtube: "https://www.youtube.com/", + }, + }, +}; + +export const OneColumnNoLinks = Template.bind({}); +OneColumnNoLinks.args = { + contact: { + title: "No props passed should omit the button and the contact link", + }, +}; + +export const OneColumnNoLogo = Template.bind({}); +OneColumnNoLogo.args = { + contact: { + title: "Complete Name of College, School or Unit Title Should Go Here", + contactLink: "#", + contributionLink: "#", + }, +}; + +export const OneColumn = Template.bind({}); +OneColumn.args = { + ...UnitLogo.args, + ...OneColumnNoLogo.args, +}; + +export const TwoColumns = Template.bind({}); +TwoColumns.args = { + ...OneColumn.args, + contact: { + ...OneColumn.args.contact, + columns: [ + { + title: "Column Two", + links: [ + { + url: "#", + title: "link", + text: "Biological and Health Systems Computing", + }, + { + url: "#", + title: "link", + text: "Informatics and Decision Systems Electrical", + }, + { + url: "#", + title: "link", + text: "Computer and Energy Matter", + }, + { + url: "#", + title: "link", + text: "Transport and Energy Sustainability and the Built Environment", + }, + { + url: "#", + title: "link", + text: "The Polytechnic School", + }, + ], + }, + ], + }, +}; + +export const ThreeColumns = Template.bind({}); +ThreeColumns.args = { + ...TwoColumns.args, + contact: { + ...TwoColumns.args.contact, + columns: [ + ...TwoColumns.args.contact.columns, + { + title: "Column Three", + links: [ + { + url: "#", + title: "link", + text: "Biological and Health Systems Computing", + }, + { + url: "#", + title: "link", + text: "Informatics and Decision Systems Electrical", + }, + { + url: "#", + title: "link", + text: "Computer and Energy Matter", + }, + { + url: "#", + title: "link", + text: "Transport and Energy Sustainability and the Built Environment", + }, + { + url: "#", + title: "link", + text: "The Polytechnic School", + }, + ], + }, + ], + }, +}; + +export const FourColumns = Template.bind({}); +FourColumns.args = { + ...ThreeColumns.args, + contact: { + ...ThreeColumns.args.contact, + columns: [ + ...ThreeColumns.args.contact.columns, + { + title: "Column Four", + links: [ + { + url: "#", + title: "link", + text: "Biological and Health Systems Computing", + }, + { + url: "#", + title: "link", + text: "Informatics and Decision Systems Electrical", + }, + { + url: "#", + title: "link", + text: "Computer and Energy Matter", + }, + { + url: "#", + title: "link", + text: "Transport and Energy Sustainability and the Built Environment", + }, + { + url: "#", + title: "link", + text: "The Polytechnic School", + }, + ], + }, + ], + }, +}; + +const FiveColumns = Template.bind({}); +FiveColumns.args = { + ...FourColumns.args, + contact: { + ...FourColumns.args.contact, + columns: [ + ...FourColumns.args.contact.columns, + { + title: "Column Five", + links: [ + { + url: "#", + title: "link", + text: "Biological and Health Systems Computing", + }, + { + url: "#", + title: "link", + text: "Informatics and Decision Systems Electrical", + }, + { + url: "#", + title: "link", + text: "Computer and Energy Matter", + }, + { + url: "#", + title: "link", + text: "Transport and Energy Sustainability and the Built Environment", + }, + { + url: "#", + title: "link", + text: "The Polytechnic School", + }, + ], + }, + ], + }, +}; + +export const SixColumns = Template.bind({}); +SixColumns.args = { + ...FiveColumns.args, + contact: { + ...FiveColumns.args.contact, + columns: [ + ...FiveColumns.args.contact.columns, + { + title: "Column Six", + links: [ + { + url: "#", + title: "link", + text: "Biological and Health Systems Computing", + }, + { + url: "#", + title: "link", + text: "Informatics and Decision Systems Electrical", + }, + { + url: "#", + title: "link", + text: "Computer and Energy Matter", + }, + { + url: "#", + title: "link", + text: "Transport and Energy Sustainability and the Built Environment", + }, + { + url: "#", + title: "link", + text: "The Polytechnic School", + }, + ], + }, + ], + }, +}; diff --git a/packages/component-header-footer/src/footer/footer.test.js b/packages/component-header-footer/src/footer/footer.test.js new file mode 100644 index 0000000000..d60fd11662 --- /dev/null +++ b/packages/component-header-footer/src/footer/footer.test.js @@ -0,0 +1,68 @@ +/* eslint-disable react/jsx-props-no-spreading */ +/* eslint-disable jest/no-mocks-import */ +// @ts-check +import { render, cleanup } from "@testing-library/react"; +import React from "react"; + +import { ASUFooter } from "."; + +import { completeState, emptyStateFooter } from "../../__mocks__/data/props-mock"; + +const renderFooter = props => { + return render(); +}; + +describe("#ASU Footer", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + + beforeEach(() => { + component = renderFooter(completeState); + }); + afterAll(cleanup); + + it("should define component", () => { + expect(component).toBeDefined(); + }); + + const cases = [ + [`Social`, `social`], + [`Contact`, `contact`], + [`Innovation`, `innovation`], + [`Legal`, `legal`], + ]; + + test.each(cases)("should %p section be defined", (_, testId) => + expect(component.queryByTestId(testId)).toBeInTheDocument() + ); +}); + +describe("#ASU Footer without social and contact", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + + beforeEach(() => { + component = renderFooter(emptyStateFooter); + }); + afterAll(cleanup); + + it("should define component", () => { + expect(component).toBeDefined(); + }); + + const positiveCases = [ + [`Innovation`, `innovation`], + [`Legal`, `legal`], + ]; + const negativeCases = [ + [`Social`, `social`], + [`Contact`, `contact`], + ]; + + test.each(positiveCases)("should %p section be defined", (_, testId) => + expect(component.queryByTestId(testId)).toBeInTheDocument() + ); + test.each(negativeCases)("should %p section not be defined", (_, testId) => + expect(component.queryByTestId(testId)).not.toBeInTheDocument() + ); +}); diff --git a/packages/component-header-footer/src/footer/index.js b/packages/component-header-footer/src/footer/index.js new file mode 100644 index 0000000000..569582a03c --- /dev/null +++ b/packages/component-header-footer/src/footer/index.js @@ -0,0 +1,2 @@ +export { initASUFooter } from "./core"; +export { ASUFooter } from "./footer"; diff --git a/packages/component-header-footer/src/header/assets/img/arizona-state-university-logo-vertical.png b/packages/component-header-footer/src/header/assets/img/arizona-state-university-logo-vertical.png new file mode 100644 index 0000000000000000000000000000000000000000..4e516112631a986c9a09949c433d504f906a8089 GIT binary patch literal 16846 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 literal 0 HcmV?d00001 diff --git a/packages/component-header-footer/src/header/assets/img/endorsedLogo.png b/packages/component-header-footer/src/header/assets/img/endorsedLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..e8facf1da08cf2cf7b427ed97c9b0d3e1a809bb7 GIT binary patch literal 14624 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 literal 0 HcmV?d00001 diff --git a/packages/component-header-footer/src/header/assets/img/innovationLogo.png b/packages/component-header-footer/src/header/assets/img/innovationLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb41e18f05763f804262dbc25054627f352aa08 GIT binary patch literal 45316 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 literal 0 HcmV?d00001 diff --git a/packages/component-header-footer/src/header/components/Button/index.js b/packages/component-header-footer/src/header/components/Button/index.js new file mode 100644 index 0000000000..d44237f7b9 --- /dev/null +++ b/packages/component-header-footer/src/header/components/Button/index.js @@ -0,0 +1,31 @@ +// @ts-check +import React from "react"; + +import { ButtonPropTypes } from "../../core/models/app-prop-types"; +import { ButtonWrapper } from "./index.styles"; + +/** + * @typedef {import('../../core/models/types').Button} ButtonProps + */ + +/** + * @param {ButtonProps} props + * @returns {JSX.Element} + */ + +const Button = ({ href, color, text, classes, onClick, onFocus }) => { + return ( + + {text} + + ); +}; + +Button.propTypes = { ...ButtonPropTypes }; + +export { Button }; diff --git a/packages/component-header-footer/src/header/components/Button/index.styles.js b/packages/component-header-footer/src/header/components/Button/index.styles.js new file mode 100644 index 0000000000..bb59b58b54 --- /dev/null +++ b/packages/component-header-footer/src/header/components/Button/index.styles.js @@ -0,0 +1,37 @@ +import styled from "styled-components"; + +const ButtonWrapper = styled.a` + font-family: Arial, Helvetica, "Nimbus Sans L", "Liberation Sans", FreeSans, + sans-serif; + color: #191919; + padding: 0.5rem 1rem; + border-radius: 400rem; + font-weight: 700; + font-size: 0.875rem; + transition: 0.03s ease-in-out; + cursor: pointer; + & + a { + margin-left: 1rem; + } + &:hover { + transform: scale(1.05); + } + &.button-light { + background-color: #bfbfbf !important; + color: #000000 !important; + } + &.button-gold { + background-color: #ffc627 !important; + color: #000000 !important; + } + &.button-dark { + background-color: #191919 !important; + color: #ffffff !important; + } + &.button-maroon { + background-color: #8c1d40 !important; + color: #ffffff !important; + } +`; + +export { ButtonWrapper }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/Logo/index.js b/packages/component-header-footer/src/header/components/HeaderMain/Logo/index.js new file mode 100644 index 0000000000..cda72dd2aa --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/Logo/index.js @@ -0,0 +1,52 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import React from "react"; + +import { + getCurrentScriptPath, + trackGAEvent, +} from "../../../../../../../shared"; +import { useAppContext } from "../../../core/context/app-context"; +import { LogoWrapper } from "./index.styles"; + +const currentScriptPath = getCurrentScriptPath(); +console.log("currentScriptPath", currentScriptPath); +const vertLogo = `${currentScriptPath}assets/img/arizona-state-university-logo-vertical.png`; +const horizLogo = `${currentScriptPath}assets/img/arizona-state-university-logo.png`; + +const Logo = () => { + const { logo } = useAppContext(); + + return ( + trackGAEvent({ text: "asu logo" })} + > + {logo?.alt + {logo?.alt + + ); +}; + +export { Logo }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/Logo/index.styles.js b/packages/component-header-footer/src/header/components/HeaderMain/Logo/index.styles.js new file mode 100644 index 0000000000..00dde45d19 --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/Logo/index.styles.js @@ -0,0 +1,12 @@ +import styled from "styled-components"; + +const LogoWrapper = styled.a` + display: unset; + padding: 0; + margin: 0; + font-size: unset; + line-height: unset; + white-space: unset; +`; + +export { LogoWrapper }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/DropdownItem/index.js b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/DropdownItem/index.js new file mode 100644 index 0000000000..2588e80b98 --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/DropdownItem/index.js @@ -0,0 +1,174 @@ +import PropTypes from "prop-types"; +import React, { useState, useEffect, useRef } from "react"; + +import { idGenerator, trackGAEvent } from "../../../../../../../../shared"; +// eslint-disable-next-line import/no-extraneous-dependencies +import { useAppContext } from "../../../../core/context/app-context"; +import { ButtonPropTypes } from "../../../../core/models/app-prop-types"; +import { Button } from "../../../Button"; +import { DropdownWrapper } from "./index.styles"; + +/** + * @typedef { import("../../../../core/models/types").Button } Button + * @typedef {{ + * dropdownName: string + * items: [object][] + * buttons: Button[] + * classes?: string, + * listId: string + * setItemOpened: Function + * parentLink: React.RefObject | null + * }} DropdownItemProps + */ + +/** + * + * @param {DropdownItemProps} props + * @returns {JSX.Element} + */ + +const DropdownItem = ({ + dropdownName, + items, + buttons, + classes, + listId, + setItemOpened, + parentLink, +}) => { + const { breakpoint } = useAppContext(); + const isMega = items?.length > 2; + const dropdownRef = useRef(null); + const [alignedRight, setAlignedRight] = useState(false); + const MULTIPLE_SUBMENUS = items?.length > 1; + + useEffect(() => { + if (window && dropdownRef.current) { + const elPosition = dropdownRef.current.getBoundingClientRect().left; + const breakpointPosition = window.innerWidth * 0.55; + setAlignedRight(elPosition > breakpointPosition); + } + }, []); + + const stopPropagation = e => { + e.stopPropagation(); + }; + + const handleLinkFocus = e => { + stopPropagation(e); + if (e.key === "ArrowDown") { + e.preventDefault(); + const nextLink = e.target.parentElement.nextElementSibling?.firstChild; + if (nextLink) { + nextLink.focus(); + } + } else if (e.key === "ArrowUp") { + e.preventDefault(); + const prevLink = + e.target.parentElement.previousElementSibling?.firstChild; + if (prevLink) { + prevLink.focus(); + } + } else if (e.key === "Escape") { + setItemOpened(); + if (parentLink) { + parentLink.focus(); + } + } + }; + + const renderItem = (link, index) => { + const key = `${link.text}-${link.href || index}`; + if (link.type === "heading") { + return ( +

    + {link.text} +

    + ); + } + if (link.type === "button") { + return ( +
  • +
  • + ); + } + return ( +
  • + + trackGAEvent({ text: link.text, component: dropdownName }) + } + > + {link.text} + +
  • + ); + }; + + return ( + +
    + {items?.map((item, index0) => { + const genKey = idGenerator(`dropdown-item-${index0}-`); + const key = genKey.next().value; + return ( +
      + {item.map((link, index) => renderItem(link, index))} +
    + ); + })} +
    + {buttons && ( +
    +
    + {buttons.map((button, index) => ( +
    +
    + )} +
    + ); +}; + +DropdownItem.propTypes = { + dropdownName: PropTypes.string, + items: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.object)), + buttons: PropTypes.arrayOf(PropTypes.shape(ButtonPropTypes)), + classes: PropTypes.string, + listId: PropTypes.string, + setItemOpened: PropTypes.func, + parentLink: PropTypes.shape({ + focus: PropTypes.func, + }), +}; + +export { DropdownItem }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/DropdownItem/index.styles.js b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/DropdownItem/index.styles.js new file mode 100644 index 0000000000..fca47eb8b7 --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/DropdownItem/index.styles.js @@ -0,0 +1,135 @@ +import styled from "styled-components"; + +const DropdownWrapper = styled.div` + position: fixed; + background-color: #ffffff; + border: 1px solid #d0d0d0; + margin: 0; + z-index: 1031; + visibility: hidden; + white-space: normal; + &.opened { + visibility: visible; + } + &.mega { + width: 100%; + left: 0; + margin-left: 0 !important; + } + &.aligned-right:not(.mega) { + position: absolute; + right: 0; + } + > .dropdown-container { + max-width: 1200px; + margin: 0 auto; + display: flex; + justify-content: center; + padding: 2rem; + ul { + width: 16rem; + max-width: 282px; + display: flex; + flex-direction: column; + &:not(:last-child) { + padding-right: 2rem; + margin-right: 2rem; + border-right: 1px solid #d0d0d0; + } + .ul-heading { + margin-top: 0; + font-size: 1.5rem; + letter-spacing: -0.035em; + font-weight: 700; + text-align: left; + opacity: 1; + margin: 1rem 0; + line-height: calc(100% + 0.12em); + } + .nav-link { + padding: 0; + a { + width: 100%; + display: inline-block; + margin: 0.75rem 0; + position: relative; + line-height: 1rem; + color: #191919; + &:hover { + color: #8c1d40; + text-decoration: underline; + } + } + & + .nav-button { + margin-top: auto; + padding-top: 2rem; + & + .nav-button { + margin-top: 1rem; + } + } + } + } + } + .dropdown-button-container { + border-top: 1px solid #d0d0d0; + border-bottom: 1px solid #d0d0d0; + margin-top: 1rem; + > div { + max-width: 1200px; + margin: 0 auto; + display: flex; + padding: 1rem 0; + } + } + @media (max-width: ${({ breakpoint }) => breakpoint}) { + position: initial; + border: none; + max-height: unset; + visibility: visible; + display: none; + &.opened { + display: block; + } + > .dropdown-container { + max-width: 100%; + padding: 1rem 2rem; + flex-direction: column; + ul { + width: 100%; + max-width: 100%; + padding: 0 1rem; + margin-bottom: 1rem; + &:not(:last-child) { + padding-right: 1rem; + margin: 0 0 1rem 0; + border: none; + } + .ul-heading { + font-size: 1.25rem; + } + .nav-button { + padding-top: 1.5rem; + } + .nav-link { + padding: 0 1rem; + &:not(:last-child) { + border-bottom: 1px solid #d0d0d0; + } + a { + padding: 1rem 0; + margin: 0; + } + } + } + } + .dropdown-button-container { + margin-top: 0; + > div { + max-width: 100%; + padding: 1rem 3rem; + } + } + } +`; + +export { DropdownWrapper }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/NavItem/index.js b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/NavItem/index.js new file mode 100644 index 0000000000..f0bcbf34de --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/NavItem/index.js @@ -0,0 +1,222 @@ +// @ts-check +import { faChevronDown, faHome } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import PropTypes from "prop-types"; +import React, { useRef, useEffect, useMemo } from "react"; + +import { trackGAEvent } from "../../../../../../../../shared"; +import { useAppContext } from "../../../../core/context/app-context"; +import { useIsMobile } from "../../../../core/hooks/isMobile"; +import { NavTreePropTypes } from "../../../../core/models/app-prop-types"; +import { DropdownItem } from "../DropdownItem"; +import { NavItemWrapper } from "./index.styles"; + +// TODO: why did we stop using this class and should we remove +const DROPDOWN_CONTAINER_CLASS = "dropdown-container"; + +export const DROPDOWNS_GA_EVENTS = { + event: "collapse", + type: "click", +}; + +export const LINK_DEFAULT_PROPS = { + event: "link", + action: "click", + name: "onclick", + type: "internal link", + region: "navbar", + section: "main navbar", + text: "", +}; + +/** + * @param {{ children: React.ReactNode }} props + * @returns {JSX.Element} + */ + +const NavLinkIcon = ({ children }) => { + return ( + <> + {/* @ts-ignore */} + + {children} + + ); +}; + +NavLinkIcon.propTypes = { + children: PropTypes.node, +}; + +/** + * @typedef {import('../../../../core/models/types').NavTreeProps} NavTreeProps + */ + +/** + * @param {{ link: NavTreeProps, setItemOpened: Function, itemOpened: number }} props + * @returns {JSX.Element} + * + */ + +const NavItem = ({ link, setItemOpened, itemOpened }) => { + const clickRef = useRef(null); + const parentLink = useRef(null); + const opened = link.id === itemOpened; + const { breakpoint, expandOnHover, title } = useAppContext(); + const isMobile = useIsMobile(breakpoint); + + useEffect(() => { + const handleClickOutside = event => { + if (opened && !clickRef?.current?.contains(event.target)) { + setItemOpened(); + } + }; + document.addEventListener("click", handleClickOutside, true); + return () => { + document.removeEventListener("click", handleClickOutside, true); + }; + }, [opened]); + + const renderNavLinks = useMemo(() => { + if (link.type === "icon-home") { + return {link.text}; + } + return ( + + {link.text} + {!!link.items?.length && ( + + )} + + ); + }, [link]); + + const dispatchGAEvent = () => { + const isDropdown = !!link.items?.length; + const action = opened ? "close" : "open"; + const { text } = link; + trackGAEvent( + // @ts-ignore + isDropdown + ? { + ...LINK_DEFAULT_PROPS, + ...DROPDOWNS_GA_EVENTS, + action, + text, + } + : { + ...LINK_DEFAULT_PROPS, + text: link.type === "icon-home" ? "home button" : text, + } + ); + }; + + const handleKeyDown = e => { + const { key } = e; + const navigableKeys = [ + "ArrowUp", + "ArrowDown", + "ArrowLeft", + "ArrowRight", + "Enter", + " ", + "Escape", + "Click", + ]; + if (navigableKeys.includes(key)) { + e.preventDefault(); + if (key === "Escape" && opened) { + setItemOpened(); + return; + } + // Handle Enter or Space key + if (key === "Enter" || key === " ") { + if (link.items) { + if (!expandOnHover && !isMobile) { + setItemOpened(); + } else if (isMobile) { + setItemOpened(); + } + } + dispatchGAEvent(); + link.onClick?.(e); + } + if (key === "ArrowDown" || key === "ArrowRight") { + if (opened) { + const dropdownItems = document.querySelectorAll( + `.header-dropdown-${link.id} li.nav-link a` + ); + if (dropdownItems.length) { + dropdownItems[0].focus(); + } + } + } + } else if (e.type === "click" && link.items) { + e.preventDefault(); + setItemOpened(); + } + }; + + const handleOnMouseEnterLeave = () => { + if (expandOnHover && !isMobile) { + setItemOpened(); + dispatchGAEvent(); + } + }; + + return ( + + {/* @ts-ignore */} + + {renderNavLinks} + + {link.items && ( + + )} + + ); +}; + +NavItem.propTypes = { + link: NavTreePropTypes, + setItemOpened: PropTypes.func, + itemOpened: PropTypes.number, +}; + +export { NavItem }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/NavItem/index.styles.js b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/NavItem/index.styles.js new file mode 100644 index 0000000000..13e2426366 --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/NavItem/index.styles.js @@ -0,0 +1,92 @@ +import styled from "styled-components"; + +const NavItemWrapper = styled.li` + position: relative; + padding: 0; + margin: 0 0.5rem 0 0; + &:has(.open-link) > a:after, + &:hover > a:after { + width: calc(100% + 24px); + } + > a { + display: inline-block; + padding: 0.5rem 0.75rem; + line-height: 1rem; + color: #191919; + &:after { + transition: 0.5s cubic-bezier(0.19, 1, 0.19, 1); + content: ""; + display: block; + height: 0.5rem; + position: relative; + top: 0.6rem; + right: 12px; + width: 0; + background-image: linear-gradient( + to right, + transparent 0.5%, + #ffc627 0.5% + ); + } + &.nav-item-selected:after { + width: calc(100% + 24px); + } + &.nav-item { + display: block; + } + > span { + position: relative; + .chevron-icon { + transition: 0.5s cubic-bezier(0.19, 1, 0.19, 1); + margin-left: 0.5rem; + font-size: 0.75rem; + + &.open { + transform: rotate(180deg); + } + } + } + .mobile-only { + display: none; + } + } + @media (max-width: ${({ breakpoint }) => breakpoint}) { + border-bottom: 1px solid #cccccc; + margin: 0; + &:first-child { + border-top: 1px solid #cccccc; + } + &:hover > a:after { + width: 100%; + } + .icon-nav-item { + display: none; + } + > a { + padding: 1rem 2rem 0.75rem; + width: 100%; + &.open-link { + border-bottom: 1px solid #cccccc; + } + &:after { + right: 0; + top: 0.8rem; + } + &.nav-item-selected:after { + width: 100%; + } + > span { + display: flex; + justify-content: space-between; + .chevron-icon { + font-size: 1.25rem; + } + } + .mobile-only { + display: initial; + } + } + } +`; + +export { NavItemWrapper }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/index.js b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/index.js new file mode 100644 index 0000000000..eefecc7757 --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/index.js @@ -0,0 +1,67 @@ +// @ts-check +import React, { useState } from "react"; + +import { idGenerator, trackGAEvent } from "../../../../../../../shared"; +// eslint-disable-next-line import/no-extraneous-dependencies +import { useAppContext } from "../../../core/context/app-context"; +import { useIsMobile } from "../../../core/hooks/isMobile"; +import { Button } from "../../Button"; +import { UniversalNavbar } from "../../UniversalNavbar"; +import { Wrapper } from "./index.styles"; +import { NavItem } from "./NavItem"; + +const NavbarContainer = () => { + const { navTree, mobileNavTree, buttons, breakpoint } = useAppContext(); + const isMobile = useIsMobile(breakpoint); + const [itemOpened, setItemOpened] = useState(undefined); + + const handleSetItemOpened = itemId => { + setItemOpened(prev => (itemOpened === itemId ? undefined : itemId)); + }; + + const renderItem = (link, index) => { + const item = { ...link, id: index }; + const genKey = idGenerator(`${link.text}-${index}-`); + const key = genKey.next().value; + return ( + handleSetItemOpened(index)} + itemOpened={itemOpened} + /> + ); + }; + + return ( + // @ts-ignore + + {(navTree?.length || mobileNavTree?.length || buttons?.length) && ( +
    + {(navTree?.length || mobileNavTree?.length) && ( +
      + {!!mobileNavTree?.length && isMobile + ? mobileNavTree?.map((link, i) => renderItem(link, i)) + : navTree?.map((link, i) => renderItem(link, i))} +
    + )} + {!!buttons?.length && ( +
    + {buttons?.map(button => ( +
    + )} + {/* Navbar Footer */} + {isMobile && } +
    + ); +}; + +export { NavbarContainer }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/index.styles.js b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/index.styles.js new file mode 100644 index 0000000000..726822e2bf --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/index.styles.js @@ -0,0 +1,45 @@ +import styled from "styled-components"; + +const Wrapper = styled.nav` + white-space: nowrap; + > .content-container { + display: flex; + align-items: center; + justify-content: space-between; + border: none; + height: auto; + margin: inherit; + font-size: inherit; + color: inherit; + flex-direction: row; + } + .nav-list { + display: flex; + margin: 0; + } + @media (max-width: ${({ breakpoint }) => breakpoint}) { + width: 100%; + > .content-container { + flex-direction: column; + justify-content: flex-start; + overflow-y: auto; + min-height: calc(100vh - 277px); + max-height: calc(100vh - 277px); + > *:last-child { + margin-bottom: min(75px, 15vw); + } + } + .nav-list { + flex-direction: column; + width: 100%; + } + .buttons-container { + display: flex; + align-items: center; + padding: 1rem 2rem; + width: 100%; + } + } +`; + +export { Wrapper }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/index.test.js b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/index.test.js new file mode 100644 index 0000000000..2573c79cb9 --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/NavbarContainer/index.test.js @@ -0,0 +1,77 @@ +/* eslint-disable jest/no-mocks-import */ +// @ts-check +import { render, fireEvent, cleanup } from "@testing-library/react"; +import React from "react"; + +import { NavbarContainer } from "."; + +import { + defaultState, + onHoverState, +} from "../../../../../__mocks__/data/props-mock"; +import { AppContextProvider } from "../../../core/context/app-context"; + +const renderNavbarContainer = props => { + return render( + + + + ); +}; + +describe("#Navbar Container Component", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + + beforeEach(() => { + component = renderNavbarContainer(defaultState); + }); + afterAll(cleanup); + + it("should define component", () => { + expect(component).toBeDefined(); + }); + + it("should render correct amount of clickable nav items", () => { + const items = component.queryAllByTestId("nav-item"); + items?.forEach(item => { + expect(item.nodeName.toLowerCase()).toBe("a"); + }); + expect(items.length).toBe(defaultState.navTree.length); + }); + + it("should open/close dropdown", () => { + const navItem = component.queryAllByTestId("nav-item")[0]; + if (!navItem.parentElement) { + throw new Error("navItem.parentElement is null"); + } + fireEvent.click(navItem.parentElement); + setTimeout(() => { + expect(navItem.className).toContain("open-link"); + }); + fireEvent.click(navItem.parentElement); + expect(navItem.className).not.toContain("open-link"); + }); +}); + +describe("#Navbar Container Component opened/closed on hover", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + let navItems; + + beforeEach(() => { + component = renderNavbarContainer(onHoverState); + navItems = component.queryAllByTestId("nav-item"); + }); + afterAll(cleanup); + + it("should open dropdown", () => { + fireEvent.mouseEnter(navItems[0].parentElement); + expect(navItems[0].className).toContain("open-link"); + }); + it("should close dropdown", () => { + fireEvent.mouseEnter(navItems[0].parentElement); + fireEvent.mouseLeave(navItems[0].parentElement); + expect(navItems[0].className).not.toContain("open-link"); + }); +}); diff --git a/packages/component-header-footer/src/header/components/HeaderMain/Partner/index.js b/packages/component-header-footer/src/header/components/HeaderMain/Partner/index.js new file mode 100644 index 0000000000..468013ffc1 --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/Partner/index.js @@ -0,0 +1,69 @@ +/* eslint-disable import/no-extraneous-dependencies */ +import React from "react"; + +import { + getCurrentScriptPath, + trackGAEvent, +} from "../../../../../../../shared"; +// @ts-check +import { useAppContext } from "../../../core/context/app-context"; +import { PartnerLogosWrapper } from "./index.styles"; + +const currentScriptPath = getCurrentScriptPath(); +const asuVertLogo = `${currentScriptPath}assets/img/arizona-state-university-logo-vertical.png`; +const asuHorizLogo = `${currentScriptPath}assets/img/arizona-state-university-logo.png`; +const starbucksLogo = `${currentScriptPath}assets/img/asu-starbucks.png`; + +const Partner = () => { + const { partnerLogo, logo: asuLogo, breakpoint } = useAppContext(); + + return ( + // @ts-ignore + + trackGAEvent({ text: "starbucks logo" })} + > + {partnerLogo?.alt + + trackGAEvent({ text: "asu logo" })} + > + {asuLogo?.alt + {asuLogo?.alt + + + ); +}; + +export { Partner }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/Partner/index.styles.js b/packages/component-header-footer/src/header/components/HeaderMain/Partner/index.styles.js new file mode 100644 index 0000000000..fb8a061e77 --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/Partner/index.styles.js @@ -0,0 +1,61 @@ +import styled from "styled-components"; + +const PartnerLogosWrapper = styled.div` + margin: 0.5rem 0; + a { + display: inline-block; + &:not(:last-child) { + border-right: 1px solid #d0d0d0; + margin-right: 1.5rem; + padding-right: 1.5rem; + } + img { + height: 52px; + width: auto; + &.vert { + display: initial; + } + &.horiz { + display: none; + } + } + } + @media (max-width: ${({ breakpoint }) => breakpoint}) { + margin: 0.5rem 0 1rem 1rem; + a { + &:not(:last-child) { + margin-right: 1rem; + padding-right: 1rem; + } + img { + height: 32px; + width: auto; + &.vert { + display: none; + } + &.horiz { + height: 24px; + width: auto; + display: initial; + } + } + } + } + @media (max-width: 370px) { + margin: 0.5rem 0 1rem 0.5rem; + a { + &:not(:last-child) { + margin-right: 0.5rem; + padding-right: 0.5rem; + } + img { + height: 29px; + &.horiz { + height: 21px; + } + } + } + } +`; + +export { PartnerLogosWrapper }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/Title/index.js b/packages/component-header-footer/src/header/components/HeaderMain/Title/index.js new file mode 100644 index 0000000000..40dd62e791 --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/Title/index.js @@ -0,0 +1,77 @@ +// @ts-check +import React, { useEffect, useState } from "react"; + +import { trackGAEvent } from "../../../../../../../shared"; +import { useAppContext } from "../../../core/context/app-context"; +import { TitlePropTypes } from "../../../core/models/app-prop-types"; +import { checkFirstLoad } from "../../../core/utils/helpers/title"; +import { TitleWrapper } from "./index.styles"; + +const Title = () => { + const [active, setActive] = useState(false); + const { title, parentOrg, parentOrgUrl, baseUrl, breakpoint, animateTitle } = + useAppContext(); + + useEffect(() => { + if (animateTitle !== false) { + // If a custom baseUrl is passed in, it will be used to check for first page load + let root = baseUrl === "/" ? window.location.hostname : baseUrl; + // If relative baseURL given, append to the hostname for checking first page load + if (!root.includes(window.location.hostname) && root.indexOf("/") === 0) { + root = window.location.hostname + root; + } + if (checkFirstLoad(root)) { + setActive(true); + } + } + }, [active, animateTitle, baseUrl]); + + if (parentOrg) { + return ( + + trackGAEvent({ text: parentOrg })} + title={`${parentOrg} home page`} + > + {parentOrg} + + trackGAEvent({ text: title })} + title={`${title} home page`} + > + {title} + + + ); + } + return ( + + trackGAEvent({ text: title })} + title={`${title} home page`} + > + {title} + + + ); +}; + +Title.propTypes = { ...TitlePropTypes }; + +export { Title }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/Title/index.styles.js b/packages/component-header-footer/src/header/components/HeaderMain/Title/index.styles.js new file mode 100644 index 0000000000..38bc33786f --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/Title/index.styles.js @@ -0,0 +1,86 @@ +import styled from "styled-components"; + +const breakpointMap = { + "992px": "993px", + "1260px": "1261px", +}; + +const TitleWrapper = styled.div` + line-height: 1; + font-size: 1rem; + font-weight: 700; + padding: 0 2rem 1.5rem 2rem; + letter-spacing: -1px; + display: inline-block; + margin: 0; + width: max-content; + + &.active { + background-position: -200%; + } + + > .unit-name { + display: none; + } + .unit-name, + .subunit-name, + .title-subunit-name { + color: #191919; + } + + .subunit-name, + .title-subunit-name { + background-image: linear-gradient( + to right, + transparent 51%, + #ffc626 51%, + 95%, + transparent + ); + background-position: 0 0; + background-size: 200%; + display: inline-block; + transition: 0.5s cubic-bezier(0.19, 1, 0.19, 1); + transition-duration: 1.5s; + &.active { + background-position: -200%; + } + } + + @media (min-width: ${({ breakpoint }) => breakpointMap[breakpoint]}) { + line-height: 1; + font-weight: 700; + padding: 0; + margin: 1rem 0 0.5rem 0; + > .unit-name { + font-size: 1rem; + margin-bottom: 0.5rem; + display: block; + + :hover { + text-decoration: underline; + } + } + .subunit-name { + font-size: 1.5rem; + margin-bottom: 0; + display: inline-block; + + :hover { + text-decoration: underline; + } + } + .title-subunit-name { + font-size: 2rem; + font-weight: 700; + display: inline-block; + margin: 0.5rem 0 0.5rem 0; + + :hover { + text-decoration: underline; + } + } + } +`; + +export { TitleWrapper }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/index.js b/packages/component-header-footer/src/header/components/HeaderMain/index.js new file mode 100644 index 0000000000..95ed14a73e --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/index.js @@ -0,0 +1,79 @@ +// @ts-check +import { faTimes, faBars } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import React, { useState } from "react"; + +import { trackGAEvent } from "../../../../../../shared"; +import { useAppContext } from "../../core/context/app-context"; +import { useIsMobile } from "../../core/hooks/isMobile"; +import { UniversalNavbar } from "../UniversalNavbar"; +import { HeaderMainWrapper } from "./index.styles"; +import { Logo } from "./Logo"; +import { NavbarContainer } from "./NavbarContainer"; +import { Partner } from "./Partner"; +import { Title } from "./Title"; + +const HeaderMain = () => { + const { breakpoint, isPartner, hasNavigation } = useAppContext(); + const [mobileMenuOpen, setMobileMenuOpen] = useState(false); + const isMobile = useIsMobile(breakpoint); + + const handleChangeMenuVisibility = () => { + setMobileMenuOpen(prevState => !prevState); + }; + + const handleClickMobileMenu = () => { + handleChangeMenuVisibility(); + trackGAEvent({ + event: "collapse", + action: mobileMenuOpen ? "close" : "open", + type: "click", + text: "menu button tablet", + }); + }; + + return ( + <> + {!isMobile && } + {/* @ts-ignore */} + +
    +
    +
    + {!isPartner && } + +
    + {isPartner ? : } + {!isMobile && <NavbarContainer />} + </div> + {mobileMenuOpen && isMobile && <NavbarContainer />} + </div> + </div> + </div> + </HeaderMainWrapper> + </> + ); +}; + +export { HeaderMain }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/index.styles.js b/packages/component-header-footer/src/header/components/HeaderMain/index.styles.js new file mode 100644 index 0000000000..9772bd262f --- /dev/null +++ b/packages/component-header-footer/src/header/components/HeaderMain/index.styles.js @@ -0,0 +1,88 @@ +import styled from "styled-components"; + +const HeaderMainWrapper = styled.div` + background-color: #ffffff; + border-bottom: 1px solid #d0d0d0; + padding: 0 12px; + .navbar { + padding: 0; + display: flex; + align-items: flex-start; + flex-wrap: nowrap; + } + .navbar-brand { + .vert { + display: block; + height: 72px; + width: auto; + margin: 20px 1rem 20px 0; + } + .horiz { + display: none; + } + } + .navbar-toggler { + display: none; + } + .expand-title { + width: 100%; + } + @media (min-width: ${({ breakpoint }) => breakpoint}) { + .no-navigation { + margin-top: 16px; + display: flex; + align-items: center; + .title { + width: 100%; + } + } + } + @media (max-width: ${({ breakpoint }) => breakpoint}) { + padding: 0; + .navbar { + padding: 1.5rem 0 0 0; + flex-wrap: wrap; + justify-content: space-between; + &.partner { + flex-direction: row-reverse; + } + } + .partner .content-container { + min-height: calc(100vh - 240px); + } + .navbar-brand { + padding: 0; + margin: 0; + + .vert { + display: none; + } + + .horiz { + display: block; + height: 32px; + width: auto; + margin-bottom: 1rem; + margin-left: 2rem; + } + } + .navbar-toggler { + display: initial; + background: transparent; + color: #191919; + border: 0; + border-radius: 50%; + font-size: 1.25rem; + margin-right: 2rem; + padding: 0.25rem 0.45rem; + &.collapsed { + border-radius: 0; + } + } + .no-navigation + nav .buttons-container { + border-top: 1px solid #cccccc; + } + } +`; + +export { HeaderMainWrapper }; diff --git a/packages/component-header-footer/src/header/components/UniversalNavbar/Login/index.js b/packages/component-header-footer/src/header/components/UniversalNavbar/Login/index.js new file mode 100644 index 0000000000..9038e178d1 --- /dev/null +++ b/packages/component-header-footer/src/header/components/UniversalNavbar/Login/index.js @@ -0,0 +1,67 @@ +// @ts-check +import React from "react"; + +import { trackGAEvent } from "../../../../../../../shared"; +import { useAppContext } from "../../../core/context/app-context"; +import { LoginWrapper } from "./index.styles"; + +const DEFAUL_GA_EVENT = { + section: "topbar", +}; + +const Login = () => { + const { + loggedIn, + userName, + logoutLink, + loginLink, + onLoginClick, + onLogoutClick, + breakpoint, + } = useAppContext(); + + return ( + // @ts-ignore + <LoginWrapper className="nav-link login-status" breakpoint={breakpoint}> + {loggedIn ? ( + <> + {userName ? ( + <span className="name" data-testid="user-name"> + {userName} + </span> + ) : ( + "" + )} + <a + className="signout" + href={logoutLink} + onFocus={() => + trackGAEvent({ + ...DEFAUL_GA_EVENT, + text: "sign out", + }) + } + onClick={e => onLogoutClick?.(e)} + > + Sign Out + </a> + </> + ) : ( + <a + href={loginLink} + onFocus={() => + trackGAEvent({ + ...DEFAUL_GA_EVENT, + text: "sign in", + }) + } + onClick={e => onLoginClick?.(e)} + > + Sign In + </a> + )} + </LoginWrapper> + ); +}; + +export { Login }; diff --git a/packages/component-header-footer/src/header/components/UniversalNavbar/Login/index.styles.js b/packages/component-header-footer/src/header/components/UniversalNavbar/Login/index.styles.js new file mode 100644 index 0000000000..07cfcbd188 --- /dev/null +++ b/packages/component-header-footer/src/header/components/UniversalNavbar/Login/index.styles.js @@ -0,0 +1,28 @@ +import styled from "styled-components"; + +const LoginWrapper = styled.div` + display: flex; + align-items: center; + margin-right: 0.5rem; + > a { + padding: 0; + margin: 0; + color: #484848; + text-decoration: none; + } + > span.name { + font-weight: 700; + } + > a.signout:before { + content: "("; + margin-left: 4px; + } + > a.signout:after { + content: ") "; + } + @media (max-width: ${({ breakpoint }) => breakpoint}) { + width: 100%; + } +`; + +export { LoginWrapper }; diff --git a/packages/component-header-footer/src/header/components/UniversalNavbar/Login/index.test.js b/packages/component-header-footer/src/header/components/UniversalNavbar/Login/index.test.js new file mode 100644 index 0000000000..c70c5872ab --- /dev/null +++ b/packages/component-header-footer/src/header/components/UniversalNavbar/Login/index.test.js @@ -0,0 +1,56 @@ +/* eslint-disable jest/no-mocks-import */ +// @ts-check +import { render, cleanup } from "@testing-library/react"; +import React from "react"; + +import { Login } from "."; + +import { + defaultState, + defaultStateLoggedIn, +} from "../../../../../__mocks__/data/props-mock"; +import { AppContextProvider } from "../../../core/context/app-context"; + +const renderLogin = props => { + return render( + <AppContextProvider initialValue={props}> + <Login /> + </AppContextProvider> + ); +}; + +describe("#Login Component", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + + afterAll(cleanup); + + it("should define component", () => { + component = renderLogin(defaultState); + expect(component).toBeDefined(); + }); + + describe("#Logged Out", () => { + it("should render 'Sign In' button", () => { + component = renderLogin(defaultState); + const element = component.queryByText("Sign In"); + expect(element).toBeInTheDocument(); + expect(element.nodeName.toLowerCase()).toBe("a"); + expect(element.getAttribute("href")).toBeDefined(); + }); + }); + describe("#Logged In", () => { + beforeEach(() => { + component = renderLogin(defaultStateLoggedIn); + }); + it("should render 'Sign Out' button", () => { + const element = component.queryByText("Sign Out"); + expect(element).toBeInTheDocument(); + expect(element.nodeName.toLowerCase()).toBe("a"); + expect(element.getAttribute("href")).toBeDefined(); + }); + it("should render user name", () => { + expect(component.queryByTestId("user-name")).toBeInTheDocument(); + }); + }); +}); diff --git a/packages/component-header-footer/src/header/components/UniversalNavbar/Search/index.js b/packages/component-header-footer/src/header/components/UniversalNavbar/Search/index.js new file mode 100644 index 0000000000..81d4f34848 --- /dev/null +++ b/packages/component-header-footer/src/header/components/UniversalNavbar/Search/index.js @@ -0,0 +1,145 @@ +// @ts-check +import { faSearch, faTimes } from "@fortawesome/free-solid-svg-icons"; +import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; +import React, { useState, useRef, useEffect } from "react"; + +import { trackGAEvent } from "../../../../../../../shared"; +import { useAppContext } from "../../../core/context/app-context"; +import { useIsMobile } from "../../../core/hooks/isMobile"; +import { SearchWrapper } from "./index.styles"; + +const SEARCH_GA_EVENT = { + event: "search", + action: "type", + name: "onenter", + type: "main search", + region: "navbar", + section: "topbar", +}; + +const Search = () => { + const { breakpoint, searchUrl, site } = useAppContext(); + const isMobile = useIsMobile(breakpoint); + const inputRef = useRef(null); + const [open, setOpen] = useState(false); + + useEffect(() => { + if (open) inputRef.current.focus(); + }, [open]); + + const handleSearch = e => { + const form = e.target; + e.preventDefault(); + /** + * Issue: Callback not currently available + * We need to ensure dataLayer events are being logged correctly + * Soluton might be in GA4 settings with a form event targeting the element ID + * + * This solution does not guarantee the event is logged before the page + * redirects. + * Preventing form submission with arbitrary timeout is always bad, but this + * may be small enough to not degrade the experience + * + * TODO: UDS-1612 + */ + trackGAEvent({ + ...SEARCH_GA_EVENT, + text: e.target.elements.q.value, + }); + setTimeout(() => { + form.submit(); + }, 100); + }; + + const handleChangeVisibility = () => { + setOpen(prevState => { + const newState = !prevState; + + trackGAEvent({ + ...SEARCH_GA_EVENT, + event: "link", + action: "click", + name: "onclick", + text: newState ? "search icon" : "close search icon", + }); + return newState; + }); + }; + return ( + <SearchWrapper + // @ts-ignore + breakpoint={breakpoint} + action={searchUrl} + onSubmit={handleSearch} + method="get" + name="gs" + className={open ? "open-search" : ""} + data-testid="universal-nav-search-form" + > + {!isMobile ? ( + <> + <button + type="button" + aria-label="Search asu.edu" + onClick={handleChangeVisibility} + className="search-button" + data-testid="search-button" + > + <FontAwesomeIcon icon={faSearch} /> + </button> + {open && ( + <> + <input + ref={inputRef} + className="form-control" + type="search" + name="q" + aria-labelledby="header-top-search" + placeholder="Search asu.edu" + required + /> + <button + type="button" + aria-label="Search asu.edu" + onClick={handleChangeVisibility} + className="close-search" + data-testid="close-search" + > + <FontAwesomeIcon icon={faTimes} /> + </button> + </> + )} + </> + ) : ( + <label> + <FontAwesomeIcon icon={faSearch} /> + <input + ref={inputRef} + className="form-control" + type="search" + name="q" + aria-labelledby="header-top-search" + placeholder="Search asu.edu" + required + onChange={e => + trackGAEvent({ + ...SEARCH_GA_EVENT, + text: e.target.value, + }) + } + /> + </label> + )} + <input name="url_host" value={site} type="hidden" /> + <input name="site" value="default_collection" type="hidden" /> + <input name="sort" value="date:D:L:d1" type="hidden" /> + <input name="output" value="xml_no_dtd" type="hidden" /> + <input name="ie" value="UTF-8" type="hidden" /> + <input name="oe" value="UTF-8" type="hidden" /> + <input name="client" value="asu_frontend" type="hidden" /> + <input name="proxystylesheet" value="asu_frontend" type="hidden" /> + </SearchWrapper> + ); +}; + +export { Search }; diff --git a/packages/component-header-footer/src/header/components/UniversalNavbar/Search/index.styles.js b/packages/component-header-footer/src/header/components/UniversalNavbar/Search/index.styles.js new file mode 100644 index 0000000000..5542641d86 --- /dev/null +++ b/packages/component-header-footer/src/header/components/UniversalNavbar/Search/index.styles.js @@ -0,0 +1,65 @@ +import styled from "styled-components"; + +const SearchWrapper = styled.form` + button { + border: none; + background: transparent; + cursor: pointer; + } + .search-button { + transition: cubic-bezier(0.19, 1, 0.19, 1); + } + input[name="q"] { + width: 200px; + background-color: #ffffff; + border: 0; + border-radius: 0; + padding: 0.5rem 0.5rem 0.5rem 2rem; + font-weight: 400; + line-height: 1.5; + color: #495057; + border: 1px solid #707070; + margin: 0.5rem 0; + display: unset; + &:focus { + border-color: transparent; + } + } + .close-search { + background-color: #ffffff; + border: 1px solid #d0d0d0; + border-radius: 100%; + padding: 0.45rem 0.75rem; + margin-left: 0.5rem; + } + &.open-search { + margin-left: -1rem; + .search-button { + transform: translate(1.9rem); + pointer-events: none; + } + } + @media (max-width: ${({ breakpoint }) => breakpoint}) { + width: 100%; + padding: 1rem 2rem; + label { + position: relative; + font-size: 0.875rem; + margin-bottom: 0; + width: 100%; + svg { + position: absolute; + top: 50%; + left: 0.5rem; + transform: translate(0, -50%); + } + input { + width: 100%; + border: unset; + margin: 0; + } + } + } +`; + +export { SearchWrapper }; diff --git a/packages/component-header-footer/src/header/components/UniversalNavbar/Search/index.test.js b/packages/component-header-footer/src/header/components/UniversalNavbar/Search/index.test.js new file mode 100644 index 0000000000..6f78ca2fa1 --- /dev/null +++ b/packages/component-header-footer/src/header/components/UniversalNavbar/Search/index.test.js @@ -0,0 +1,46 @@ +/* eslint-disable jest/no-mocks-import */ +// @ts-check +import { render, fireEvent, cleanup } from "@testing-library/react"; +import React from "react"; + +import { Search } from "."; + +import { defaultState } from "../../../../../__mocks__/data/props-mock"; +import { AppContextProvider } from "../../../core/context/app-context"; + +const renderSearch = props => { + return render( + <AppContextProvider initialValue={props}> + <Search /> + </AppContextProvider> + ); +}; + +describe("#Search Component", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + + beforeEach(() => { + component = renderSearch(defaultState); + }); + afterAll(cleanup); + + it("should define component", () => { + expect(component).toBeDefined(); + }); + + it("should open and close the universal search field", async () => { + const searchButton = await component.findByTestId("search-button"); + fireEvent.click(searchButton); + + const searchField = await component.findByPlaceholderText("Search asu.edu"); + expect(searchField).toBeVisible(); + + const closeButton = await component.findByTestId("close-search"); + fireEvent.click(closeButton); + + const searchFieldAfterClose = + component.queryByPlaceholderText("Search asu.edu"); + expect(searchFieldAfterClose).not.toBeInTheDocument(); + }); +}); diff --git a/packages/component-header-footer/src/header/components/UniversalNavbar/index.js b/packages/component-header-footer/src/header/components/UniversalNavbar/index.js new file mode 100644 index 0000000000..400ca71987 --- /dev/null +++ b/packages/component-header-footer/src/header/components/UniversalNavbar/index.js @@ -0,0 +1,91 @@ +// @ts-check +import React from "react"; + +import { trackGAEvent } from "../../../../../../shared"; +import { useAppContext } from "../../core/context/app-context"; +import { Wrapper } from "./index.styles"; +import { Login } from "./Login"; +import { Search } from "./Search"; + +const DEFAUL_GA_EVENT = { + section: "topbar", +}; + +const UniversalNavbar = () => { + const { breakpoint } = useAppContext(); + + function getURL() { + try { + const URL = window.location.href; + return URL; + } catch (error) { + console.error(error); + return ""; + } + } + + return ( + <Wrapper + // @ts-ignore + breakpoint={breakpoint} + className="universal-nav" + data-testid="universal-navbar" + data-elastic-exclude="data-elastic-exclude" + > + <div className="container-xl"> + <div className="header-top"> + <nav className="nav" aria-label="ASU Global"> + <div className="links-container"> + <a + className="nav-link visually-hidden-focusable" + href="#skip-to-content" + > + Skip to main content + </a> + <a + className="nav-link visually-hidden-focusable" + href={`https://accessibility.asu.edu/report?a11yref=${getURL()}`} + > + Report an accessibility problem + </a> + <a + className="nav-link" + href="https://asu.edu" + onFocus={() => + trackGAEvent({ ...DEFAUL_GA_EVENT, text: "asu home" }) + } + > + ASU Home + </a> + <a + className="nav-link" + href="https://my.asu.edu" + onFocus={() => + trackGAEvent({ ...DEFAUL_GA_EVENT, text: "my asu" }) + } + > + My ASU + </a> + <a + className="nav-link" + href="https://www.asu.edu/academics/colleges-schools" + onFocus={() => + trackGAEvent({ + ...DEFAUL_GA_EVENT, + text: "colleges and schools", + }) + } + > + Colleges and Schools + </a> + <Login /> + </div> + <Search /> + </nav> + </div> + </div> + </Wrapper> + ); +}; + +export { UniversalNavbar }; diff --git a/packages/component-header-footer/src/header/components/UniversalNavbar/index.styles.js b/packages/component-header-footer/src/header/components/UniversalNavbar/index.styles.js new file mode 100644 index 0000000000..5d19056cd4 --- /dev/null +++ b/packages/component-header-footer/src/header/components/UniversalNavbar/index.styles.js @@ -0,0 +1,94 @@ +import styled from "styled-components"; + +const Wrapper = styled.div` + background-color: #e8e8e8; + min-height: 24px; + transition: 0.5s cubic-bezier(0.19, 1, 0.19, 1); + .header-top { + height: 100%; + .nav { + height: 100%; + display: flex; + justify-content: flex-end; + align-items: center; + .links-container { + display: flex; + .nav-link { + color: #484848; + font-size: 0.75rem; + line-height: 0.75rem; + padding: 0.25rem 0.5rem; + margin-right: 0.5rem; + white-space: nowrap; + text-decoration: none; + + &:hover { + text-decoration: underline; + } + + &.visually-hidden-focusable:not(:focus):not(:active) { + clip: rect(0 0 0 0); + clip-path: inset(100%); + height: 1px; + overflow: hidden; + position: absolute; + white-space: nowrap; + width: 1px; + } + } + } + } + } + @media (max-width: ${({ breakpoint }) => breakpoint}) { + width: 100%; + min-height: auto; + position: relative; + &:before { + content: ""; + width: 100%; + height: 50px; + position: absolute; + top: -50px; + border-bottom: 1px solid #d0d0d0; + background: linear-gradient( + 180deg, + rgba(232, 232, 232, 0) 0%, + rgba(232, 232, 232, 1) 100% + ); + } + .header-top { + width: 100%; + .nav { + width: 100%; + height: 100%; + display: flex; + justify-content: flex-start; + align-items: center; + flex-direction: column-reverse; + .links-container { + display: grid; + grid-template-columns: 1fr 1fr; + grid-auto-flow: row; + justify-items: start; + width: 100%; + .nav-link { + white-space: normal; + color: #191919; + margin-right: 0; + text-align: center; + width: 100%; + font-size: 0.875rem; + padding: 1rem 1.5rem; + border-top: 1px solid #d0d0d0; + justify-content: center; + &:nth-child(even) { + border-left: 1px solid #d0d0d0; + } + } + } + } + } + } +`; + +export { Wrapper }; diff --git a/packages/component-header-footer/src/header/core/context/app-context.js b/packages/component-header-footer/src/header/core/context/app-context.js new file mode 100644 index 0000000000..fb6ea5dd06 --- /dev/null +++ b/packages/component-header-footer/src/header/core/context/app-context.js @@ -0,0 +1,32 @@ +import PropTypes from "prop-types"; +import React, { createContext, useContext } from "react"; + +import { HeaderPropTypes } from "../models/app-prop-types"; + +const breakpoints = { Lg: "992px", Xl: "1260px" }; + +const AppContext = createContext(); + +const AppContextProvider = ({ initialValue, children }) => { + const value = { + ...initialValue, + breakpoint: breakpoints[initialValue.breakpoint], + }; + + return <AppContext.Provider value={value}>{children}</AppContext.Provider>; +}; + +AppContextProvider.propTypes = { + initialValue: PropTypes.shape(HeaderPropTypes).isRequired, + children: PropTypes.node.isRequired, +}; + +const useAppContext = () => { + const context = useContext(AppContext); + if (context === undefined) { + throw new Error("useAppContext must be used within a AppContextProvider"); + } + return context; +}; + +export { AppContextProvider, useAppContext }; diff --git a/packages/component-header-footer/src/header/core/hooks/isMobile.js b/packages/component-header-footer/src/header/core/hooks/isMobile.js new file mode 100644 index 0000000000..075b3946a7 --- /dev/null +++ b/packages/component-header-footer/src/header/core/hooks/isMobile.js @@ -0,0 +1,24 @@ +// @ts-check +import { useState, useEffect } from "react"; + +/** + * @param {string} breakpoint // String breakpoint with "px" + */ + +const useIsMobile = breakpoint => { + const isMobileQuery = window?.matchMedia(`(max-width: ${breakpoint})`); + const [isMobile, setIsMobile] = useState(isMobileQuery?.matches); + + const setMobile = e => { + setIsMobile(e.matches); + }; + + useEffect(() => { + isMobileQuery.addEventListener("change", setMobile); + return () => isMobileQuery.removeEventListener("change", setMobile); + }, []); + + return isMobile; +}; + +export { useIsMobile }; diff --git a/packages/component-header-footer/src/header/core/models/app-prop-types.js b/packages/component-header-footer/src/header/core/models/app-prop-types.js new file mode 100644 index 0000000000..e7125c8525 --- /dev/null +++ b/packages/component-header-footer/src/header/core/models/app-prop-types.js @@ -0,0 +1,79 @@ +// @ts-check +import PropTypes from "prop-types"; + +const LogoPropTypes = { + alt: PropTypes.string, + title: PropTypes.string, + src: PropTypes.string, + mobileSrc: PropTypes.string, + brandLink: PropTypes.string, +}; + +const TitlePropTypes = { + baseUrl: PropTypes.string, + parentOrg: PropTypes.string, + parentOrgUrl: PropTypes.string, + animate: PropTypes.bool, +}; + +const LoginPropTypes = { + loggedIn: PropTypes.bool, + loginLink: PropTypes.string, + logoutLink: PropTypes.string, + userName: PropTypes.string, +}; + +const ButtonPropTypes = { + text: PropTypes.string.isRequired, + color: PropTypes.oneOf(["gold", "maroon", "light", "dark"]), + href: PropTypes.string.isRequired, + classes: PropTypes.string, + onClick: PropTypes.func, + onFocus: PropTypes.func, +}; + +const NavTreePropTypes = PropTypes.shape({ + id: PropTypes.number, + href: PropTypes.string, + text: PropTypes.string, + type: PropTypes.string, + selected: PropTypes.bool, + items: PropTypes.arrayOf(PropTypes.arrayOf(PropTypes.object)), + buttons: PropTypes.arrayOf(PropTypes.shape(ButtonPropTypes)), + class: PropTypes.string, +}); + +const HeaderPropTypes = { + isPartner: PropTypes.bool, + navTree: PropTypes.arrayOf(NavTreePropTypes), + partnerLogo: PropTypes.shape(LogoPropTypes), + logo: PropTypes.shape(LogoPropTypes), + title: PropTypes.string, + parentOrg: TitlePropTypes.parentOrg, + parentOrgUrl: TitlePropTypes.parentOrgUrl, + baseUrl: TitlePropTypes.baseUrl, + loggedIn: LoginPropTypes.loggedIn, + userName: LoginPropTypes.userName, + loginLink: LoginPropTypes.loginLink, + onLoginClick: PropTypes.func, + logoutLink: LoginPropTypes.logoutLink, + onLogoutClick: PropTypes.func, + buttons: PropTypes.arrayOf(PropTypes.shape(ButtonPropTypes)), + breakpoint: PropTypes.oneOf(["Lg", "Xl"]), + animateTitle: PropTypes.bool, + expandOnHover: PropTypes.bool, + mobileNavTree: PropTypes.arrayOf(NavTreePropTypes), + hasNavigation: PropTypes.bool, + searchUrl: PropTypes.string, + site: PropTypes.string, + renderDiv: PropTypes.oneOf(["true", "false"]), +}; + +export { + HeaderPropTypes, + LoginPropTypes, + LogoPropTypes, + TitlePropTypes, + ButtonPropTypes, + NavTreePropTypes, +}; diff --git a/packages/component-header-footer/src/header/core/models/types.js b/packages/component-header-footer/src/header/core/models/types.js new file mode 100644 index 0000000000..35b62497a9 --- /dev/null +++ b/packages/component-header-footer/src/header/core/models/types.js @@ -0,0 +1,63 @@ +// @ts-check + +// @ts-check + +/** + * @typedef {object} Logo + * @property {string} alt + * @property {string} title + * @property {string} src + * @property {string} mobileSrc + * @property {string} brandLink + */ + +/** + * @typedef {object} Button + * @property {string} href + * @property {("gold"|"maroon"|"light"|"dark")} [color] + * @property {string} text + * @property {string} [classes] + * @property {function} [onClick] + * @property {function} [onFocus] + */ + +/** + * @typedef {object} NavTreeProps + * @property {number} id + * @property {string} [href] + * @property {string} [text] + * @property {string} [type] + * @property {boolean} [selected] + * @property {object[]} [items] + * @property {Button[]} [buttons] + * @property {string} [class] + * @property {function} [onClick] + */ + +/** + * @typedef {object} HeaderProps + * @property {boolean} isPartner + * @property {NavTreeProps[]} navTree + * @property {string} [title] + * @property {string} [baseUrl] + * @property {string} [parentOrg] + * @property {string} [parentOrgUrl] + * @property {Logo} partnerLogo + * @property {Logo} logo + * @property {boolean} loggedIn + * @property {string} userName + * @property {string} loginLink + * @property {function} [onLoginClick] + * @property {string} logoutLink + * @property {function} [onLogoutClick] + * @property {Button[]} buttons + * @property {("Lg"|"Xl")} breakpoint + * @property {boolean} animateTitle + * @property {boolean} expandOnHover + * @property {NavTreeProps[]} mobileNavTree + * @property {string} searchUrl + * @property {string} site + * @property {string} renderDiv - Can be either "true" or "false". + */ + +export const JSDOC = "jsdoc"; diff --git a/packages/component-header-footer/src/header/core/utils/data-mock.js b/packages/component-header-footer/src/header/core/utils/data-mock.js new file mode 100644 index 0000000000..7f996155c4 --- /dev/null +++ b/packages/component-header-footer/src/header/core/utils/data-mock.js @@ -0,0 +1,867 @@ +// @ts-check + +const basicNavTree = [ + { + href: "/", + text: "Home", + type: "icon-home", + selected: true, + class: "test-class", + }, + { + text: "Link option 1", + href: "#", + items: [ + [ + { + href: "https://www.asu.edu", + text: "Sublink 1", + }, + { + href: "https://www.asu.edu", + text: "Sublink 2", + }, + { + href: "https://www.asu.edu", + text: "Sublink 3", + }, + { + href: "https://www.asu.edu", + text: "Sublink 4", + }, + { + href: "https://www.asu.edu", + text: "Sublink 5", + }, + { + href: "https://www.asu.edu", + text: "Sublink 6", + }, + { + href: "https://www.asu.edu", + text: "Sublink 7", + }, + { + href: "https://www.asu.edu", + text: "Sublink 8", + }, + ], + ], + }, + + { + text: "Link option 2", + href: "#", + items: [ + [ + { + classes: "border first", + href: "https://www.asu.edu", + text: "Sublink 1", + }, + { + href: "https://campus.asu.edu", + text: "Sublink 2", + }, + { + href: "https://campus.asu.edu", + text: "Sublink 3", + }, + { + href: "https://campus.asu.edu", + text: "Sublink 4", + }, + { + href: "https://asuonline.asu.edu/", + text: "Sublink 5", + }, + { + href: "https://havasu.asu.edu/", + text: "Sublink 6", + }, + ], + ], + }, + { + text: "Link option 3", + href: "#", + }, + { + text: "Link option 4", + href: "#", + }, + { + text: "Link option 5", + href: "#", + }, + { + text: "Link option 6", + href: "#", + onClick: () => { + alert("On Click Callback"); + }, + }, + { + text: "Link option 7", + href: "/", + items: [ + [ + { + type: "heading", + text: "Column One", + }, + { + href: "https://www.asu.edu/", + text: "Pellentesque ornare", + }, + { + href: "https://www.asu.edu/", + text: "Curabitur viverra arcu nisl", + }, + { + href: "https://www.asu.edu/?feature=athletics", + text: "Aenean pharetra", + }, + { + href: "https://www.asu.edu/?feature=alumni", + text: "Pellentesque", + }, + { + href: "https://www.asu.edu/?feature=giving", + text: "Donec sagittis nulla", + }, + { + href: "https://www.asu.edu/?feature=president", + text: "Quisque fringilla", + }, + { + href: "https://www.asu.edu/about", + text: "Integer vel gravida lectus", + }, + ], + [ + { + href: "https://www.asu.edu/?feature=newsevents", + type: "heading", + text: "Column two", + }, + { + href: "https://www.asu.edu/?feature=academics", + text: "Nunc in libero odio", + }, + { + href: "https://www.asu.edu/?feature=research", + text: "Maecenas quam elit", + }, + { + href: "https://www.asu.edu/?feature=academics", + text: "Ut at vehicula neque", + }, + { + href: "https://www.asu.edu/?feature=athletics", + type: "button", + text: "Sed molestie", + }, + ], + ], + }, + { + text: "Link option 8", + href: "/", + items: [ + [ + { + type: "heading", + text: "Column One", + }, + { + href: "https://www.asu.edu/", + text: "Pellentesque ornare", + }, + { + href: "https://www.asu.edu/", + text: "Curabitur viverra arcu nisl", + }, + { + href: "https://www.asu.edu/?feature=athletics", + text: "Aenean pharetra", + }, + { + href: "https://www.asu.edu/?feature=alumni", + text: "Pellentesque", + }, + { + href: "https://www.asu.edu/?feature=giving", + text: "Donec sagittis nulla", + }, + { + href: "https://www.asu.edu/?feature=president", + text: "Quisque fringilla", + }, + { + href: "https://www.asu.edu/about", + text: "Integer vel gravida lectus", + }, + ], + [ + { + href: "https://www.asu.edu/?feature=newsevents", + type: "heading", + text: "Column two", + }, + { + href: "https://www.asu.edu/?feature=academics", + text: "Nunc in libero odio", + }, + { + href: "https://www.asu.edu/?feature=research", + text: "Maecenas quam elit", + }, + { + href: "https://www.asu.edu/?feature=academics", + text: "Ut at vehicula neque", + }, + { + href: "https://www.asu.edu/?feature=athletics", + type: "button", + text: "Sed molestie", + }, + ], + ], + }, +]; + +const navTreeWithButtons = [ + { + href: "/", + text: "Home", + type: "icon-home", + class: "home", + }, + { + text: "Link option 1", + href: "#", + items: [ + [ + { + href: "https://www.asu.edu", + text: "Sublink 1", + }, + { + href: "https://www.asu.edu", + text: "Sublink 2", + }, + { + href: "https://www.asu.edu", + text: "Sublink 3", + }, + { + href: "https://www.asu.edu", + text: "Sublink 4", + }, + { + href: "https://www.asu.edu", + text: "Sublink 5", + }, + { + href: "https://www.asu.edu", + text: "Sublink 6", + }, + { + href: "https://www.asu.edu", + text: "Sublink 7", + }, + { + href: "https://www.asu.edu", + text: "Sublink 8", + }, + ], + ], + }, + { + text: "Link option 2", + href: "#", + selected: true, + }, + { + text: "Link option 3", + href: "#", + items: [ + [ + { + classes: "border first", + href: "https://www.asu.edu", + text: "Sublink 1", + }, + { + href: "https://campus.asu.edu/", + text: "Sublink 2", + }, + { + href: "https://campus.asu.edu/", + text: "Sublink 3", + }, + { + href: "https://campus.asu.edu/", + text: "Sublink 4", + }, + { + href: "https://campus.asu.edu/", + text: "Sublink 5", + }, + { + href: "https://asuonline.asu.edu/", + text: "Sublink 6", + }, + ], + ], + }, + { + text: "Link option 4", + href: "#", + }, +]; + +const navTreeMega = [ + { + href: "/", + text: "Home", + type: "icon-home", + class: "home", + }, + { + text: "Link option 1", + href: "#", + }, + { + text: "Link option 2", + href: "/", + items: [ + [ + { + href: "https://www.asu.edu/", + text: "A test navigation item", + }, + { + href: "https://www.asu.edu/", + text: "Mauris viverra, sem nec", + }, + { + href: "https://www.asu.edu/?feature=athletics", + text: "Massa nunc dictum nam venenatis", + }, + { + href: "https://www.asu.edu/?feature=alumni", + text: "Alumni", + }, + { + href: "https://www.asu.edu/?feature=giving", + text: "Giving", + }, + { + href: "https://www.asu.edu/?feature=president", + text: "President", + }, + { + href: "https://www.asu.edu/about", + text: "About ASU", + }, + ], + ], + }, + { + text: "Link option 3", + href: "/", + items: [ + [ + { + type: "heading", + text: "Column One", + }, + { + href: "https://www.asu.edu/", + text: "Pellentesque ornare", + }, + { + href: "https://www.asu.edu/", + text: "Curabitur viverra arcu nisl", + }, + { + href: "https://www.asu.edu/?feature=athletics", + text: "Aenean pharetra", + }, + { + href: "https://www.asu.edu/?feature=alumni", + text: "Pellentesque", + }, + { + href: "https://www.asu.edu/?feature=giving", + text: "Donec sagittis nulla", + }, + { + href: "https://www.asu.edu/?feature=president", + text: "Quisque fringilla", + }, + { + href: "https://www.asu.edu/about", + text: "Integer vel gravida lectus", + }, + ], + [ + { + href: "https://www.asu.edu/?feature=newsevents", + type: "heading", + text: "Column two", + }, + { + href: "https://www.asu.edu/?feature=academics", + text: "Nunc in libero odio", + }, + { + href: "https://www.asu.edu/?feature=research", + text: "Maecenas quam elit", + }, + { + href: "https://www.asu.edu/?feature=academics", + text: "Ut at vehicula neque", + }, + { + href: "https://www.asu.edu/?feature=athletics", + type: "button", + text: "Sed molestie", + }, + ], + ], + }, + { + text: "Link option 4", + href: "#", + items: [ + [ + { + href: "https://asuonline.asu.edu/", + type: "heading", + text: "Column one", + }, + { + href: "https://havasu.asu.edu/", + text: "Curabitur viverra arcu nisl", + }, + { + href: "https://www.thunderbird.edu/about-thunderbird/locations/phoenix-arizona", + classes: "border", + text: "Thunderbird", + }, + { + href: "https://skysong.asu.edu/", + text: "Skysong", + }, + { + href: "https://asuresearchpark.com/", + text: "Research Park", + }, + { + href: "https://washingtoncenter.asu.edu/", + text: "Washington D.C.", + }, + { + href: "https://wpcarey.asu.edu/mba/china-program/english/", + text: "China", + }, + ], + [ + { + href: "https://asuonline.asu.edu/", + type: "heading", + text: "Column two", + }, + { + classes: "border first", + href: "https://www.asu.edu/map/", + text: "Phasellus egestas nec est ", + }, + { + href: "https://campus.asu.edu/tempe/", + text: "Pellentesque et mollis", + }, + { + href: "https://campus.asu.edu/west/", + text: "Cras congue", + }, + { + href: "https://campus.asu.edu/polytechnic/", + text: "Cras ut malesuada nisl", + }, + { + href: "https://campus.asu.edu/downtown/", + type: "button", + text: "Downtown Phoenix", + }, + ], + [ + { + href: "https://asuonline.asu.edu/", + type: "heading", + text: "Column three", + }, + { + classes: "border first", + href: "https://www.asu.edu/map/", + text: "Map", + }, + { + href: "https://campus.asu.edu/tempe/", + text: "Tempe", + }, + { + href: "https://campus.asu.edu/west/", + text: "West", + }, + { + href: "https://campus.asu.edu/polytechnic/", + text: "Polytechnic", + }, + { + href: "https://campus.asu.edu/downtown/", + type: "button", + text: "Downtown Phoenix", + }, + ], + ], + }, + { + text: "Link option 5", + href: "#", + items: [ + [ + { + href: "https://asuonline.asu.edu/", + type: "heading", + text: "Column One", + }, + { + href: "https://havasu.asu.edu/", + text: "Lake Havasu", + }, + { + href: "https://www.thunderbird.edu/about-thunderbird/locations/phoenix-arizona", + classes: "border", + text: "Thunderbird", + }, + { + href: "https://skysong.asu.edu/", + text: "Skysong", + }, + { + href: "https://asuresearchpark.com/", + text: "Research Park", + }, + { + href: "https://washingtoncenter.asu.edu/", + text: "Washington D.C.", + }, + { + href: "https://wpcarey.asu.edu/mba/china-program/english/", + text: "China", + }, + ], + [ + { + href: "https://asuonline.asu.edu/", + type: "heading", + text: "Column two", + }, + { + classes: "border first", + href: "https://www.asu.edu/map/", + text: "Faculty and Staff Directory", + }, + { + href: "https://campus.asu.edu/tempe/", + text: "The Tempe Campus", + }, + { + href: "https://campus.asu.edu/west/", + text: "Sun Devils and Things", + }, + { + href: "https://campus.asu.edu/polytechnic/", + text: "Another nav link", + }, + { + href: "https://campus.asu.edu/downtown/", + type: "button", + text: "Action", + }, + ], + [ + { + href: "https://asuonline.asu.edu/", + type: "heading", + text: "Column three", + }, + { + classes: "border first", + href: "https://www.asu.edu/map/", + text: "University Technology Office", + }, + { + href: "https://campus.asu.edu/tempe/", + text: "Sun Devil Football", + }, + { + href: "https://campus.asu.edu/west/", + text: "The School of Something", + }, + { + href: "https://campus.asu.edu/polytechnic/", + text: "Polytechnic", + }, + { + href: "https://campus.asu.edu/downtown/", + type: "button", + text: "Another Button", + }, + ], + [ + { + href: "https://asuonline.asu.edu/", + type: "heading", + text: "Column four", + }, + { + classes: "border first", + href: "https://www.asu.edu/map/", + text: "Maps and Directions", + }, + { + href: "https://campus.asu.edu/tempe/", + text: "Office of the technology", + }, + { + href: "https://campus.asu.edu/west/", + text: "Office of the business", + }, + { + href: "https://campus.asu.edu/polytechnic/", + text: "Some longer text office of longtext", + }, + { + href: "https://campus.asu.edu/downtown/", + type: "button", + text: "Downtown Phoenix", + }, + ], + ], + }, + { + text: "Link option 6", + href: "#", + buttons: [ + { + text: "CTA One", + href: "https://asu.edu", + color: "maroon", + }, + { + text: "CTA Two", + href: "https://asu.edu", + color: "gold", + }, + ], + items: [ + [ + { + href: "https://asuonline.asu.edu/", + type: "heading", + text: "Column One", + }, + { + href: "https://havasu.asu.edu/", + text: "The Lake Havasu Campus", + }, + { + href: "https://www.thunderbird.edu/about-thunderbird/locations/phoenix-arizona", + classes: "border", + text: "Thunderbird", + }, + { + href: "https://skysong.asu.edu/", + text: "Skysong", + }, + { + href: "https://asuresearchpark.com/", + text: "Research Park", + }, + { + href: "https://washingtoncenter.asu.edu/", + text: "Washington D.C.", + }, + { + href: "https://wpcarey.asu.edu/mba/china-program/english/", + text: "China", + }, + { + href: "https://campus.asu.edu/downtown/", + type: "button", + text: "Call to Action", + }, + ], + [ + { + href: "https://asuonline.asu.edu/", + type: "heading", + text: "Column two", + }, + { + classes: "border first", + href: "https://www.asu.edu/map/", + text: "Faculty and Staff Directory", + }, + { + href: "https://campus.asu.edu/tempe/", + text: "The Tempe Campus", + }, + { + href: "https://campus.asu.edu/west/", + text: "Sun Devils and Things", + }, + { + href: "https://campus.asu.edu/polytechnic/", + text: "Another nav link", + }, + { + href: "https://campus.asu.edu/downtown/", + type: "button", + text: "Action Button", + }, + ], + [ + { + href: "https://asuonline.asu.edu/", + type: "heading", + text: "Column three", + }, + { + classes: "border first", + href: "https://www.asu.edu/map/", + text: "University Technology Office", + }, + { + href: "https://campus.asu.edu/tempe/", + text: "Sun Devil Football", + }, + { + href: "https://campus.asu.edu/west/", + text: "The School of Something", + }, + { + href: "https://campus.asu.edu/polytechnic/", + text: "Polytechnic", + }, + { + href: "https://campus.asu.edu/downtown/", + type: "button", + text: "Another Button", + }, + ], + [ + { + href: "https://asuonline.asu.edu/", + type: "heading", + text: "Column four", + }, + { + classes: "border first", + href: "https://www.asu.edu/map/", + text: "Maps and Directions", + }, + { + href: "https://campus.asu.edu/tempe/", + text: "Office of the technology", + }, + { + href: "https://campus.asu.edu/west/", + text: "Office of the business", + }, + { + href: "https://campus.asu.edu/polytechnic/", + text: "Some longer text office of longtext", + }, + { + href: "https://campus.asu.edu/downtown/", + type: "button", + text: "Downtown Phoenix", + }, + ], + [ + { + href: "https://asuonline.asu.edu/", + type: "heading", + text: "Column Five", + }, + { + classes: "border first", + href: "https://www.asu.edu/map/", + text: "Buildings and directory", + }, + { + href: "https://campus.asu.edu/tempe/", + text: "Some good news", + }, + { + href: "https://campus.asu.edu/west/", + selected: true, + text: "Directory Admin Tools", + }, + ], + ], + }, +]; + +const mobileNavTree = [ + { + href: "/", + text: "This", + type: "icon-home", + class: "home", + selected: true, + }, + { + text: "Link option 1", + href: "https://webapp4.asu.edu/myasu/", + }, + { + text: "Link option 2", + href: "/", + items: [ + [ + { + type: "heading", + text: "Column One", + }, + { + href: "https://www.asu.edu/", + text: "Pellentesque ornare", + }, + { + href: "https://www.asu.edu/", + text: "Curabitur viverra arcu nisl", + }, + ], + [ + { + href: "https://www.asu.edu/?feature=newsevents", + type: "heading", + text: "Column Two", + }, + { + href: "https://www.asu.edu/?feature=academics", + text: "Nunc in libero odio", + }, + ], + ], + }, +]; + +export { basicNavTree, navTreeWithButtons, navTreeMega, mobileNavTree }; diff --git a/packages/component-header-footer/src/header/core/utils/helpers/active-page.js b/packages/component-header-footer/src/header/core/utils/helpers/active-page.js new file mode 100644 index 0000000000..f099bced8c --- /dev/null +++ b/packages/component-header-footer/src/header/core/utils/helpers/active-page.js @@ -0,0 +1,54 @@ +/** + * Find match on top level navigation item 'href' or within submenu `items` + * @param {array} navTree + * @param {string} path + * @returns {number} + */ +const getHrefMatchIndex = (navTree, path) => + navTree?.findIndex( + item => + item?.href === path || + // !Some applications might send invalid items props as an empty string + (Array.isArray(item.items) && + item.items?.flat().find(({ href }) => href === path)) + ); +/** + * Check if selected prop already exists + * selected prop is only supported on the top level navigation item + * @param {array} navTree + * @returns {boolean} + */ +const hasActivePage = navTree => navTree?.find(x => x.selected); + +/** + * @param {array} navTree navTree Header property + * @returns {array} Same navTree or modified navTree with selected item + */ +export const tryAddActivePage = navTree => { + if (!Array.isArray(navTree) || navTree.length === 0) { + return navTree; + } + if (hasActivePage(navTree)) { + // Do not alter navTree if selected property is found + return navTree; + } + let currentPath = ""; + if (window?.location) { + currentPath = window.location.pathname + window.location.search; + } + + if (!currentPath) { + // Environments where window location is undefined + return navTree; + } + + const index = getHrefMatchIndex(navTree, currentPath); + if (index === -1) { + // No match found, return original array + return navTree; + } + // Add selected prop to top level navigation item + const newTree = [...navTree]; + newTree[index].selected = true; + return newTree; +}; diff --git a/packages/component-header-footer/src/header/core/utils/helpers/title.js b/packages/component-header-footer/src/header/core/utils/helpers/title.js new file mode 100644 index 0000000000..1f4c70a6cd --- /dev/null +++ b/packages/component-header-footer/src/header/core/utils/helpers/title.js @@ -0,0 +1,45 @@ +// @ts-check +/** + * Adds minutes to given date + * @param {string | Date} date + * @param {number} minutes + * @returns {Date} + */ +const addMinutesToDate = (date, minutes) => { + const dateWithMinutes = new Date(date); + dateWithMinutes.setMinutes(dateWithMinutes.getMinutes() + minutes); + return dateWithMinutes; +}; + +/** + * Check whether this is the first page load of the site. + * @param {string} root - The full URL of the site root, used to check against document.referrer + */ +const checkFirstLoad = root => { + const LOCALHOST = "localhost"; + const KEY_TITLE_LOADED = "title_loaded"; + const now = new Date(); + + const siteRoot = root || window.location.hostname; + // Check if title_loaded is set + const titleLoaded = localStorage.getItem("title_loaded"); + const titleLoadedExpired = now.getTime() > parseInt(titleLoaded, 10); + + // Check for localhost to avoid the other validations (Storybook use case) + const isLocalSite = siteRoot === LOCALHOST; + // check if referrer matches site + const hasMatchingReferrer = document.referrer.includes(siteRoot); + // check if title is loaded and not expired + const hasValidTitle = !titleLoaded || titleLoadedExpired; + + if (isLocalSite || (!hasMatchingReferrer && hasValidTitle)) { + // Set 10 minutes to now date and set it as expiration time + const expirationTime = addMinutesToDate(now, 10).getTime(); + localStorage.setItem(KEY_TITLE_LOADED, expirationTime.toString()); + return true; + } + + return false; +}; + +export { checkFirstLoad }; diff --git a/packages/component-header-footer/src/header/core/utils/index.js b/packages/component-header-footer/src/header/core/utils/index.js new file mode 100644 index 0000000000..19e1601648 --- /dev/null +++ b/packages/component-header-footer/src/header/core/utils/index.js @@ -0,0 +1,2 @@ +// @ts-check +export * from "./data-mock"; diff --git a/packages/component-header-footer/src/header/core/utils/init-header.js b/packages/component-header-footer/src/header/core/utils/init-header.js new file mode 100644 index 0000000000..b8221ac57b --- /dev/null +++ b/packages/component-header-footer/src/header/core/utils/init-header.js @@ -0,0 +1,27 @@ +// @ts-check +import React from "react"; +import ReactDOM from "react-dom"; + +import { ASUHeader } from "../../header"; + +/** + * @typedef {Object} ComponentProps + * @property {string} targetSelector - The CSS selector (#id or .class) + * which identify the <div> element where the footer should be either hydrated or rendered. + * @property {object} props - Properties to initialize the footer with. + * Should only be set to true if the footer has been completely rendered server-side. + * + */ + +const RenderReact = (component, props, target) => { + ReactDOM.render(React.createElement(component, props), target); +}; + +/** + * @param {ComponentProps} props + */ +const initGlobalHeader = ({ targetSelector, props }) => { + RenderReact(ASUHeader, props, document.querySelector(targetSelector)); +}; + +export { initGlobalHeader }; diff --git a/packages/component-header-footer/src/header/header.js b/packages/component-header-footer/src/header/header.js new file mode 100644 index 0000000000..8f3a3b3917 --- /dev/null +++ b/packages/component-header-footer/src/header/header.js @@ -0,0 +1,140 @@ +// @ts-check +import React, { useEffect, useRef } from "react"; + +import trackReactComponent from "../../../../shared/services/componentDatalayer"; +import { HeaderMain } from "./components/HeaderMain"; +import { AppContextProvider } from "./core/context/app-context"; +import { HeaderPropTypes } from "./core/models/app-prop-types"; +import { tryAddActivePage } from "./core/utils/helpers/active-page"; +import { Header, HeaderDiv } from "./header.styles"; + +/** + * @typedef {import("./core/models/types").HeaderProps} HeaderProps + */ + +/** + * + * @param {HeaderProps} props + * @returns {JSX.Element} + */ + +const ASUHeader = ({ + isPartner, + navTree: rawNavTree, + title, + baseUrl, + parentOrg, + parentOrgUrl, + partnerLogo, + logo, + loggedIn, + userName, + loginLink, + onLoginClick, + logoutLink, + onLogoutClick, + buttons, + breakpoint, + animateTitle, + expandOnHover, + mobileNavTree: rawMobileNavTree, + searchUrl, + site, + renderDiv = "false", +}) => { + const navTree = tryAddActivePage(rawNavTree); + const mobileNavTree = tryAddActivePage(rawMobileNavTree); + + /** + * Header reference + * @type {React.MutableRefObject<HTMLDivElement?>} + */ + const headerRef = useRef(null); + + const handleWindowScroll = () => { + const curPos = window.scrollY; + if (!headerRef?.current) return; + if (curPos > headerRef.current.getBoundingClientRect().top) { + headerRef.current.classList.add("scrolled"); + } else { + headerRef.current.classList.remove("scrolled"); + } + }; + + useEffect(() => { + if (typeof window !== "undefined") { + trackReactComponent({ + packageName: "component-header", + component: "Component Header", + type: "NA", + configuration: { + site, + isPartner, + searchUrl, + navTree, + parentOrg, + buttons, + mobileNavTree, + }, + }); + } + }, []); + + useEffect(() => { + window?.addEventListener("scroll", handleWindowScroll); + return () => window.removeEventListener("scroll", handleWindowScroll); + }, []); + + const renderHeader = () => { + // Determine the wrapper based on renderDiv value + const Wrapper = renderDiv === "true" ? HeaderDiv : Header; + + return ( + <Wrapper id="asuHeader" ref={headerRef}> + <HeaderMain /> + </Wrapper> + ); + }; + + return ( + <AppContextProvider + initialValue={{ + isPartner, + navTree, + title, + baseUrl, + parentOrg, + parentOrgUrl, + partnerLogo, + logo, + loggedIn, + userName, + loginLink, + onLoginClick, + logoutLink, + onLogoutClick, + buttons, + breakpoint, + animateTitle, + expandOnHover, + mobileNavTree, + hasNavigation: !!navTree?.length || !!mobileNavTree?.length, + searchUrl, + site, + }} + > + {renderHeader()} + </AppContextProvider> + ); +}; + +ASUHeader.propTypes = { ...HeaderPropTypes }; + +ASUHeader.defaultProps = { + isPartner: false, + baseUrl: "/", + breakpoint: "Xl", + expandOnHover: false, +}; + +export { ASUHeader }; diff --git a/packages/component-header-footer/src/header/header.styles.js b/packages/component-header-footer/src/header/header.styles.js new file mode 100644 index 0000000000..2fdad9e61e --- /dev/null +++ b/packages/component-header-footer/src/header/header.styles.js @@ -0,0 +1,145 @@ +import styled from "styled-components"; + +const breakpoints = { Lg: "992px", Xl: "1260px" }; + +const Header = styled.header` + font-family: Arial, Helvetica, "Nimbus Sans L", "Liberation Sans", FreeSans, + sans-serif; + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; + *, + *::before, + *::after { + box-sizing: border-box; + } + ul { + list-style-type: none; + padding: 0; + } + .container-xl { + height: 100%; + max-width: 1224px; + margin-right: auto; + margin-left: auto; + width: 100%; + } + button, + a { + text-decoration: none; + &:focus { + outline: none !important; + box-shadow: 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px #191919 !important; + } + } + @media (min-width: ${({ breakpoint }) => breakpoints[breakpoint]}) { + &.scrolled { + .universal-nav { + min-height: 0; + height: 0; + overflow: hidden; + } + .title { + margin: 0.5rem 0 0 0; + } + a.unit-name { + display: none; + transition: 0.5s cubic-bezier(0.19, 1, 0.19, 1); + } + a.subunit-name { + margin: 0.52rem 0; + } + a.subunit-name, + a.title-subunit-name { + font-size: 1.5em; + transition: 0.5s cubic-bezier(0.19, 1, 0.19, 1); + } + .navbar-brand img { + height: 64px; + transition: 0.5s cubic-bezier(0.19, 1, 0.19, 1); + margin: 12px 1rem 12px 0; + } + } + } + @media (max-width: 1260px) { + .container-xl { + padding-left: 0; + padding-right: 0; + max-width: 100%; + } + } +`; + +const HeaderDiv = styled.div` + font-family: Arial, Helvetica, "Nimbus Sans L", "Liberation Sans", FreeSans, + sans-serif; + position: fixed; + top: 0; + right: 0; + left: 0; + z-index: 1030; + *, + *::before, + *::after { + box-sizing: border-box; + } + ul { + list-style-type: none; + padding: 0; + } + .container-xl { + height: 100%; + max-width: 1224px; + margin-right: auto; + margin-left: auto; + width: 100%; + } + button, + a { + text-decoration: none; + &:focus { + outline: none !important; + box-shadow: 0px 0px 0px 2px #ffffff, 0px 0px 0px 4px #191919 !important; + } + } + @media (min-width: ${({ breakpoint }) => breakpoints[breakpoint]}) { + &.scrolled { + .universal-nav { + min-height: 0; + height: 0; + overflow: hidden; + } + .title { + margin: 0.5rem 0 0 0; + } + a.unit-name { + display: none; + transition: 0.5s cubic-bezier(0.19, 1, 0.19, 1); + } + a.subunit-name { + margin: 0.52rem 0; + } + a.subunit-name, + a.title-subunit-name { + font-size: 1.5em; + transition: 0.5s cubic-bezier(0.19, 1, 0.19, 1); + } + .navbar-brand img { + height: 64px; + transition: 0.5s cubic-bezier(0.19, 1, 0.19, 1); + margin: 12px 1rem 12px 0; + } + } + } + @media (max-width: 1260px) { + .container-xl { + padding-left: 0; + padding-right: 0; + max-width: 100%; + } + } +`; + +export { Header, HeaderDiv }; diff --git a/packages/component-header-footer/src/header/header.test.js b/packages/component-header-footer/src/header/header.test.js new file mode 100644 index 0000000000..7f2bf507cd --- /dev/null +++ b/packages/component-header-footer/src/header/header.test.js @@ -0,0 +1,94 @@ +/* eslint-disable jest/no-mocks-import */ +// @ts-check +import { render, cleanup, screen, act } from "@testing-library/react"; +import React from "react"; + +import { ASUHeader } from "."; + +import { + defaultState, + emptyStateHeader, + partnersState, + withButtonsState, +} from "../../__mocks__/data/props-mock"; + +const renderHeader = props => { + return render(<ASUHeader {...{ ...props }} />); +}; + +describe("#ASU Header", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + + beforeEach(() => { + component = renderHeader(defaultState); + }); + afterAll(cleanup); + + it("should define component", () => { + expect(ASUHeader).toBeDefined(); + }); + + const cases = [ + [`Universal Navbar(Top)`, `universal-navbar`], + [`Logo`, `logo`], + [`Title`, `title`], + [`Navigation(Dropdown items)`, `navigation`], + ]; + + test.each(cases)("should %p section be defined", async (_, testId) => { + expect(screen.getByTestId(testId)).toBeInTheDocument(); + }); + + it("should not define Partner and Buttons section", () => { + expect(component.queryByTestId("partner")).toBeNull(); + expect(component.queryByTestId("buttons-container")).toBeNull(); + }); +}); + +describe("#ASU Empty Header", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + + beforeEach(() => { + component = renderHeader(emptyStateHeader); + }); + afterAll(cleanup); + + it("should have empty Logo and Navigation(Dropdown items) sections", async () => { + const nav = await component.findByTestId("navigation"); + expect(nav.children.length).toBe(0); + expect(component.queryByTestId("title")?.firstElementChild?.innerHTML).toBe( + "" + ); + }); + + it("should define Logo section", () => { + expect(component.queryByTestId("logo")).toBeInTheDocument(); + }); +}); + +describe("#ASU Header with button", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + + it("should define Buttons section", () => { + component = renderHeader(withButtonsState); + // This resolves the race condition between reading the state in the component and rendering the ui + setTimeout(() => { + expect(component.queryByTestId("buttons-container")).toBeInTheDocument(); + }); + cleanup(); + }); +}); + +describe("#ASU Partner Header", () => { + /** @type {import("@testing-library/react").RenderResult} */ + let component; + + it("should define Partner section", () => { + component = renderHeader(partnersState); + expect(component.queryByTestId("partner")).toBeInTheDocument(); + cleanup(); + }); +}); diff --git a/packages/component-header-footer/src/header/index.js b/packages/component-header-footer/src/header/index.js new file mode 100644 index 0000000000..fabc3030b2 --- /dev/null +++ b/packages/component-header-footer/src/header/index.js @@ -0,0 +1,2 @@ +export { ASUHeader } from "./header"; +export { initGlobalHeader } from "./core/utils/init-header"; diff --git a/packages/component-header-footer/src/header/index.stories.js b/packages/component-header-footer/src/header/index.stories.js new file mode 100644 index 0000000000..3e15d165fc --- /dev/null +++ b/packages/component-header-footer/src/header/index.stories.js @@ -0,0 +1,224 @@ +import React from "react"; + +import { Button } from "./components/Button"; +import { + basicNavTree, + navTreeWithButtons, + navTreeMega, + mobileNavTree, +} from "./core/utils"; +import { ASUHeader } from "./header"; + +export default { + title: "UDS/ASU Header", + component: ASUHeader, + argTypes: { + renderDiv: { + control: "select", + options: ["true", "false"], + description: + "Either 'true' or 'false'. If 'true', the header will be rendered as a div instead of a header element.", + }, + }, +}; + +const Template = args => ( + <> + <ASUHeader {...args} /> + <div + style={{ + width: "100%", + height: "200vh", + background: "#f0f0f0", + paddingTop: 40, + marginTop: 140, + }} + > + <h1 style={{ textAlign: "center", fontFamily: "Arial" }}> + Scroll section + </h1> + </div> + </> +); + +const AnimatedTitleTemplate = args => { + const handleClick = () => { + // get curent local storage value + const titleTimestamp = localStorage.getItem("title_loaded"); + + if (titleTimestamp) { + localStorage.removeItem("title_loaded"); + } + + setTimeout(() => { + // reload the page with button + window.location.reload(); + }, 1000); + }; + + return ( + <> + <ASUHeader {...{ ...args, animateTitle: true }} /> + <div style={{ marginTop: 200, textAlign: "center" }}> + <Button text="Animate Title" color="dark" onClick={handleClick} /> + </div> + </> + ); +}; + +export const Default = Template.bind({}); +Default.args = { + loggedIn: false, + userName: "", + navTree: basicNavTree, + title: "Subdomain name", + breakpoint: "Lg", + searchUrl: "https://search.asu.edu/search", + site: "subdomain", + renderDiv: "false", +}; + +export const Empty = Template.bind({}); +Empty.args = {}; + +export const NoNavigation = Template.bind({}); +NoNavigation.args = { + title: "Subdomain name", + loggedIn: true, + userName: "Sparky", + logoutLink: "/caslogout", + loginLink: "/cas", + searchUrl: "https://search.asu.edu/search", + site: "subdomain", +}; + +export const NoNavigationWithButtons = Template.bind({}); +NoNavigationWithButtons.args = { + title: "Subdomain name", + buttons: [ + { + href: "/", + text: "CTA Button 1", + color: "gold", + }, + { + text: "CTA Button 2", + href: "#", + color: "light", + }, + ], + loggedIn: true, + userName: "Sparky", + logoutLink: "/caslogout", + loginLink: "/cas", + searchUrl: "https://search.asu.edu/search", + site: "subdomain", +}; + +export const BreakpointXL = Template.bind({}); +BreakpointXL.args = { + loggedIn: false, + userName: "", + logoutLink: "/caslogout", + loginLink: "/cas", + navTree: basicNavTree, + title: "Subdomain name", + parentOrg: "Parent unit name", + parentOrgUrl: "https://engineering.asu.edu", + breakpoint: "Xl", + searchUrl: "https://search.asu.edu/search", + site: "subdomain", +}; + +export const WithMobileNavTree = Template.bind({}); +WithMobileNavTree.args = { + loggedIn: false, + userName: "", + logoutLink: "/caslogout", + loginLink: "/cas", + navTree: basicNavTree, + mobileNavTree, + title: "Subdomain name", + parentOrg: "Parent unit name", + parentOrgUrl: "https://engineering.asu.edu", + breakpoint: "Xl", + searchUrl: "https://search.asu.edu/search", + site: "subdomain", +}; + +export const WithButtons = Template.bind({}); +WithButtons.args = { + navTree: navTreeWithButtons, + title: "Subdomain name", + buttons: [ + { + href: "/", + text: "CTA Button 1", + color: "gold", + classes: "custom-class", + }, + { + text: "CTA Button 2", + href: "#", + color: "light", + }, + ], + loggedIn: true, + userName: "Sparky", + logoutLink: "/caslogout", + loginLink: "/cas", + searchUrl: "https://search.asu.edu/search", + site: "subdomain", +}; + +export const WithMenuColumns = Template.bind({}); +WithMenuColumns.args = { + navTree: navTreeMega, + title: "Subdomain name", + parentOrg: "Parent unit name", + parentOrgUrl: "https://engineering.asu.edu", + loggedIn: true, + userName: "Sparky", + logoutLink: "/caslogout", + loginLink: "/cas", + searchUrl: "https://search.asu.edu/search", + site: "subdomain", +}; + +export const ExpandOnHover = Template.bind({}); +ExpandOnHover.args = { + navTree: navTreeMega, + title: "Subdomain name", + parentOrg: "Parent unit name", + parentOrgUrl: "https://engineering.asu.edu", + loggedIn: true, + userName: "Sparky", + logoutLink: "/caslogout", + loginLink: "/cas", + expandOnHover: true, + searchUrl: "https://search.asu.edu/search", + site: "subdomain", +}; + +export const Partner = Template.bind({}); +Partner.args = { + isPartner: true, + navTree: basicNavTree, + loggedIn: false, + userName: "", + breakpoint: "Xl", + searchUrl: "https://search.asu.edu/search", + site: "subdomain", +}; + +export const AnimatedTitle = AnimatedTitleTemplate.bind({}); +AnimatedTitle.args = { + title: "Subdomain name", + navTree: basicNavTree, + loggedIn: false, + logoutLink: "/caslogout", + loginLink: "/cas", + breakpoint: "Xl", + searchUrl: "https://search.asu.edu/search", + site: "subdomain", +}; diff --git a/packages/component-header-footer/types/main.d.ts b/packages/component-header-footer/types/main.d.ts new file mode 100644 index 0000000000..f86b9849d4 --- /dev/null +++ b/packages/component-header-footer/types/main.d.ts @@ -0,0 +1,56 @@ +import React from 'react'; + +export interface Logo { + alt: string; + src: string; + mobileSrc: string; + brandLink: string; +} + + +export interface Button { + href: string; + color?: "gold" | "maroon" | "light" | "dark"; + text: string; + classes?: string; + onClick?: () => void; + onFocus?: () => void; +} + +export interface NavTreeProps { + id: number; + href?: string; + text?: string; + type?: string; + selected?: boolean; + items?: [object][]; + buttons?: Button[]; + class?: string; + onClick?: () => void; +} + +export interface HeaderProps { + isPartner: boolean; + navTree: NavTreeProps[]; + title?: string; + baseUrl?: string; + parentOrg?: string; + parentOrgUrl?: string; + partnerLogo: Logo; + logo: Logo; + loggedIn: boolean; + userName: string; + loginLink: string; + onLoginClick?: () => void; + logoutLink: string; + onLogoutClick?: () => void; + buttons: Button[]; + breakpoint: "Lg" | "Xl"; + animateTitle: boolean; + expandOnHover: boolean; + mobileNavTree: NavTreeProps[]; + searchUrl: string; + site: string; +} + +export const ASUHeader: React.FunctionComponent<HeaderProps> diff --git a/packages/component-header-footer/vite.config.js b/packages/component-header-footer/vite.config.js new file mode 100644 index 0000000000..d1bdd6a209 --- /dev/null +++ b/packages/component-header-footer/vite.config.js @@ -0,0 +1,51 @@ +import { defineConfig, transformWithEsbuild } from "vite"; +import { resolve } from "path"; +import react from "@vitejs/plugin-react"; +import pkg from './package.json'; + +export default defineConfig({ + build: { + lib: { + entry: resolve(__dirname, "src/header/index.js"), + name: "AsuHeader", + formats: ["es", "cjs", "umd"], + fileName: (format) => `asuHeader.${format}.js`, + }, + rollupOptions: { + input: resolve(__dirname, "src/index.js"), + external: ["react", "react-dom"], + output: { + globals: { + "react": "React", + "react-dom": "ReactDOM" + }, + }, + }, + minify: "terser", + cssCodeSplit: false, + }, + esbuild: { + legalComments: 'eof', + keepNames: false, + }, + define: { + process: {env: {NODE_ENV: process.env.NODE_ENV}}, + global: {} + }, + plugins: [ + react({ + jsxRuntime: "automatic", + }), + { + name: "treat-js-files-as-jsx", + async transform(code, id) { + if (!id.match(/src\/.*\.js$/)) return null; + + return transformWithEsbuild(code, id, { + loader: "jsx", + jsx: "automatic", + }); + }, + }, + ], +}); diff --git a/yarn.lock b/yarn.lock index 29bc685b43..40a84b6ad8 100644 --- a/yarn.lock +++ b/yarn.lock @@ -343,6 +343,57 @@ __metadata: languageName: unknown linkType: soft +"@asu/component-header-footer@workspace:packages/component-header-footer": + version: 0.0.0-use.local + resolution: "@asu/component-header-footer@workspace:packages/component-header-footer" + dependencies: + "@babel/core": "npm:^7.13.14" + "@babel/plugin-syntax-jsx": "npm:^7.14.5" + "@babel/plugin-transform-react-jsx": "npm:^7.13.12" + "@babel/plugin-transform-runtime": "npm:^7.14.5" + "@storybook/addon-a11y": "npm:^7.6.14" + "@storybook/addon-essentials": "npm:^7.6.14" + "@storybook/addon-links": "npm:^7.6.14" + "@storybook/react": "npm:^7.6.14" + "@storybook/react-webpack5": "npm:^7.6.14" + "@testing-library/jest-dom": "npm:^5.14.1" + "@testing-library/react": "npm:^12.0.0" + babel-loader: "npm:^8.2.2" + clean-webpack-plugin: "npm:^4.0.0-alpha.0" + copy-webpack-plugin: "npm:^9.0.1" + css-loader: "npm:^5.2.4" + dotenv-webpack: "npm:^7.0.3" + eslint-plugin-storybook: "npm:^0.6.15" + express: "npm:^4.17.1" + file-loader: "npm:^6.2.0" + html-webpack-plugin: "npm:^5.3.2" + http-proxy-middleware: "npm:^2.0.0" + jest: "npm:^26.6.3" + jest-image-snapshot: "npm:^4.4.1" + jest-transform-css: "npm:^6.0.1" + jest-transform-file: "npm:^1.1.1" + jsdom-screenshot: "npm:^4.0.0" + postcss-loader: "npm:^6.1.1" + prop-types: "npm:^15.7.2" + raw-loader: "npm:^4.0.2" + sass-loader: "npm:^11.1.0" + semantic-release: "npm:^17.4.2" + semantic-release-monorepo: "npm:^7.0.4" + storybook: "npm:^7.6.14" + style-loader: "npm:^2.0.0" + styled-components: "npm:^5.3.0" + terser-webpack-plugin: "npm:^5.1.1" + webpack-filter-warnings-plugin: "npm:^1.2.1" + webpack-merge: "npm:^5.8.0" + peerDependencies: + "@fortawesome/fontawesome-svg-core": ^6.4.2 + "@fortawesome/free-solid-svg-icons": ^6.4.2 + "@fortawesome/react-fontawesome": ^0.2.0 + react: ">= 16.14.0 < 18" + react-dom: ">= 16.14.0 < 18" + languageName: unknown + linkType: soft + "@asu/component-header@workspace:packages/component-header": version: 0.0.0-use.local resolution: "@asu/component-header@workspace:packages/component-header" From 0b1562f4a833e40c68a99b449dd30f3b72fd2d4e Mon Sep 17 00:00:00 2001 From: david ornelas <davidornelas_11@hotmail.com> Date: Fri, 4 Oct 2024 16:10:20 -0700 Subject: [PATCH 76/78] chore: run yarn install --- yarn.lock | 72 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 69 insertions(+), 3 deletions(-) diff --git a/yarn.lock b/yarn.lock index 40a84b6ad8..0c7d8b5567 100644 --- a/yarn.lock +++ b/yarn.lock @@ -3295,6 +3295,13 @@ __metadata: languageName: node linkType: hard +"@eslint/js@npm:8.57.1": + version: 8.57.1 + resolution: "@eslint/js@npm:8.57.1" + checksum: 10c0/b489c474a3b5b54381c62e82b3f7f65f4b8a5eaaed126546520bf2fede5532a8ed53212919fed1e9048dcf7f37167c8561d58d0ba4492a4244004e7793805223 + languageName: node + linkType: hard + "@fal-works/esbuild-plugin-global-externals@npm:^2.1.2": version: 2.1.2 resolution: "@fal-works/esbuild-plugin-global-externals@npm:2.1.2" @@ -3427,6 +3434,17 @@ __metadata: languageName: node linkType: hard +"@humanwhocodes/config-array@npm:^0.13.0": + version: 0.13.0 + resolution: "@humanwhocodes/config-array@npm:0.13.0" + dependencies: + "@humanwhocodes/object-schema": "npm:^2.0.3" + debug: "npm:^4.3.1" + minimatch: "npm:^3.0.5" + checksum: 10c0/205c99e756b759f92e1f44a3dc6292b37db199beacba8f26c2165d4051fe73a4ae52fdcfd08ffa93e7e5cb63da7c88648f0e84e197d154bbbbe137b2e0dd332e + languageName: node + linkType: hard + "@humanwhocodes/config-array@npm:^0.5.0": version: 0.5.0 resolution: "@humanwhocodes/config-array@npm:0.5.0" @@ -3452,7 +3470,7 @@ __metadata: languageName: node linkType: hard -"@humanwhocodes/object-schema@npm:^2.0.2": +"@humanwhocodes/object-schema@npm:^2.0.2, @humanwhocodes/object-schema@npm:^2.0.3": version: 2.0.3 resolution: "@humanwhocodes/object-schema@npm:2.0.3" checksum: 10c0/80520eabbfc2d32fe195a93557cef50dfe8c8905de447f022675aaf66abc33ae54098f5ea78548d925aa671cd4ab7c7daa5ad704fe42358c9b5e7db60f80696c @@ -9681,7 +9699,7 @@ __metadata: css-minimizer-webpack-plugin: "npm:^2.0.0" cz-conventional-changelog: "npm:3.3.0" dompurify: "npm:^2.2.7" - eslint: "npm:^7.24.0" + eslint: "npm:^8" eslint-config-airbnb: "npm:^18.2.1" eslint-config-preact: "npm:^1.1.3" eslint-config-prettier: "npm:^8.2.0" @@ -14281,7 +14299,7 @@ __metadata: languageName: node linkType: hard -"eslint@npm:^7.24.0, eslint@npm:^7.25.0": +"eslint@npm:^7.25.0": version: 7.32.0 resolution: "eslint@npm:7.32.0" dependencies: @@ -14331,6 +14349,54 @@ __metadata: languageName: node linkType: hard +"eslint@npm:^8": + version: 8.57.1 + resolution: "eslint@npm:8.57.1" + dependencies: + "@eslint-community/eslint-utils": "npm:^4.2.0" + "@eslint-community/regexpp": "npm:^4.6.1" + "@eslint/eslintrc": "npm:^2.1.4" + "@eslint/js": "npm:8.57.1" + "@humanwhocodes/config-array": "npm:^0.13.0" + "@humanwhocodes/module-importer": "npm:^1.0.1" + "@nodelib/fs.walk": "npm:^1.2.8" + "@ungap/structured-clone": "npm:^1.2.0" + ajv: "npm:^6.12.4" + chalk: "npm:^4.0.0" + cross-spawn: "npm:^7.0.2" + debug: "npm:^4.3.2" + doctrine: "npm:^3.0.0" + escape-string-regexp: "npm:^4.0.0" + eslint-scope: "npm:^7.2.2" + eslint-visitor-keys: "npm:^3.4.3" + espree: "npm:^9.6.1" + esquery: "npm:^1.4.2" + esutils: "npm:^2.0.2" + fast-deep-equal: "npm:^3.1.3" + file-entry-cache: "npm:^6.0.1" + find-up: "npm:^5.0.0" + glob-parent: "npm:^6.0.2" + globals: "npm:^13.19.0" + graphemer: "npm:^1.4.0" + ignore: "npm:^5.2.0" + imurmurhash: "npm:^0.1.4" + is-glob: "npm:^4.0.0" + is-path-inside: "npm:^3.0.3" + js-yaml: "npm:^4.1.0" + json-stable-stringify-without-jsonify: "npm:^1.0.1" + levn: "npm:^0.4.1" + lodash.merge: "npm:^4.6.2" + minimatch: "npm:^3.1.2" + natural-compare: "npm:^1.4.0" + optionator: "npm:^0.9.3" + strip-ansi: "npm:^6.0.1" + text-table: "npm:^0.2.0" + bin: + eslint: bin/eslint.js + checksum: 10c0/1fd31533086c1b72f86770a4d9d7058ee8b4643fd1cfd10c7aac1ecb8725698e88352a87805cf4b2ce890aa35947df4b4da9655fb7fdfa60dbb448a43f6ebcf1 + languageName: node + linkType: hard + "eslint@npm:^8.37.0": version: 8.57.0 resolution: "eslint@npm:8.57.0" From ee3aa961c569566d9e9d8d05f04aa4e501a23c8b Mon Sep 17 00:00:00 2001 From: david ornelas <davidornelas_11@hotmail.com> Date: Fri, 4 Oct 2024 20:00:37 -0700 Subject: [PATCH 77/78] chore: upgrade all packages to React 18 --- package.json | 4 +- .../examples/detail-page.html | 4 +- .../examples/listing-page.html | 7 +- packages/app-degree-pages/package.json | 4 +- .../public/assets/img/demo-phot-1.jpeg | Bin 0 -> 33439 bytes .../public/assets/img/demo-phot-2.jpeg | Bin 0 -> 21468 bytes .../public/assets/img/demo-phot-3.jpeg | Bin 0 -> 38749 bytes .../public/assets/img/demo-phot-4.jpeg | Bin 0 -> 41249 bytes .../public/assets/img/ds_header_undergrad.jpg | Bin 0 -> 66431 bytes .../assets/img/request-form-information.jpeg | Bin 0 -> 67351 bytes .../video/stock-video-person-drawing.mp4 | Bin 0 -> 193102 bytes .../src/core/utils/init-page-degree.js | 5 +- packages/app-degree-pages/vite.config.js | 4 +- packages/app-rfi/package.json | 4 +- .../app-rfi/src/components/AsuRfi/index.js | 2 +- .../components/steps/questions/Interest2.js | 17 ++- .../app-rfi/src/core/utils/fetchPrograms.js | 6 +- packages/app-rfi/src/core/utils/init-rfi.js | 5 +- packages/app-webdir-ui/docs/README.props.md | 16 +-- packages/app-webdir-ui/package.json | 5 +- .../src/helpers/init-app-webdir-ui.js | 8 +- packages/app-webdir-ui/src/helpers/search.js | 4 +- .../component-cookie-consent/package.json | 4 +- .../src/core/utils/init-cookie-consent.js | 5 +- packages/component-events/package.json | 4 +- .../src/core/utils/init-events.js | 5 +- packages/component-footer/package.json | 4 +- .../src/core/utils/init-footer.js | 5 +- .../docs/README.props.md | 98 +++++++++++++++- .../component-header-footer/jsdoc.config.js | 6 +- packages/component-header-footer/package.json | 9 +- .../public/assets/images/endorsedLogo.png | Bin 0 -> 14624 bytes .../public/assets/images/innovationLogo.png | Bin 0 -> 45316 bytes .../footer/components/ColumnSection/index.js | 3 +- .../src/footer/components/Contact/index.js | 6 +- .../src/footer/components/Social/index.js | 1 + .../footer/components/Social/index.test.js | 4 +- .../src/footer/core/utils/init-footer.js | 5 +- .../src/footer/footer.test.js | 5 +- .../src/header/core/utils/init-header.js | 5 +- .../component-header-footer/vite.config.js | 107 +++++++++++------- .../component-header/docs/README.props.md | 2 +- packages/component-header/package.json | 4 +- .../src/core/utils/init-header.js | 5 +- packages/component-news/package.json | 4 +- packages/component-news/src/core/init-news.js | 5 +- packages/components-core/package.json | 8 +- .../components/RankingCard/index.stories.js | 4 +- .../components-core/src/core/utils/index.js | 5 +- packages/unity-react-core/package.json | 7 +- .../core/utils/init-carousel.js | 5 +- .../unity-react-core/src/core/utils/index.js | 13 +-- yarn.lock | 88 +++++++------- 53 files changed, 325 insertions(+), 196 deletions(-) create mode 100644 packages/app-degree-pages/public/assets/img/demo-phot-1.jpeg create mode 100644 packages/app-degree-pages/public/assets/img/demo-phot-2.jpeg create mode 100644 packages/app-degree-pages/public/assets/img/demo-phot-3.jpeg create mode 100644 packages/app-degree-pages/public/assets/img/demo-phot-4.jpeg create mode 100644 packages/app-degree-pages/public/assets/img/ds_header_undergrad.jpg create mode 100644 packages/app-degree-pages/public/assets/img/request-form-information.jpeg create mode 100644 packages/app-degree-pages/public/assets/video/stock-video-person-drawing.mp4 create mode 100644 packages/component-header-footer/public/assets/images/endorsedLogo.png create mode 100644 packages/component-header-footer/public/assets/images/innovationLogo.png diff --git a/package.json b/package.json index 9e689eed10..6734bb0563 100755 --- a/package.json +++ b/package.json @@ -92,8 +92,8 @@ "nunjucks": "^3.2.0", "prettier": "^2.2.1", "purgecss-webpack-plugin": "^4.0.3", - "react": "17.0.2", - "react-dom": "17.0.2", + "react": "^18.3.1", + "react-dom": "^18.3.1", "rimraf": "^3.0.2", "semantic-release": "18.0.1", "semantic-release-monorepo": "^7.0.4", diff --git a/packages/app-degree-pages/examples/detail-page.html b/packages/app-degree-pages/examples/detail-page.html index 1feb855e42..9d0d684c5f 100644 --- a/packages/app-degree-pages/examples/detail-page.html +++ b/packages/app-degree-pages/examples/detail-page.html @@ -19,11 +19,11 @@ <!-- *************************************************************** --> <!-- Load React. --> <script - src="https://unpkg.com/react@17/umd/react.production.min.js" + src="https://unpkg.com/react@18/umd/react.production.min.js" crossorigin ></script> <script - src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js" + src="https://unpkg.com/react-dom@18/umd/react-dom.production.min.js" crossorigin ></script> <!-- *************************************************************** --> diff --git a/packages/app-degree-pages/examples/listing-page.html b/packages/app-degree-pages/examples/listing-page.html index 108612959b..5794e68037 100644 --- a/packages/app-degree-pages/examples/listing-page.html +++ b/packages/app-degree-pages/examples/listing-page.html @@ -20,13 +20,10 @@ <!-- *************************************************************** --> <!-- Load React. --> <script - src="https://unpkg.com/react@17/umd/react.production.min.js" - crossorigin - ></script> - <script - src="https://unpkg.com/react-dom@17/umd/react-dom.production.min.js" + src="https://unpkg.com/react@18.3.1/umd/react.development.js" crossorigin ></script> + <script crossorigin src="https://unpkg.com/react-dom@18.3.1/umd/react-dom.development.js"></script> <!-- *************************************************************** --> <!-- include bundled scripts from packages --> <script src="../dist/degreePages.umd.js"></script> diff --git a/packages/app-degree-pages/package.json b/packages/app-degree-pages/package.json index e0533e0504..085cb90076 100644 --- a/packages/app-degree-pages/package.json +++ b/packages/app-degree-pages/package.json @@ -93,8 +93,8 @@ "webpack-merge": "^5.8.0" }, "peerDependencies": { - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18" + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "volta": { "extends": "../../package.json" diff --git a/packages/app-degree-pages/public/assets/img/demo-phot-1.jpeg b/packages/app-degree-pages/public/assets/img/demo-phot-1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..e97cded8491ae47e7b82fe34891099ee8ec7fde7 GIT binary patch literal 33439 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 literal 0 HcmV?d00001 diff --git a/packages/app-degree-pages/public/assets/img/demo-phot-2.jpeg b/packages/app-degree-pages/public/assets/img/demo-phot-2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..32d9a94652c0553a40f1c5bb6cc458ff1afbadff GIT binary patch literal 21468 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 M$s3<DQT5sX*|hvR8UO$Q literal 0 HcmV?d00001 diff --git a/packages/app-degree-pages/public/assets/img/demo-phot-3.jpeg b/packages/app-degree-pages/public/assets/img/demo-phot-3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..17d6bdeae4cf3e816ed200d22499835e501d01f9 GIT binary patch literal 38749 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%0A|@+|}5&MEUP)M?z5-`L}Xmm>8d zpQ$=gjheNJQ-WKN<i7pR@|035Uorejv!<2FsBOLoQ(T0SE<@0RT!k9l;#`=eO$rp{ zl2xmG+4pd7cX27(?v$f1x>JheLP_9+ujMJl-(Zw2V}CS9^hm$WDYy4Zas1LNp&vpr zT!>HeN^<<doL}5Fu0{U<G@LpWWzdp*hU3WG`4cutT?!H8M2Qk42oNAZff58g2oNBt zGWxlE$oEmf7eZL*TDo7Xeo0T{c_eMrKbgBo{zSX!eE4puy{>M^r%y_;(A`=v_dBT$ zthxAh%|Avex*AUX5weVrJ5BR0W9+fVBBvOv+??fY+|AU{xZEVU3(!cgtScBdLPyoB zO*hQ%WwkTBu8T%EESG}f5QIn2kD(tzK7>e-A?Q=|Df$%3euY0mm!VJ4r|47kDS8yw zLLP)jks=`oUKTRQ^0jhRHBI}D6rwjqUn1Iv^EYUze2c<Eqp5!}JuRQ188*u?DxS!M zG?q`G^&O!nenp1I;ZUPao0lvd<p(3Y*FQvFMb2f6_|?2Jg=n+kM<wEf#DvTnOFm}f z$|%M}yVtaxNnCh#6k?2jg}BpYN{(O1<#m>9riSRT)74MrId*+7l0F+gEzu<l8?Y&r zH1onMPLm&fCdSy_S|t_8l6+ZKhQ5P~=QNn(*?0X@yscJ7E?~j5&xy8Uh4|$UZ8He6 zFT=`O;@l)Fb0e}@9-~oYB$fpfvB<TI82bhO1@PGFTL#LJ!5xT;rps5{kH~4SW8pD( z?7L%x#W|$PTX__$$VQ{uZ>oqw3j?UFVGf$Pk<J{A-JwGqrEyT~wH5j&ljh6qLa>rA z<Gjn4W%x5EceJ`gw;w5Mo_CQhqEY5br&DydJ|0tOw{sMi3wW+y?X4Hf@ikOoC{l6U z<z+c9e?#k<8g*T_<}<e~(dYjFW8N}0<SUy_Xz!aP3Nb`ho&1FLGqJe4J|)etCa{W? zIgS;Owj$=yN}Z32MN&j1sovKj6RX`rp>~XzJf*}$LJ+KNsEe}ZI9#-ijUH4)$gE&? zWR#gSRFfrAS7((G#sw5%j-1WWSuVUbLccLF3&C%&NjCW|e#VxB9`Cz&tNi}};HRk8 z&BiZmD8sJXyWZoDn^Q}5B~lZNrAu|4n&%%=YqY4zdiAkFtxHeHx=WmY5>zVfg-hR) zH0n`>X<4^x+Qt6MJXMH@W!SXT**Q|#9;0c$QKQQJ%$`#G#6>ZTZUbzz?s-S0gssf0 zUcBm0n|yqxJa{b2vh2qkaI)q(b>njIJmwEEm4QVfDGJ6Itj)<}yf|5#ndKaAH&d9$ z;JY@XJ}O#zGMxHyU0G7DqE!@SQZ%X5?&!DVsb8hnRF9-}s%l?qsnDYotqQhlyy&1% zs^d866-D{}vtETdJ*7EPg!V64XZW4tgYM-$+jegLj{gA2aL;?z#+I&{-=ETV^!})) zPm|@FEEP369kZV4({_I@gBZp!kL)i}m+hf7!ZD^wbHc|PmgAlm;THiZF<eR{c;xc% z&llp#Fu35sB~azT--Xeh3gShJn_^i!jm_k0ptd8*HZ#gj%&4klWxPI7?(tHVqPKlt zZAwv=*hOyGo3-8gvZ~kV;YYmGD62v(e>7>T)s(8L+mm?TxnJ=sPKCbgT$AO^*r`gb zHuSsqw$q=tQPWj-yEkUnKjg(Zbot<><#|bS{0K@ni+AMX?dnz1YvFh0mzG}W?AppJ zyh>TWwXu;kf3(5zseH@uxUI<Mdk*D{4~2^{SXL7}$CtsA94`D8ejY+`@cD;sHsFhh zyDlV;D<yZ5cO@E#dm=e-vMwjkTe%T};hzQ%KLz0I{?L!bgHyGYNa9AnO#c8Pl?h_o zq^&eca&<L2hu+Eg_L_P$=Ta5j;I6k4i;9=ti^t>8(@RdP>1p|$w?aSFlHF$Z`mU!k z)ngUO{{YD-zDH?mVc)5!L4I_v{{RI~s8Lh<(OX~PkF&{iUbP}N=0nvA!XfI7I=$*e zekOrSI+|baMuN?)O)D?fT}>73^@@M)MxJrSNWa93SR7=_3O!1Hq(V#Y5mM@17P)uB zCO9PXb59(3oA!xDa<ZjW{^125?y7&ZjO6VZKfwJ-e*@c%xLt9%lb0MDdW+Oab2oJy znn-(4;x>llU!iFxU|tJ}4&#uJxcN_s!cU<!)5D%bI}@|%#!3pkf4wRH0OOA(_?4c% zw4*nPdiooyQHG(~5|Xt2K4yYcBdUa?r&1feQ#Rq1^))y5Z))Y}+1hn$L%ft?o@MJ} zN22V?R3RTFxiU{rCjS8WCvTPf6r+31D|?z0{{X*_;gX;JJwBqR?7-JUQ%ZvDnyRH+ z_iA%dQnx&xN$39nv(nOD^<2N9+b{dgO&I>fAN-Z7Q{5`Bo560T1m_#_xu^XEQjK~x zk2dZ_N06CMWIVj*6li9i?L9a69h9H`ijVsdp^m4r_UWm|cBv<5tfNJIX{mp)6jv&7 zUx6P(WcYch{L7c<S(Zk4XM;1t{-Ia>IFhSW+ew(K{-YZjMW2S{-wg1_3nQ5K5@el+ zI*~0A$^48Le1wY@UM^-tiz4OGV*{O1K7@S;+mW_j2vBQNUN)x;=ku9UwzZaxDN1uz z*t5vhc6Oc>YVEwF(}Z)g=EzjlMir;Fip@vu?0tTmblPfrDM91pvHT9sjYTa?+_U#$ zu689l4`OM@?&HwV$4?58rzuqZ4pue&p!R*rah2@3;QC`ubn4NmLfdybbFF+&K4`1h z`fo=^UcY~!UEMiLWML-VmqyOo*XT6bil0a;DAlH?wv{NypSh-s_`1DaZ`-Z^0P@C$ zmYvF-B&8Oe?%(w&#w%<iACk8P{iE2`E%$X2U+#|^QT^#~!SNyU;rT@$#K#Z)GWD+x z885Buh5rE6f5CYQ#sr%(dE@ghZXR#IX|dnL+BWLyKh#H4Z5B7){{X1Way+jF*}oOv zgB&nk<=J^7kqFtITOlZLLKlwwa9Va2!pKEC{p3VNI6=0~%%@vztIhtU8A!*&?0(Uy z@}Y0)cAXj%t3RW9+H~T+{M>B5cIayRI<$Vj*^!~%>HFF{DtD5Waej#(O?yjEDw6G* z5T~e0aof69Pw+mIQ_<8=`a`j(H@2Mx3$^O`mGz%QsdkNC($-d-;QW)9kxDO@3Q5{T zH8N09a+Tff=toJRsafgeXj!-HMq9Q<$(rugtdx9|Vg2Pt$$KwWRqSnMt@rVrDv(Mz zw6OY+sR=>yl4<@p8te*GWzSDir6>E6;kuO9vGC#Y;di5#=;|ZK;ePbESsxNSKPjR6 z+)}BbU+1srV7o8cJ&*qY+&}1f(6$zpy@iooo^`_K<qALLwl59%{8#T{)Y0TWy#D}E z@ba?Le_?M8-w7`>6LB`vxsve^jPS68A#u5qHWI3{VlIMvnGK~mUh3r-tEePhm>1P* z{Eg}^{L<m|p3B!!x8I>re<N4)kFfrY)S<RBjR``nN%BfA-8z&sS~?nPDXMg#wl{Y# zIInR}=+A5RWz=P*?JZOzyQk+Xm9(9ysG(LHB?;wpv(7z@)hx0`o~yJ~SbSJQi(j)- zB`tP?QKpmHs=>zVq1n`wezjh8+UUHIDd~Gdw)Ak0*i+O-bmQq6qQg6#e{50d^`7y6 z`4#y25-eVnJ*q{S;Jc}Q+=av9E)DAGdnp!nzYFSgKkB#qhS_n;wR;(Voj>R(*hzB| zs<Zj5!yDmdk12l8U+F*V;mLj$M*T_@X_rjf7w;xmTMNnfbM_Z!o+MQmBwle8AqYp) zJTb#O5<*3~p69r|NcxfWBkC&>CgeWi#^^`nShRRq9}02xOz-rx+Rd)NfZ1Ww?A>mW z^U`bU()=%V!O_#Ysa~h%FZm~>`bYGpj@Zw=ogGVkKJT0Plh#y<oPO(-q|)5(@0aL* zX!fn;8^V>F7MJPN;ISP~X2#z-F5G*crggnFIvBsko3|eC=^an=w5k3uV@7!1m*RxP zS`+=bar2|xP$enzAr;Kusi4>9wpE+E!8{ZG*6fUOolpM&QgK9vwNYQ?vwWW)G2}({ zTfb7p&o>;I6}Wk>ZGpLq94!GkKOQ*QaLKusu%&B?oUUf&xL<|1d!FaH?t72al%Fzh zsUfk-q*3tEXd=exBv}d&B_=iftEYVQ`q{_uVv6AC{VV!OLfEM)8io7O$lF4)T@h1H z^qvjWQCgie_jJWKxm@_u&g}Cxb~Q@Q7Ii0w>XF=iD*7>~{W_KO^8NVT7vU;DNV@{R zNlLW``|9YLJy5Ckr)AXjl<B|TTrAA+yjX~qjK68|yDT>%+#KscmuTcKuW03OyTAGo zw=ybE%#GUn-~Rv){FjlQ2}_v`zkL^cFC!c?!v;kZW0|@|h{ba$+4+Y#c=6$Kmj+v> z3vsZ#9^*a9F}K3%=H@fca?w1jv3Z_S;%@Bvztc|Nqtd+{J$3vxzAhh0U27{=(xl(K z8x&$kV;y})lB}e>v!Bl1zsTO@^CL^>_Jt*HhM3{mx(!n2rR^O(Pr~+M5T1)qRddto zX;l9Jf|JQakJRbZT<KP)Kj&hcmD3_xr{TpG<e2RKd@lG(O6jCEJ6zg1GWDRnM}jse z?}}*9wVHp;niT&4xnInq8t&1?(OgKm7V?T}7>X=ohB#-23qBVwE*?>fpV;Grk$D`8 zShs@Qeaj7vkHLEjYC_<Vg2|l433DU2nCed)B_F05Jxb+MM><mc9oGbi$5E!2>oxpH z-<fSZ^Nz3QiwdP!S*N-w{{X=qPP4g|H>)f9k<)1CQI9A=B3hrLU8M!jx!k{T?j3&4 z(pA6TqX+znKBs%4uOHR^nIPy=zv!b%zVzb16SL=}uT58ra*MUSN^XTUvTj>d?Gm)P zY2V|5uJv@0ZaLwO5#FxGqk(R@c5ae1^z{_iIXJR7BV+QtzvbVDGtA!$@x{DZ@pU&g zIbFU;Q>l(cm)TvHe_@V3<=+S4${o>##|4gN*_9p<spo4No!rWjsX}hojK8Su_n58C zmeb>;lP9)vob7%?mY#}o+Znd=?Sw+NX}WYWqPEB76R~Jjqf=K}FmaXnHu3U17PPHG z8k*m;Mny{WX9b|GwsC3h#u?glv{b25qe;e^+NCLf!P;$ks?v|iT&&aGs&DYIMaRtF z@ibTd?l0$)PSZ-9KY}*tBOgnMypd<&!C_9ln!2+Y@f!BIle<J`+B6?8ha_1FJjl<s zIr)CC&)((kB^F)ytc>_=;K}7O#ogG={CMGR7yAY?pBulhvqlW?#|zwxnL-g(lD*0@ z`?X~LQ5WdX_!f`ce~D7qhx04?MH7`d`PLB`QEqyQscmg2`x-9ljVM>II`eV8>S21| zr1ZPCzFh7qT3t-4(u0?KYq+NHG`Wsa6k#u&#|c=Go@RNT<)dTY?0z@k%SiLz+lx}U zB-AGV01;NC(<{QP;Pbby%+<N<gs<#QczCxz7Cyrs3~|TU;Jm)YBy&0agX74@91W6~ zrOgx`o=dxp{zBOtbP%>O&_$aT%8KUw7P1lZRcmZLiaP4>t+LK45Rtb>u_L;kwjZw< ze-vOziBm5&Ht;(WgBf-9UlZ^Yk)Ah``3@}I9g=xOBdXNJ{)IL;YTZv}Zkv9-EPvYL z!JoCyhWstZk%hwL$e|aDEfv97_#;=zCZ<${UD0Lde_n!>B*hBylIt6P0nM4YYG&!1 zmmx&kb0cVD`wKo7d~G9fDpjK-UsET3aY(xV0Jgu2A7+GKf;pM{8yAu>!C1E<Pmew~ z`qV!{qbD}WOHVv>94fT>3KLndrAkWT-yePpY0oElTv388amwXMDLZs!PpiST(0+uF z*VsP=&vCA-&kTKzKGz-`eUe>IbKG9MZ}t~_EO~`uF+_buQbX?D`ZCPGyV|kz&jg0M zW3(y0Qj8{r8M2?%r}8586KmA9tV?D|r5C}ahI^626NsBP%E(HTvC)x@2z-c~@LKpS z_BcB5h>ZULf}t*=T~BeoqxJhd@yWGw9l4XgGU+xYge#Qk;^ZaTlS*HDn*Kzk3!<bG zHg=^tpQlT2@D}FoRB>^SQNCkxMUot;W1+NY$`VT^IgUu(JJ^=S*$t}X7eYBBks0x0 zg_xfV85f5?;1ASx<~P)TYm)*J7ST7%^9`casz=c#Dt%4yc9B|^x-xvZ5U)ZxB{;~d zzB2t86%^T%1xmK)igCruLHm>2eS)TL!Z!WpIkjWFl%wfuiYt+_goU?<GoRVyRxiUm zP~`sr!Pxvwn0e$|g10g)o`j=&mzOaRg62`H+7*`X{81sYPrQ%u9_Nw_t42w09av^X zIU*Ce-OHH>tK^zcvcoSV&mfcw$&YbTte2pv#b8p_c8}^+Q2q#ysG+5kzgYhOQP^eV z%lI+&tiSkv3-9@sT+0vCV@%&4xcFD7w<e8Sh9t?yT~?h+lk&kkqeCD3Zco+8k==!k z4K!_n$xX)2L?0%1hTSyeQ-mU|(G=HGoFmNLbeQT&>`tT?t0_~8b`*Il6I1Ou{{Zr9 zCe6J`SEQBy068*NH$<u4SI6hzsK%t171XA`$0r_4_dWPKjAl*qLb55s7P1t(Mzqv# zzA8V!bIp$GZ6S>kiYMw${LfK6Gm7;@w%HY6xtfZP?;E3b?#CCBa@D~uc5IYV$sL)I zI#lHq`O|OslBwomjAE_Ss<{)FGCPRuJ~ADKhhdD8{{S1XnR7l1G<P)ba;*JC-bD%) zi7Jw9kI-nhgUfGn?~cgWrCLeJnra=jQ#On=vHmTas`+^ieAuc|Q}t|wI*|BT{Pa1o zD7+cD9fs<KxIvL-*2dv4pZE{|!~iG|0RaI400II60|5a50s{d60RRypF+mVfVR0aV zk+Gq{(c$p%F#p;B2mt{A0Y4DfQOvb17VchnfaBH1ad9_a#@A_Z_DZ`UY#^07!9Xn{ z#Czg2c{G>F=PmL=4o?}AJ~Otwky+yBZJQ$4U1D%xgw#HM95$PqOSQc4M<?+5Mp=;# z<$(sB2qTgn#C7Xy2f#S<eUXmD+%^pfB8*O)CXS9?K#y8h2*$Uw`uvF_O8|@TjfsaR zLN||y9w&h}dn1VDihT4TgoF!3Ze<u}x!s(PHJ4F@dN<6YW^)l@OW(WAS;(2S>xG7% zyh#&0crI2S!X0Dc*lII~C5tnVc%6XkHUyrM=UOAFX_Bo7mjrg9<K}zvvQ4-a!`4U# zG8YKs$RvYUX<w8$u%!;O;1?>E0fQXhjNcmra&M_8k|RBqOAvBki3MRYN+upYBskkB zhrvu4FMCqfA+Mer5%-s-5L$vM_`V+;_&R(b{8N!^2dN4&V?xHB8N~0&dfVPxotwlg zPLWs^6F6SRK->UZBcAwNYh%fMIzY@wu#-QVb&-XhE~&@CY2{+VapWN1hZ9WYn8HD9 zmfFZ$pnJCJ<_X7y;V=T;dc~!Xh15K_i&b*w{B5yyyy1~k3#5!Zd_OixB_9?r8<E)F z$go720T(mwd==mjoMoxV#na-u--`<!$ohGW=7gNiNSX4=5+K|+ZHhfvd6M8rfRvkR zoS7qNf1B-J7sW~>%S&)dEKBJuc#UmLiul};9a0cZowyHHP;_B-W+gnqhVl0>!Y1R% zp_8~wTh~7x(;E&#OMtOVLW`1?f#=MpeiMTmuWyf-NqFSOF<#l9NF;?za?GX1?>)@G z2%3?c{tyfnDoc~IEGpQ@Sz3wmVyRp&0=H4M$y1Z>w<ftb{TsLMCSh#EE=Eczfu70n zDDjgbZ5(E3d?eiA3n#nA2fmmA_?n!9(PWlPBpFYu1+ttuDAE=rJ7`<Z#YZ+2fn)kE ztu$ru%s%9<f!Q>~JT5h01YL4xg^z<6EGU~zpD-DCK1sK1Ci2ynUE^c1&l2JTUI-rp zW9^}8IU2WVEb8C3@VUv2*3lwC248k!<(W8yEdF&HjmlQej!XnDG{_rs`-lWym+L3{ z;V+Zbit;x+wmp0J&_id`2eL`@fONY(RUifNu}IW};PAk|XR?NS_%b7Wvu6cYWm!Sn zhU_4nfEysBgE5OOy@(W(PVhwp$9ysw4Vy>YVb-khx@?>iWIVjYJA^{ysgP(e;Uk%r z=4?vBFJn8qEn@GnZpV=bh?yD*IPBma+ntD7=En}glObSs3d$E%ip&j;GGkjDOpk4; zb`s6_&dYK!@dV}&P&5ncg4w8StE_9yumzKz?K|l(KCb3^mj2R~WMC|m+>w#&`im>Y z%NvpEdhm^*RA}^%BO=}>GHyVD)=RD-;=v`$m*)c&tLhAb&k(%O7bGN%ryU^Z?BT*; z`I2h9owpY8jt=JA{n>d|%}+y!HzA?~+jwTwZLpP7W`R!%WU9$UIM{%D3Gwg&hWuOz z9c%-;2X!8~H7+;dVV$$s%h|WThZzGj+Z~XnJR#Jzk|#aH!g3>d$!!OoP-7la))$D6 zIoyOp5<Vw2x^Gj!37T5xV4(WCk2fbhK*h=08IGc1y^FqKAjS>%%QOdDlVS;mo67=+ zm;)Yf(0*rVU5zfA=@AmikTB*KIJUh4<k^#D<i<Ogp!|Or(>>Tfh1+-i$2Ja}m+$04 zC7tfu$6<gj({qzo9<U<>7E*5V!{8Aj!=1kCgC<Rqb79U%pN)=_(&LQab_9>%C~<bf zWstBI515|}jEh@qb(<YaV32T#DRO&3pEgkCQg&Kx`0HUAD;>hhx!aGs%UITK7))oh zeVzyyS)rCQV00!ikATWUVJ}yb3H9E8Q@X8{W9Hyla(B`<VoP9MC)d;}3t|Qs87OZK zupg;7mz?@YUfXUGTKY$L<8h^4=Inaxla6iR-sP~y@{NQIaEX0Ftb*1Q+LZMg@$TwR zJ47>=6Yr1#ZG>6mMg&EUEc_(NvQ5Calg+XR#5*r4NZ_|GHtfc2V_lZtg^C=A+j^Y% zwrL<FCy+YMloyI_L-luyyEkkQId4;;Ygx+4%?ML%`1q9pm+vzT4;xYSOqzsH_FeOd z4Qb&$8E(3jrg4^iCA^rfK5{+VD6A;L2-px_$HU49P`5iU>KAa4o+FjkOaPvw+nZ+a zvr_3CBYr|e3*>wdVu6I(N2!7K{9~PfM~(3kiLkE4o^KDyITyC|&KIWdERuk+G7ea* zAuvs8avnB4Vgn*Cvn@0v7gu0SmkgUaSefCnJ86j7A?M~*k?EGSBV>*+(;$=>4Y*T+ zL-aE5y_3lMkX<Ninp$#XFbz#}5wc@LjI&M%KycMRk9UKEdPd}n4I6^TXZIYP%6>Gl zsZ<1mIL{<eAOY?Mdq={Rj{<EmFtb*0Nf~Ky?0E-VW#2qXL{pNi_id8hwrIR<$om@u z1d*Uv_iu*sqmnZ{-8jU}6O<v2a^%iihi!{47OOU|X(Wa*N@tlJ5s|+$tz;%3>m&t; zgADIAlp;hK8b#+B4A7xCnGR_XAt#KA9;EpkJ|Z6<EW&;*;VGzBZtT7d7<!`salfmC z<#;itB?YwbmBhjRtg?EKQj*<J^I-e8Iom0$JL?czzlEXUtEN&}g&<Wi#=~6%4FU;8 z$btH_f!pzw#Ce~N#KWB;x9!+}ivbU9<#uuO*t6V^asi%wu3__**McnSi_%48h}tQw z*LOd52Nv>c5VE!Ho%5`gxt*KXl4z-ULSkG-VD1NA5@6;>Sb2$$)OQ~?Us|oGo*A=) zi$nKlWPT0-4_!YA)vsoQogAaVwic7&(do5!i9Cp7Eu}ujpS!%fG0WcY4enhXnd;*^ zGG~I!`gU-WyqY%{4<+Xagk;y=Hh>FwIrRs|+~JukdtFIjCHK(@1|`n;*=^(4CsMkD zeqwDh8O}Q?giqOT`4+04ZAcz6%4f{0bdOAaeMjJVC%NBfVB%o!xdOc*L_Ql@f>n#p z>eJ3C4wHBE$Yfn*Evx}C5Po;~^EomNgctgP;fV@CvTWRiPYo_>@Ax0rG}yR*wW~E2 zb>~7K$gGdu*RqesBFB}iJ~cPbJAE|>2O)?vAs9VN^oklK0P6Ih-$1j@gNEXVWYFZ= zbUc#wcPBoUVsYDL;~tDBn;Lk`?7VuC#KIMg2iF22G5oqolbMn#bHr>faRkp-iw>9d z3F2)}XaLZrAYo(4C6z?*j~TNOOMe~0bM^Y({{SKJ*O2X3kis;_c_%!XcH4A&BiHT> z-kARYs$n^uBsn$)0uP%>lH5+j!tK#A#>-y@tCLur27~w}H6v-fAaFnd^(p!jd073y z7td^I=x6SCSNJdwxna2sc-@mY2tf8vt`^Nhf>a+i!r6)UCF0I{-HE43^>xUy^&C^U zUOjOC0CvBii_osegiMY5L)^0GgA@B$Mi(&rf*LFdfDjm!vwj~Bzq?}LA2x@5Zw7cw z_v$w5%i`9(l6A5#m0^hFDAWD1xjgh|Pn5IJuqSLJ4=#sg9yPf4xnt91Ey;eoh|Kbd zo5Cdgj6!@z)L#$DJ`AtBwR*5*^9Nguxb{|#3-mRK!wupY0Qc}X+{ltXQnIT9J0Rlx zH;A)iFI6BUKdiAMI2OTr#lgg?p2u@}uZd_S1>pV;;96+*%y0xpsRGf8O2JO8B91*S zlBX9|P|a_Nh<z;2+D39QZYd`DX8Q4I5q4hyAfwfa5~|O1KO}H~bJ+S1D>y*aJsb%1 zg^s=hvp($m6FcVeUeLYZnUV08f!8Exdsx0c01?8%8s&WbPxsxhg*LH6A&2(N^u_LW zH=UDDfiZ_IgQLd7n$qyz>O`x6j{EXbp=8Lsufs(8XMX^StkIH$?=OkpwUAofNuTh1 zh>0m%NgBd&kpj4341429z&fW-=t7D1`c;u<eS{iIV#mL*OfKqekbZDp89yYJa?A@) zIT6R?a^van?n_bdz~Hfcf?K|DV<dPkW)r{-$>=xA3@4^aqcp188^E_;LhYBhiAJEl z-QRmXoY%4SECZX6C!=TEAiqts&&Ux5(9TLpx24&>tz#2+K|Pesww>&U!VFt))H-F} z7J?kYFDzupE6DuDLP>^kvPdb9qjGocTY&2zbQ2-ZjRXh1ECjqBCdZeX@Nug-HW^Hv z0WVDaw1YV&*|hMt+!D(&-Ay(5EuOSqknTggjK1D$XFg+}md54dO<D37o?9$vca~$P z^*+h;UU!kTIX8(R%4n+>II^o;A}0h-=r1+G7bBMG;$6{#x0D|ON_)juhO)1#dObGl z5jJ93Ncct9(klWrcJB6g(PqC=!8#YWH_UO;#8(mZGtNpMt3pifFbrTY(|eQscG@ns zM>!A%O93VM9_oO2_<)Zx;a7^HtCs#TKF?R+1MM(AvFEaWAjGG`0L}%!6EV9b@KZ{@ zA?C~%VjXQ&pIsly^<@hqpBa^lFH@vw$!}gQ`MlTNh}W;#KX}Z4L^+SKYEZ#Eho(%I z5!#b*vxhoCBLjP3nj;bGsr=v_eS&^Zt9D>b8z^kE0o{j>qUG1cV~<8!7qUZ^tflo$ zQ8t{j9m&<4ruM_q)tm+<g1}^Wy;Rtn1b-N>L=X(Yw&i3loV1DvuKWmS<~h`T5OJ5r z2IO)C4>62om^qe&Vy%T_TXH)fwO1wW;+$p?kO{umy~gsSA}Va->VG5PGd4lJCE8&C z!>Y(^jmxA=D}#iO&arUV&1F$Yd6p4^J|R7Lz2QlR%Q^-2uy339KS&9s)pa)tfz5}! z0|WPiM?5879>|-5esE>CIlS555QQKLv^QI#czCq?V{R!NF@@tAha-m;5l;rs)w#%? ze(XZT@9I9wD@ERkh112X2<=U`)sS_SPWC&asNQxP8Q$g3JA^I5EN9}|<kNl$a9lTJ ze0+Hrr{M=WHc#0|E8OcdW5OU09~ESW2r@265DrQS+q4jVG5YvO#u&sx%CVJ3j45Nn z8@RW?<Bvx-FNp`zegvv7C~+Wshn=DhvRI<T$A$;UE*Oj09bb2a5KQ(#(_y<Efc>Np z7{T`|LHL*ubF;D@u{<oka^9;BDj4yY9oeVU{{XV#ZK7luXR86eAg(9-U>y9mL&Paz zd0TsrSLBVYvFI`m$M&B1JT4~soX@suZEntEAf6O3%ZNc9V^4=w^w>|Pex}{yKgnl$ zxcOP$q`a~%Hu8{=Ti3~Y+#l>2-$_f?(_fEO2h$ZTjS}CwW1s_9(5|uAB2UC>d^e~{ zolL?$=&U}lcAQ+Q*xln{FFx?&-bC315mzfAd~_`}$%R};HzEPUw|_#B6=d-MZ!QI6 zj^3;&x$YuCM!RZy2(Ca_o57eFocHJIVvgB&XHrM5MKZRKENzSz4!GZJ_1EYx7N2Fl z!_@P~M(iBVIe&F9O3>Y>Ps=8%DoeqF(ia`kiV=2!-<T7`jBM9U*6z;np8%G7oF3SR z&RWCq&@2A{^2Rg%Wqf==%itQL6GO4f<&*t0X+f?D1M-jkzftW!T&4ZXbLxCQZ^8kU zL{mM)B{NW(FIFrVCi`dP23ow1TKZUa_uE@47t2_xc8s#t*h~C;uY(J$*>5*YW^9CC za>cLS&4v%+z|nTP8Pu%^c(v89L@+w|*a{x(<iSLpIz?I-Ws&-_RduFB(F+7=hB>yu zxW?=}n+OsA0HQXsye%fG;{0wxsHnSkwEqB><S}PYx#1ndU7%f&sOZa2HfAcuHUrde zPzQ@&QN3SE`WM!ZqWn?y&(SbL)%C6e>H`!Sc}1s$)4dP-XZo_=(%7Yj{{S!!p3{ae zEEsY`ARbH?V8=mV{EXrG2KTu_q4hJ+D=+jzfWHlu+xg~jvxvDl_i`iwy9n2;HYKj9 zF%98jN54HXJ|kJ^xSQEWWNsj5sW}Q#(~_$_!vJwcWynO2OXyG0dPJw8KT`Z_@uTQR z(S8f*&-A{6euVu5k4Zk4)>-;XdQ0`bmOUgCL)85j;<EK;>iRd)u=Vm8Uy&77%E3{y zo_a6Xi*Nd-@3SxKUb35O%mx$bmt(~+ii1kr(aAc}VhCycahUca+~!M_=+4sjlD-yJ z^8WxcQX42c3R@e(M*X0*8|F}v69hSx?!`ttwT)kf!Yu8-(y>?axLuIP&RJ!dAv<<0 zjLG>1F>~=4$K#PK5@bx$XXS_R9i;$EA2|dboi7gcaUW2&drmEXfj=i!9n=tUh2@lh zHSrI4RwfoEnWAKra#7^?{1U<dA7a4M)&}o2fnS_iv95WGL3TgQ1Sl1@q<u;=4fMw) z^hWoG&2#H$64wHQfE|ZKhohVEP;|uOToA6M9~{Y(CQra05J-{y2xAi~B&kxQhrd27 z$gu+D$(*rb#09hh@*egH;K=~bQNCRB-1@x&-80nCPY~ojFeosXJ)GpUx3LX9*_hCi z<C2xj1|&)Oh%vQzAL8Ki{{YTh1Lj%Zr0XPe;CtJ<$w$PgR;5|Un?S**9wpBfO$nUj z*xp?%WzdNZ#v&2ibQU_Qq+E`+00j6_=Z*$(ug9z6(1OlSX;kp7sq6TA2jOcG4YVBx zHH4m7{O5-`6X|Ba!WW@4ABV|5IQZ4@K0M7#h<@R?%qOS@068dx(eoc9sXR@}N1qY1 z_smK7>pz3s@N=Y5>T6GOs{-jU6TP19Y3d?uSVUWsh4n65mOWTc$I(9-=?dfFW}+-| zAn_RSXMBWX?mr~p)*$0zcF}g=S;`@ob;$n!g7mh;!u*aw#C_d-^5iDvGzr)ln40`Y zLkeA{g%{4X_^fsgzeDYP5VKTm;OohvA|SR+9ToVUnh6ok`yvmr98h_W?a(c}wrV}S z<E4)P@I9}h0s!`7_CN%9{{Rl(-{4faKILOrIq@1Pv16z!fTwM1Yq7JBj>Y|MvZJcm z2>|y5)=98~c=s*<hhc#tP=v5z&`J(Vy(5I6EWD-C#M`NLi<3rKV`dw1ekMc#iHHS~ z2bhfVkS7zjuVXyhN<~|xgT_S;aUfVxJ6=f<pcKqwkc^e*Ff;9BCueOlu;dx>eq4%~ zpW(YE;BfMug5wFG;QCrTd&_h8G>ia)k5@QH7-lp9iVgn&A%Fz#Wp`DXkYGot3=LKr z4(+PL#2h>r5+t5T=-v}K`z9V?>A2^dmakrX>#2{Fcj8hZR<71a;tQ_9`-Fp$?}<@_ zst38A2nFO=GR5M2Z1<ALP@*g(0(!VKkAez3B5PpS3xd+pr2ha>E&O;EQt2?FT14=> zEESX9E%zrwu@7fcvDvAG<>_qr$tEIR#2RVWV}|>c-WTA<2?hn>hgoC2WQ5@D`R@c- z@pa`O<z;Tc_%UF>_-zRLJb0QwA~X}Y2m2tlMw`8Krh9=CoP$6DZ-@XtbhdB*08O%` zpu5cX4;)$NqxJ4QCJ&@9ce!EUI*lJipZk(vAZ_6uH<w4w7=8$hcw^%mGHkvX5QUU_ zc0YSg`|oDD_?)^&Su<8k*r?~lyu`UEypdRu#j)9{#EUtQ+bxP)nSt<-#>k&mM~{%+ z7n1BmJw(X9J}s@Ggd_s)S-ixaZ@*<jb{{V;Fo|{`21uS$w3})E<%hz$4ql>G@-MJF zz`#T5)J;M&bQa$dj(k~yIbS8q0CX4FKAX?Tr~a<#1OB0hU)vDwQYXT*_2I+z6JvM) zJLTK;(Cw_mE}CoWVRGZXyc3}7oq6dA)FJ}@B2En3{{XTdU5oa<qBAxZAV_=(Y>r*9 zdn5Lz<R9#{{{YPfIzcST@H^OF?L?bkf!>f5<g6_AYM^b>{{RX>n7LpiffH9Andb}# zoj+I9W3AgJEWzz+Tao<@oQU@XQ}+q}%#mUK*=z|tp4Z{#p2f3Z+6xTq9!PB$u+_&n z3E`G8_eL0oV<xOV4FYBW#%a~xhmQ;#PZ7~zB5Y)Ehmnsg7EDMCaQHXKCXNMsUJ){F zT)(e_@Y?SuL)P+PhumWNJ-faLXGU;Ei%Zhir{K$qFHJ|IzTycQvE3d@VmyAr-l9uX z3!0!b)t87L#l{S_lagLFO>`M&H-400iu%_-*5p>v2Yr~9ulF<jH)HTf{{Ynk*g*gs zauPK^xpNU6QO8m$Ai(tDB48)_Y%E7p@+@)tQp?$k$|i0bj(H^PAEAOjrX}TM<LcT& z+#*C{h2VlbBHube=-auw@N_;RQF~^&KmP!08Qdd(jznMJ1hYuEd<-%f+4If!C04m` zSOtW@wx&FzuHN3lpzN6W;FICVs+8;_#lgsmV<2VBgm}Y~WaQ)($Jk{gb-&e^*dl7f zP%M34f(@Mt@(jbEZ==fGT2t>hzgY(Q#NmQIF0TlXdZK83YudRUJHx<m0DVj|;n*MB zWrmJ2zd)QgI6wDf089#>kxQAz3?+`1tkBsOZ2g$>TEU*I(J${n{{Rd*WEvB39XkZb zLE--Z5hQ?l7wZdavLF7(yR5JaAKd={k!9?C{{YR#Y)`l|PXYj9VE)PeL5XJa4RhDP zIHE7oV|+vg5htGQmrhG|xPCtFh0I$K=1mrPhw}--9KE25KNrL8;rO*UUOOLv<ivzs znRO~i5c83Ub}aeZDjl}oKs_wILrXl6<QPIl3Ac6<KxXPt*SW>c!KWTV1$un+f=ooS zSYp9u{{WBw0Ph9R{aBm+=S9dnUJ24faoJ<c4}v_mcZTeG0*Utp4kqBeKXVp0Dx7}r zi3gs{{{U@X>zlJ}c?RJ3WL+kB)T$Ie)PC*(Z`c#$+gYol>$zrY`e^E5IXBjp3oqR} z+j`v2-<ps6rG}O^W&S_yW<eNsx%s`fr3f9h_kG0w0LfVSUhX3PU-G$1Fo)!}TnT^d ziOV?w?|;#dhRJ>`CK=7L5FtMpMbGLzkz&s>SaL4~;9nkJJ?dTye6trq&?5%s%*FU3 zgTg9H5Fk#T-eSjLZ0ay0L_c@in0da$54*|p7VfgpV|`kh6y0r1H~Vf&iBt*F$p8rj zXW(!7IFA+Q@oAU1PyMeg{f>}!9+n>w3NSv_Ck`V_-c8YVe#8DYnRW1v2l5Xh=BaS} z*(cb&5@s~IUDt&DGa5#xxBX-Mc6ieQXfIc<@IS_jND)5oI`Pkqss8}*%xbk@eh>Oa zeA#bp`+dL<Y~|*t9#Oas**)?8OOhGk5A8q7;%p2P`%(Gf3$ph#l`>>}Q5|7Fgd2;A z$gl8`*311tZPV;V3$^?~{7}x$#l*aBY|G8t$uqAmY+!i_Oc&PeD>^|gdowXUYWJ{5 zQkG2L1Y>nTtYoM#wT0yIu`u=`_{s+PxStcK9}E2;b>v^lmhm1m=9_xdSJaz&h^rvJ z4f3)%Am^jQ`a@{!%TIwd_6sF|U!i<OmW+M>0PsX$wD3r5Lg(J~i63@5F#XaCQyE9w zFMi|55c*H?yv@HP{U84TX_W1*_RFW-V39@MrPjc)xUt3m0HmpU@L7;7_1{eD1|#K| zuebjIX9mkOxJnP*?QD&E{{ZR$&vA2OiyFYo3sEBL?SM`74tp9Bgi3G9!w-*A=t2uZ z;I=2m*~&8|5?<sm1ZgL%Q1}NKqXXFmnX$&GR|~)5KprbER%24k9^yE9lkp-FnPpBs z;(qmr{{ZblJ^`s88TE?gIH&Gk2p`e=x5{6dNXJ3g$Ld5(pWh%mgD=Ga9{>pHKY@=> z&DiGne!dA7GbF_P_G4g%zX?Eldwa9l;q?~Z5WQe8s2eu~JtUP5*8cGsa({OD{=^~* z2=ncmQOH3IP(uKprdInRJ+#<@pIO`yx$UvAj@Y1z%Gm<z^DvDz6J$Okq#T1wkvSoG zYzN{j<CY@MMgkm4g&3W^kG;J8y#0_^ZRQ`T_Fzq5F_D$f$eu{?h=WTIKIAOvzi|V$ z%-@NgsQrfne*z~doy`9L(IS49Gd&L^LV&aMr|7V%``7zoJpTZ?3ViSBI!&qLc^BQ| z%AcWE{j>*%q|NCio-zCyf7`?Z)BC*8WP69_WO=^U1&X{Q%5A3ePbJ^78rxQ!+hV}U zqtL(PZ7cp+I!fG_sjS1x{{Zdob^icZFhMwL=WPp8*=FFw62E|knLVsqDeA+Q!)7cS zkC{EJV{+NX3`0}%olC=XEQ8|CaC;!ge7>Y(h(XD030bU%vy0mehErwU{5aDunNM*! zat19pxdIqjv4i3`MtcROxGE48l8^6Y>qE>FR^Pl5{sh#1p=V5oKJ91wErJO?xM-K> z_$gi_OAr45L}O@2`49dVkj4K1Y1={?I_po|GkH7z07gV_?Tj@lD}KaMD7HNewX^<N zFlI6F*%EE}rJVD!Jl}5NtY8RzvX%JqOkUZO!kDmsGx{VNEP#X`n;+a=Gc2C0c6!U- zvU^O)Bib!>C3x6eS!*Z4z_|IJ?osaOtMoS9I8%UO@%i|Dl;f#*EP`2c7E6`ruEvoW z$Ux`7axwzRUVhkbWi~78G>UvFZp%)NpfJnBVE{jp)^2uk0^X0WZ)|~WmF^eHOigdm z0Y@$42C}|C4fl{q%lOCsGh4sE*bcteAjA;mn)Db#FG!E|w%$0Lxbku2MmRgs8{dY1 z`n;l!fEEu)rU)+f&)fc>D-k$eZL8e>0PL-aU%OqHi)Ik{yg$1I&stc(Gt?*#f*sE` z^}x^Czz|}Ba^uE&eK+Juk)8Vs;OVd}{K7eFuY+5rdbdY5?>Nxyh3PN5fqC`!J%0<z zIM?7jKn3Aqm1TD6$V}v5L4-LG{6P$Z9Nx~aWyaB3A}YwX`F8{Wkrr7IS0(JrH~nYT z5ux=20DUC%ME%T-FiwbvukILk`&&1-Xqg<q-fN8x>_K~PO$PuyjNzs(ld+_%i0ADm zK*Q*8vvDcIf9gaVx3Fl6d>Ar5)@E<+2X6Q8@dM;@?53t(eB#mZI~EEjgue?xNtct! zEQrJQ_9H|rT|ZWs>2dkBXW^H24YA$yc{`uO%2Aw0;&zkTPfW?y0&c$o$=NzX#h5|M z6)bpR(la6A@q)<mXt>7Mn%-~0{B@o6b8^EX5;=fEgCGkSgO{Vb#{S4i01*b5!o(ay zd|98wEc`%CjpR~3p>^*anE^4LQ0gDHHV2K9#)$s_$^QVBci7zH@<N71HlyXS{lfBE zd%rEF-KEO@0%iTs#@T!g51SqB9}RyI`S~mu-0S$;)9gRllJb?8e~#<U&uubnkVJoq zuOGpI{BO=ZC4%5bK5g#qaF<BA55ye!;#v=FwjORa?1$#+mnS0UFQE`fG>>MH&Ro^s zj`|Qmo<_y}76}N1Sol-?nMCXlh!=k9eaz{>Y&5*i-X><hYV(_@B|j3Veb@`FwmBb) zUd^>+LAA3@V-{Gw8Jk8JmRq(C`JPV?Y%OYE(Kk<ndnW7gX%H7nyqHTT<(Aog49Vwb z!FiJDaQrx)XIm!fLCcBT#n>~<KX6YsZ(t8$cErK6RS(Bxwa5U6EoLXou;IAF>eY(P zWy7;Fbo>;a0@6=K{Wf5n4=B9kvhzVIOTmUC?pohF2)hP;C<8og`YHr-C9K>_&cnMK zvuBb{kx!FhhVrqIe9e$XNbeM0&-#~YukO+TKTVyM%d_xr!aMLhJ|~h7z~|w7uHPW| zJWGS%Y?;!@I~O|_I|-eKJi<T-48;ZB+}vkRXRIyT#dz%U93UAb$RO4LHu4#CpS_IU zYD46Ojn&kDsrwf6m{0vQ2G%poFmsCW7V1qrtvx#07vA4%Vqu-xwU|d|O9m#|S4|mb zgAaH|BB9gChIIIEz?%RpAyf;+)5p69NUvWU_7t#y*?0IV{36LY{A_*)_$#B}^YO~V z;dOVM-MranZ1c8HFpSuUtkndLo@95jE$`s$L}WaC9AT1&#K8yQTLBg3wT-XuYz<`0 zOF{?w6gHl%vGLN;9ML~({{Zu26PDf^c2`>ld9yMxym)qOy%ZQsTiAGP^13gTN}U<Z z03I^kCE@M~!+I;yL*7HLfg|CA1|Wyv5$pEO6xp&t9!Cdl7sz+y@?KES!Qr2W;qxzp z!{GR@g+h7xEG#|Bdw`rMn-qM>_b1)a<~Q7N8zdaI{DA|py)k{=U7Wi-fEEq}Z7>qN z<)rj|&#wESEUH|xLCm@*_YLjIzY>Dq$zu&Mi5?+xfO%PTa#W<tXVuGw>VMKWhAkKv zLI(OGHZ|%znk~}&3?g{98;8uFlV(^l#Ctk|1Oes%<m2Z)XoKR>J}*~g+DZ9g_#c3W z#mC4PLEHP2?swdbN1VSUq-z;`J&QCPByRaKQG`y}SCVb`_mY7m)*^Nnqn824{WeLz zxWkub*}j-Q@(6heo5y9aV`+~Ul_ZUn1Gjs1z5f8ILB6CIVMXUkA@#6t4SwTzFbV5_ zvvU?6%wMYmYPU;+4-nxmD9^&O49H56hBFoqGW$#L5PTUAj*Ouu5co{b!|*>D2>czt zF#IikGOxk&5JW%0G0cxIiGvep!_s~0bn7Y|zUMw6;SboiJwL3v!~){&nf&UJ7cWB5 z;gE;KU~-meMxikWde52l{{XC#1bVg;95<FS#N@rC_MDCo7VJ1n^Z^47*4@{_{Wq*; z(=CwUN9aPUD-SznE?D}!F$uyg<e%Y^$*K6~<6nc|d>oTbr6VO6#%JO9Bjo=8h)UUI z{{Z|5hTnnlvzRbHcUOGfV`ih@nF`6Vuc^nJ82g+oV@!}E#ylKbnd7SZFJ2)@E&-q6 z&*@k~OE><ogXiY+4Tw-(lD1?_IWT`jWcBqdeBVU1RZsg!YO`}3L?FT$4<<7`s}Ui8 zQ?op6&Rh;dS-$=-qi@0Uke}cp8BAD}!rpwwNs0V7;FLq<ShC7r<WSo`0rSm$%(}=t z!7|Mzg`O>@cV=C8&`&Q*7e`ygj(l7jVtyo#v4*yDNl~v!6_^zv)#md%OdvdlAKJGT z^~rHY%)|cx1DBCJ^(Q_~UzT!)+%d2Pi(ngRB{s@1gaw{H;-}UmHGVb|;Fezp_-sRO z!94i)lkhN-@}J@V!~ic500RI50s;X80|NvC0{{R3009C65fUK;5HST4K_DVgGGTEP z6(fNLFeEfm|Jncu0RjO5KLGLW_ogNJHul-iR`fdE?XjhjkuegIDa6joz4xJIsbs!V za??KpVnom6>6sBP_j-!cCHiJrj$2||WTIL)qUW=Fk#n4cH00#AW@>2>n{-zjr`eso zqgAx_c$u0=PjZ-zl=TKYuWaS9BZ?XlG2+wNlX@kcdpr~R|Hu1&&pDmyD7oYw$82-I zY(~iCo68K7a+l~FTdtExV#MPVVi#<~%=KVHB;Rd}TyiS6Sz;!+B)Qep6wY!T{dRue z&;Or)KG)a#{dvDW&v6*xiF}O!@>GvYU2+;0zFil-wsiS)(T!bZpZHt3yXK)s;o&KP zWvkxBydOZhg<||%FuM7;d?rzQ34Xo5<W_Xh_9{QFQtA5<u;y)Q?js5rpCIhNUlFBs z{h8F7w}9MVf0-gR%Cs9%J;1d5$SGRPqzT`bV-EW=#(3?H=vJx}U$gdX^=vgF>=TMV zSt96fo&!Sj?{%TPoF^Y36JN&F7}gqM#hF7+Q96-an!d0xK%lGcUa(N(us6b1{KTPo zuL@8v(m1)iz-EPt709UMq{_<QkeDwg#Wzcv@i-LdaPja|EI4PJk~bTE@hVnh-q?Yn zq$yvviyHlT;_oHKiPM7W1V?ILzy5{(udnT3zq1WsGgkgt=Og6kUdRD-FgYUZ4`j9K z*BtgCKUCQIT1U<AXd**pvy%#hlLn(oJ^+v<)dH+=V|{3&jYxNfZJ`QVB3@Eo#Z<3| z2qPtxEv!j?Gr-|bFHA}B@}XQ%{nrG(YKTBnaWY@Ge+~LEo8Z&V9CUsYwx+mu9`o$r zdYNe1glK#!bQo@KIPnX(;UiO^1FLifx3fvOT3VFA>~{6@cIV$|TsZcYe(g^q3n6!y z$*VjAeXY*Km)2)dvr2b+BAed7OexZ_PszT{+oza~x|PR7(bH-;M#jblI!ZL!o1>)U zCg%WI%BicjcdbTDUOrXq%}#!2q!;^mxbMlhGTvr->!Il?dglv&D}LQ^Z~$jzTq;^x zk2g*VBGQyLde`-aD#b%}MzOV8xxQtlgD>k-v6?5Glc#mT%O&+#C8bV&x_w~w_H@3d z<?vrkKlw;BPc*gzO5JdbHB6P-rpLHhG7anyUv?&pH|;ZW;;O!Fm3p}WJk1lBoFB;F zre1Lt7;ha!<%Pc7bN-E2TD71exk@Pl_!svikFU0(pPitYwcZs)-`<6!!K|}(^+y$s zHtrj0>UtnHla0J;4x8_pTfP5`7o<Yo=?+j|xYcqy#!XxQQ|b}7pxXUasdn9E37Miq z2qI^;hF<TZO0gG(*1{JMd#{Yb6kLF^PGh&$*^-*jmD-~kciav4u9)vwnMGH}T(@M< zLX74eD67+uM+t2^w%sf-*;d59m_bp;Dp}mjb7*&2qV6bez}$sxyC6SrS}>}wHn@ef zRHQz=yx3g#{Rq&V<~Z2adn@0dSis+I@}hFBV|tjJcU!i_P4&}Dq3&JN&pIQ#XCT7O z@&ookZi=Q4qi8rT5x*XzWbM7@fq0Z+*sLP)cyzbiz_>2{ZJVS<a)r>cvYLyYfh^rn z4okB!=EOOU`mFn7@(r3x(m%L4H#<4^zq)%U+Yk|0IF2<-`Mc6PiPQU28f5WZ=;+T) z{4&m{fdf`IitawK$C!G9Y6Ec6s;@WrF=nqA+RXuZn~W%P&B&n@)$a1EVk%<e>)F`v zM}B{J=K%jOdwxOHzMejAINaGw3h%s|CYM(VK{1veX2`7DQy13nkk;aDzuikK4V;H3 zcY3(acT`xSH=}!X$0SiBvvCo$_Z!bw{l_6Ga@^{a<Hm|LtTQ-o=+cW#z8{{7=&!s? zg<<-s>M`MWvTEv1x-F(CIJDkw>s<~4Yeh^xt+s~hKNz<K(N=I35)y1BF(t6gmdX{+ zUTSx_${F^dfN?Jr!ir&hr;4I17Nix}dRe}m)g9FsA|Wkx%s3~<$EGj+Ol%a~1=<E; z-85bEDtCC3gsCeW{WtGJV)jYvDNhW*S0$qFN8<mUzyDgeVZQvRb(J&vWZ%oMJ5_qO z;wEma^u)d2D_VLXmXKF(JeAQu_z*y9(g9#*ZAXQc9_k93VvIxuG>JAAZq}#Uhoo(U z2hDvyGX4EX-lY0tSeMqU_wuN@TMY__=)U3G^EJ#Pyh?{f8{Lk1N5uNkQOOe$tu}F| zB|~yb;6wNP#4!bZeLwm@z321trtd!+X%vJhKTV#~bR{k=4-SS%Exqft56*t8z6%Ad zL6VDFNIN&`J@Z%Dl1hiX4ZD#@uBz#WGTpxDGSlbnseF47n6}l>t2)m;ocs4)n(XSj z>Ax)<j>?KpXH?&_)$<A)?1~)CC-g4VLa#}~a?0v%r7Sp7n&aQLa5d)lRCO};=26fU zMnT^G8+s2r!r%~Tnm~)`^*OJxTIug%hKmD9d&$IS?VUfb#bE!_Fw<<(&~k#cx&or8 zZo2G=ZU3M}Ms(PE?EArj^~d$zqwlKzYNvZLj8j*hXq-!xR{4Y+N=a_XuNyRpNwL85 zw#937f>i(@!dnMUOwZagnQ-yh@rWRPlhqn(hx9O>zRDxYinSm21SIgk$*R36B1!YO zaH*MS!TIz0Z}abp9&g!P*|DrJ$%9(h>_CRYJwbFw(R4HWkH38CdXT5&@>=^n;4ced z{rM~%Cwjp{2TwYhS7X?M@S5{3oW&xz-)u(m4fC{O6FK`WYt5Rcg0S?C8EGYxsKt;Q za!U%sw)}qNF4VLT-0Q%QnXcunqfBmGk>KThYL6;)Q?Ce_&`4ICOB%;(l+m*v-gSCv zs7`k+El*51bV6>hF!N5(Fi{8~CZqn7z45NS`JlDN_ahE(`^9fd#Pw<wrZlYKK;YV! z#Qv;yNl|Xv=lAuLtqJtvP;6iOuE*qoHtSk?gSS57Atr%u>S9kU17e7>OM);3gUnp` zFt_gR3(aXbGC2I$B4%now2mA;nHhUrROk1wf`ev|4{Z)JisP4VT)xr9Fzw}TLA~L| z4Q?&c`BQ1Q&F>*k;vzk2KDJze+5;#10LqaG9k?XlRoNLw{m&C#XhvV;7^zyjFsXsc z*H<*wv+5C5X~vj$24lw~NVf5Z^F{0S;tWQ>eg)L5wYc9l{iN8^;Oxnwki7n|A=ANK z#~moFKv;Ukd<(S$EOd)IgvwF&Tvl~LS@v8{oaNxyh`Or|E$Fg8*OTq#Y;4SIW=idZ zHn3K7sr2FL87^rBk`B*y;Ie5iKll~Sq6LV7GW3NIRnrK7Q9BFm{4{6Rgp+%HzP0Dv z*yMB`4Doq#U~J$O#~BPi(;IMw&pnPE+HP65B){4G?XWIV#J|MzJefDuaF;1Q_zm6( zWsc2SLoE;L49)@!!@Dd^6St7L*f(_}A{U*Il05|>+&_8?<tHI3(tO+LWdg`6&W#6H z2_9grG)aT^Xy=E^l&(^Xm%Gd0*;zj}%ZeTDs~mXM^_fcXWXD|PxBxi@`>vGC%(^o6 zF#g+P->Xpyn8c|OwbLUfT;sB{d*T)M(mAHymJoFzX4=S+-wK@~8BXR8m5$A$;6&jN z`i;DP9oVl%1|LPrY*72w;-&^VsU|OPu@}Ht-J6=C8Tmda@E@*UJvLuwpzFE!2<IlC z7}BR>ODLF|;*bp;ZX;IPCUTM#NspZG`9&<s*pn9zXr~kRkf9ZkNd~$Fe>=QiMsXi= z&<V@8*fJX~Gki)XB+O0a9cfnYp&Bga-2wgF+VPVapF+3Sj^l9YHEtoN6im(wqpEYH zfdiRyQP&GSjG#G)7Ke8<YVW~%nz5l(LMJsbQA;YJ4dtW)`d>f(>&O3*@%|^F<$n0_ zw7j-dLIW=RDz$bf>OjpBs{da;O9`?LM+~DC|CBBQ-D||$1Xtw<MP}i)lOu%N>XvBn zZv1-A=k-kva`9%OlR}^<^OsMhz^6`ggx-GH>+140E~hMdR9-!y)gCe&J2fSpvr5i1 z|6Et*j^?W3?N%3crw3?1m<R5UFVdI}=xC>5^0MIJ$)uY}@noRGzvo2RupwAMM}uAM z8FVcw_nD~T%qDUa%&gTQcLCQ96-{UlI%vO&N`<NZZ(38sh}x$t;Zh{73HVRF&YV9d z{P0cYd{aF-n!M-{{mykP+kR1x%18cH6|UFcjv9CZy{kP(<!9-`qKjOPlY=1va?Dz{ z8E74%<$0IYd2Kwi(Kjh8?%7&Ln~u>FI!VnN2b$IRBpT7TPK1Xvfk?N6h5ITEc=|w~ zM5f&-mae<5&tHfo3IKCtDtg}$SNq4kNnc`MH+lL(t4DJY+ck=oN!5XQuLqVCZ1`f> zGQfQhk;evVDY)cq%&97Sf)*+(82C7{#mpVN|K}HqTwdd1<bNH5qDm!@!J-DddaIX0 zm)0K_SP)>&GmeEvs?gi*_*Bu*#DHA<(%v*O;RYO79zqn<0H_*uHL4&*;nv$UiX2hm zmNP*5qY1hry(thQgE?70c;S`XFg(@EDnYp00(iwUkL75)O4HmwD~&qjab{7<>W8V& zm{7Z`@s3>)ji@c=Bl70Z$3fEt68?r>Idh>r-FNg7H*e|U^l@G1Wio6p4(si-!^yGd zxx022QV?ZQPg5ManSyt=K@!N&i{^v3rGK3H{+=JgHVx9+x-e&;dECw)7QIyWf-z8@ zO1AL4l?XrOn;Yhy^O%rMY~bNb$;2IG{K7e9!9|+dQ$oT+a)w+}DcsA8yEZ2)BTX3p zHZ(E-b2W(EMqxg*)CSmAKCczj)1C}?)nU`mT53SPex_re)+KBI^s~Pc*rn8bt&1Jf z!mA>H#O5xf5x*Tfmyr*#9xsH0uP!c&vX4JMan1STFiB>-|C}>p*prHkivfH>JoMw^ z(!yIr6~mt8YW=Cf&18;~#^pNkAgqf2347KOSdI->EX*0!+_I-qCTFl1t?7!lM5BrD zHTm7sgJV6{Ok{qMA1HIL1$!tizb)g;u{EryhvR~KAcNAF)vAwhY{oCoZ2A61J;Y7x zcqh)w_@Y`xMW%|`_ap87Y6M#R$B-S1j{kn(FAYg*1qby_<b~+`OV9K^QZDTfvZF58 zKsm2jM}Oua1rE=<O#$ggXH)GaXPUjad63JEzAlaU45XmrsdtQM)XGt@7kwT7;C}g4 z$w^WopX@Jiw(~JE+kj(s6JD)=hlUXXE)S3%Rr%x-mSz+f@48IOw#l<7w$RZ$7tvi~ zjLg6M27TW*>{}X(tHP^Ed3<bJOO)r98gULaQe=Q!?wipr;KKUBS(d1YVLkD*hvjWG zy8z|($`;|aj)TYLl}!&i*8bj2LcPVTg@;zVg~7VVLvtBl2J$uP3rU6f8&^YrkooDB zQJnhfFG}!kh0N;ZjG_}hp{j4Y$sd(ncFvB`@QMrtpax>A4{M}t=d|2e>xcJ{_04|< z+p{P&x^;<+z}jF&)yifkt<!*1#52`T7E^D-KG}QKzI~XOGt76<fR}KZyI?l;_m;a$ ziE!k!27SaNYS7YtZ#id}*?6GIlo>u1j|P5adzo&jQnmvH7fT`0EL29@o_R!GknTXP zx$hoMQT;x3AvkckDii!@gbWQigQ4Fv3%`knU(G`fJRk~0V-dXi;d#Sea2l&JG-HJH z&3|J6mK)O|9MSZ_Y!OP6xk(hA`}vpexw3@CrBOSOg=n2jD*xCu%Ir1vY*vbrl}@&K zrtFO$GJjTSV4dZj@qwR9);UmJWJQJNIuS}?C1G#C=ora;OXtm4ml-544;rv#<=v#8 zE>|StEAw4WxoY#6a_{<rBESg>#?-dz$!|MJ5nOkI68fM2Ew35Fw7!5tt_<21nD={f zh^9Z`Xq0a9;pqB@h0!!?6N^1fk8otg={q|YyfyGl8;ti1#z$H7fYj+&(2m3~p`h4& z_41`-yA(II7O&BI;;Y8b^*w8oUkHuMzYB*b2(g5ZMP^7!%i9~v4&8UAKGY;|Yz0dJ zlS5L!sC7Uk32f;U1JV{-PBqKm6?1j)zh2ORb^f|`y5Ivz9~W}6SU<_7*pT98h#9QQ zt^$KV<RH)-V}p3NJ-jmra2V?jMVqb8tn|HNwn?Ait7opWcrz%-Ye>Os-l^gzps|$% zHXt*R`IQwDp$+9;FRY=C1A|VMOhYgvUvMbj+FOe&=bOdeOi*A8LlHGZ&E)qZBhNg( zNmReJfZjg2`nXh>ve_{pQJC=cRtjHLfesklEVhp%U#*Z~o`=c~bxWmJ(2tMeTEOn= zMi)z_avx_U{YT1_T4DQJ<(?ExH4|ZkXg=Vil6Li)+~dq<oErej{6)R66CRpovj?|! zSy-`Y`n>g0n)OR?f1016XwrrGxZO`Fi)qM9=%nkrw~#DicqoOl0ry1%)VuOv63~U< z2<$uyfYSBP0g(6G*%B>GKBBOBtkbEvfQHh;S95rgo-E@7$gTH>8HaK_>g*zYB28L% z|9d8=6jC%n@nY613HA~lJCa59+(0_HwyGZx$EG?_re*)?#`%RMS&6-P@?n5Z)2OFB zVIFU2YLNYFGm)>d-Buhlv>YslR<(4_KhTC;tRYwfI@&)L%-e2;t@8H45{DI;=<;4x z@HN-4xlSEZtr?9s@}YqRe5KEEHP^)25ZR>t8Du_!Glf%4y;Qt<ERJQz7W34T`kEAJ zL~l&2e($O(u*3W<$YNw$>^2x<6uiN?S^av)aJ@_UUJR@B3=^3BHR{HzsRB-zzhCV2 z>f<uuK*S3F#}x-H=ZQkU@!sWxDo#ahd3iS_gJ+#SRxdZ)ciAzxzX@vDBn~;0anuj$ zTl730YubMd1%NP_$AYB;)&&9+Qg&YQs>+;r>j-E1yki%LKya`Dy^XBCu^r4!0z!k^ zdZ?|JrrrsW?qi(6d{Tv9wRWSra#+rvqPnCK+BNAhu4AaKpjR!8d{AogdWAvAOA&I$ z^wFLIJb-8SYUo4c(8Py$1lcNAL%zlgl{3kUHjDxf^+grn=hnh9C=y@yIkL+g7IJY= z-oXEwQ_iDE=WY?{ShYLM-HqiG$@+f8V6G5C%Gd?%!s0a$+HA62zoLF1>x5fQ?LGYy ZK-OLDkYjPFVZ9QyX@a9%aK`uP{{tZ{{J8)C literal 0 HcmV?d00001 diff --git a/packages/app-degree-pages/public/assets/img/demo-phot-4.jpeg b/packages/app-degree-pages/public/assets/img/demo-phot-4.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b2301f4afc340fb8754155aa72553a33795de85a GIT binary patch literal 41249 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[_#8%Zb-w}-eL;Nl!Y7P^Gz4O5zR2kaAs@i=cc)k`1f zS7YF=(lN72>_?gz>U<XKek)}Dvp;q13gz2fQBJicGL0(6m;vmWuv=r@w7rato}^c) zn=eYswo0j6Xk}lKis6lINe-i0nBB1LvCCt1N?#<}t2LD!S%Z8#lpO-un)bElrlp>< z<L6u$MrSRUdqC{nH_D&UibawcllfNL{bw&|H2(m+fg(`d;;6mHQxK;rgN3@M0p19} z5)iT|ysm^@#3NEQ*T0lnT2t?)s2tWP0^kt5&KiN|gCwC~t(8Ye5Hcg0B-LV=*Fv^( zf8A&9s>if;igoHRJ=AGDNer~aBe6SYEUQ)hJ1W<!(}#SX!#ImD%Ax-NP;;sl(rNiE zI(;w>;Zctx;*B3?Z5vG|v9ijcjt!P@c{~p#UX2=*wvDJ(Z6;C3Di=Mxf#Jzedp(@W zG+jqAc0kt$O`GQnZT_iV&}@IGKV&CWDvJQzrevoP=(W74>K^fKp(t9&NWvCUsyy>f z5y3f!)4vr;c&(rwIx2sOZ~b9nvXdiFs1S*%nYpJa@<%bXh`K7JBlk=y@%KWi?kz=x zon;z#i>RFh1xN9>_f)p+o7pX>T|_n8PVwCuu*Qg2*mk(vs=ckHvsJ9uhC6BP0Nqte zbRNdDWXK&yEVij4UGU(l`%h)sK-uZQYa2*X6+kfjz<!I`4%w=P{GjH15t@PerM!@P zHoc|A?J~->b5D#dyZWozlc;+Ulc-Mx(oZE?u@(UoTI(Pirxj#z9qhFNLJ^IMiA99S zD7~WU4}PWKtH{#f2>Zx2&<Gl$IVvVNrnj<0!6w#DX9!O8LaTTZ52~&|k!=8*#g$3$ zPV;iQZ-F1W*!FNL)v2^pq!~ekv^;SRBbujPud&@oROun`$Gn<i_H4TG3#Ao6HNZP# zEa$Kbh|qR*T{AYevtg_nY68a7&y>K*0WmyE+BS`cXQfg5OLFaDr01yJHx7V>?89Gb zbF0wIbAy*SJRCT!xc>k;_Lz^X#7x|$G3F)dji%s3mgB57O)(`v)S)`#9qiyS*Mjvy z4<tbx5qm|Ce!4y@ELmuvCQGzg!7V&dypzQ_vYkxt0-ta}5em<R4Mp5ZR@FA^VWtC~ zIyO{&HthW=BY_9%t+KYu?COlIEUNCEgE19fl;tF<xe2K4y0lkiH*}8dXc{L~M`79h zgI)U#ZJpml3m(GPc1Sv1Z2tf%eSMybwnm(Wy+<*w&2b@Y28~A6qfV__bsR~N_che5 zvi|^CdsGf=glajn9F}8F45rCBP|L+Z38W#{j^l53;)j|DVCyF^i*WCSHBa)U9M&oB z4m+xmpEXg0>7thFnKj(PcUWM`b6uY(_H8x_wCOsgQXM~4Q`u_Kt5%yfGfmYi(aIik z=FrTl{{SJ_DT>uyE`3P@(6-~zK-oswP5FLh&*<978qTIlp|ew=v(ed@;`dRhv=@Tz z96KYDs?U|vd8+=A<-`r{FgOLZxsC)9E(-Rmc*Qi~5+QGlvQuyBp}GNq59^++cMWj} zU{Ov?^FcERMZjGUbsg-e9G9Y{=Bh^xRWCcLi2fj{-5)P-%5AMo1~fEo4h#6`^a}pd zf93&i`%V7<of+F+f4HmEc|qcNuWJ4V6}*6^G`hXv01oj_bFB+>*#t%qRlB*wU~nkU z6;4XAK@1@pjUDWwpan9j9NnORhU$yj*guI>YubDSsAw_6L?zyRN04B`v)oXJKKd?@ zxz=<<r(|QmwTaPGw_{aEwXJb`42L67Mw1BC%ru-BN!6>`1Dz526nIXEg6M^pRV{9+ zNVF+vQ-Hrzce|qqC??1#z=<g4Y@=&;kczi7%(|7l*-qVr(ZN#yPHrf%tdfW#3aCqa zDelXnk|PS9Nzl^gX3#36klAs`;N?-I=};>B+*!qKE$IN>%sf`l5^}M?*%6S3L|?^p zPN*|wg03F_0MS#X7z1=$OgcVm{G#mo6}Webbh=8*8Wa(Z3iwBlxsL8s_@RJ935B90 zYKu<}^c61xo#cXIq7JRHpA_#BtF=`0O~L+4vPbBzQKQvfqmPhQqUU*)Rw%SML|GOB z>EtY)9WpAjRQO=MNS-N;aU0xK7<Oq@r2hb<q?-hCya`S-2)yuCD8fBa-gW9b4@?{8 zt%*d0YA_-XdOm5unUn%#1lNu_rc@1C^6^qQh2{cpmM!zbpW;=C5<sw3OMqpE6<aJ! z2$N-7Gn+Ztr-CMD=Veogfj_F*_f54<{*hG!nm{Y&$RvDIa-5`UjgV(F{-k%wMW+WQ zqllDYKv!M}=j4fJc`<do%sWVL1*peKT6G{e3$LYT#eWdcr{zIkX_eb@(ZyS5C2o5> zpY2~a?B{+|?W1U<X*Z)Hd{Dfs)Wjp2HC9C2lsT*Q&v(%RgcSfvy9&`92ZjYqAq#wj zSxBPi9`hir7i1%4sYmAsQJsA%jO(_$Yv~u#A@iyoUKVH9s^c063VKH;8sXUnm(_m; z51A!=-o-=mp_gW)Jen5h4IW4baZZHn%{$6+<qFsr1PXwzhkYO-go`LVLLddwFv#K- z?bO>D;E0=|);h{b?_&odf+vwh6ncRITPO&HmLzdh+fA8b(xvVObX&Z2@IkUK%%B6U z&1(~)CS<JDFN`hffFc^~#TnDTl<7^FKmwZSRVlNGvWK*XU|~TzV0kR14B8bfarmf} z+bgtGJ;W#uDnUiA9n4_t0zZislzgzdE7b)PWn!KmIcI_)h0v#@(OK=jvR3^@5AH)g z+Q{K`{7@tzzT@b(X*{jno8ngM7}QCueHQgcA6yOxzJz>H%5+UGxI`@3wBVZN>W&$j zJk<1%Q6jKJx}Z%o-YlU>bRn3^(H@O_;RGWgOm|a{swnw&y)bvVD(+S{>Ji`cMXw&K zC_GSvVQPpR(VaLTK)T6IyQf8Q1!gA7Uc_1(X;KFS){({#M39{v(-CxcV}Zfm;PpFU zcF~KgHERpCgRv<0@hW42IU03A*)E6;DX5a23r-1z&BDluLHuyd;({QQ_h*zESE4=4 zj;x+OD4Tp%qvE?m;=4f~oNkx8`cS)P;H(KlbM;e@LeAHmg#0|!+*cV=d3BwM#1Y>@ z0EL?>(HICwz=h(xkZTH)suowmKtUdGs%r|F%%{N~=6Z$aSD0^-o~XxEFNK%fKcc>z z)~m9t5WuH>hB1XDTMpC^x3xs4@drSd*wGAOTrJR^?Fy5@W$^bQY3>ZVIbd-B0)NVF z0i_nf^Xu!4uq#!mT6LY*zkCQ`I0;2M2NVY-k-Sr%#RozN0C>U<JaLk;Xo<4dPjWrc z!~nWxm~#eTPY6|NyvwRMxSu}ZanuOndXdz(cNmMJQIexNF;Y>HswHL?0Sy!gvVqAm z)4Z55axQj@ME?MA5L)}Nvoz$7iBDszxV74hCjp2mRHNXDCqy{PB21^+Y>R-1RUH!u zNCG;69;qE~|HJ?~5dZ-L0R;vG1Ox;J00000009635d#De5+N}lFfu_=aT6jlQX@cN zfdv#aLSllUu@xjka*@H&|Jncu0RjO5KLLdbH!^pE<FFCD-6}%F-m4pWh2k^Z7mH8c z7mZ8a6?5>UDo4+CQRPQ!Zj~x_M(|uzT_`H`3v@!YPOHR!R0UTAEd5?r<>{wcX%uXu zlauLGZ!DK9qcq@MXKZv$v%ndks%TNzoy>2A$6zZ*B-KinGjoZIk*e%V7GGuKM9);p zwBL|&t7Zo_<Wb1Nl}FKMWd#sZ$CRV;19mQUz*de*&dG6d&1VHeum#~9a<Clx1yajd z)o};M(SL^8d`v>H3Ye%F=Wr*gv{4TkYO|GO{X0JQxw#a1{MfjtylSl+l?r(Pp4chw z4QVGp6>D`0SVN~jqCbn++F-bYF$wkB+HZHYxR9*(4<$L%QyUh_P;m}=s~72;+}u-+ zNSw~V`J!(MppxF|kVHyzV<l>^GP~H)GR_aQs`Nh#0}qWg2#9GX5$qL_)ebgPrdn_} zBN}~`I!$hIoJG>5R%SYG3d8zu<|<LS{7&w<Zer;93D}E{txVw;I7mctPy8{guMJ=< zc9Z6V{{V`Giw$oT<T>#G-3ZOxl>q{v{ym5B9{UAG%>2hNhJhC#a!-qnOYg8bs(RG! zKe8y@P<fBZ%9Sd2WqVLLT;s4pk=01*q$+&-s(e*@kL_`~uNl}QW;U}~tkAv`C{UvO zlx(~9_dxwFeb0{T$jQ&_wF%goRQ*@;Dq<KFnbK;Xt?pHQM{LH->>Kh~ES6izP^xeh zOw3$PY1zm@l*@I8LSrA3f(~{sq#^+bw8;c2ZI>$V!Az?Ll|I*%U(`E^+aD)WfU7&? zM?_803IgREkZ1!-oFpbT2i00D2R=CkU^C)&7nNVtD13~m-jxab4piTT(wgpSY30>D z%m9=LljTLt!<MPi=;hgAy3uJFv8TFsW%zgcov%77{;Av><7fg=Y;H!;PvCcCHB{;r z_Cdhth?K`bgyAPFt}bhJDzmLF$&{Q2SWU6l_7rSZlly<DRt_qo>31|$qt!cdr*Hu! zQKkZ^OUy!WAn)D6dn^w2sCPsOUzn&D=RbjdanqF|ooTG?GW#aE#-m9*#o1@g49c;3 z)q8AOeN(d=x(rmcSV5CIt4%HW;XRcyAb+?1*FU*Hd~%(L(LYW~hz5>+?30NY<J{GV zhgQ#&pnSu+%1?F84$8zo%vDZYqU%qqv`QNS;dL=COloUL5~;aX<f~JR_X6p@QQ<2D z2AS1(Z=N*jZyBdK_%+F5IAU@}yTP1Dz1?-z;WDEop)&zlKT}igoqem-+#ANl9aT0M zRVs*t$W=H(b0w+GEitw(I-rf*k*F|%(Ri#y?Kw|WMAL~Hqml}h2UKjxM$OgXcyBt| zPyDY9hgzjF%|+Tcm12QuaQ+gF$0cg@ccnt6e9DpXD#BV&W*T7w@YOf<R+?eLK-`^f zo7%yJxpPMercNB?Hk(Li^;j8)Oz_OF1%zqLDwqXFLZTRHIi<siU~HWFa_F#OjdF!j zo?4AYQmOcDZf`l}sD=wr!_9{GD^IA7=wB(EK~nV7f*LA=$`czcMC7WlYqT$g3J_i$ zP;x24q;R133^{1LSZqfqO|@YFVbM6rB~UR{g!N9eQ7t1Dsm-Eii#CD6Q(D3MDjbLH z=)5V9g8aUrQKwVI1h)u-c~+lM9WNV+x)nWBYPq>W6&iIwgQBQYNrI|W4GGRJJDF2( zzHZB+fzd#?Z4wov{6uu$F!__C0;B_)fb%Ce%CS_GDU$5d>GTSnIygMTHG-G57B||Q zAnYB1yON}$eyb3abXEOD%WiHPEaE}lSXOrg^YM|a(~_zHg@}|v0R@`PJ6))_ZOB-H z#1<pbVsgapw>MPfTaR%YF>^SSsVT{kDeZEiHB}ucrzBQ$s&^K_Ql&~8jMi&4g<%R8 zG*y37bOy_HyrBv84iErLA)+~|tcI;F%^gs@><i?bzDjbu>vexqWB<eeMG*i20|EmC z2LlKP2L%8C000310s{mQ1ri|;6EQ&`A}}&hVQ~f&u@xggLQ-;p!80^sf{~%oB}7n? zqQdY~RAY1T|Jncu0RsU6KLP9p($RHc+Kz$PHiS!jLNmZP%E9=jRZ{-|){p$b8rm_& zqCfKlYpBN=+5A_^bOZat5yi0Y`-Z4q$A-D4;ERocGrSP(&uli?IbxNw(>fr_b-3Ir zs_O9=b7i-UfK9Efdxh#B$Hf|I+1PTpk1|S++4fuKY98-R6EG}2zg6GGNr7SS<l*R3 z{hN<mlONs+uMDiFJ!TT$v^5FR?_qNf9V}6ATEO$-pP?aPpQ%%S>Sw`UV>pC6Yoqic zv6kLSZ&dj6-KU3w!!XUm3#8S@mx2LB6AYGlOrnQ$Ne1Y~Gk)<2v`%<#Q^YB$Dk2?t z$OoS#UxKmVz6&w_9FO!-F_AURlPEXT6U|lAy`;(YNmys<6#oEmzXhTNH;>bTJ4(gd za{>LLu=;zuc<;e9H<>}q&mOu1suD%MdE`m5HIeRvK>kQbF5kRLro>>5HZ{?cYwPf` zf3!4iizm9ck2@*d3#7bkEpLH0Sf(5*VlHp#0MpHT#G9P2j`>Z$5U|4IMHX&0+TJK~ z?MB1&BC&vXQT^o;cU0^g?flanaH5UUNY*!tje@7bD(1dins}A+B~98lk!!=Oz18{J z3xK=w-14%X0}H?>kB37Srx8pg14rKes|<DNS?T$mt>S>uy}9hqKn144t76_52mVl{ zI-qQt?qM>&EE%uYW1IWI8LFk3^4lmbz5dUkRZ>&Gbu2G7Y`W>_s%jl8&bnN#djPtw zhkZ#a2OOr}s{nJ22*01lXhVZnKG^p6*bc{wx<4m=N!{bIuCZDWqN<hj#g3ZUe+OI1 zZ;NAeZ9P(Nvgli3SZsT*cxQyqx5sEr;6K2R5S`vBqWsZO-=S^1f`;DlQTP7<+TDQ! z&I9N+=>=|uuC38=>km}u&F-w4E>=Kz?Fz@iWj+W8g(ojXO#IbVo>Kn+wYx%(x;tag zBK<3?^e%ccXjp%2BGKZA)kni-shNlf8x-3(XszVGbx3-}VfHSlciWJip+(#u;1=0l zNTraDBUH!diLM`5T@9D(4+Kn^_*`8$w@_7rYltX3SR1Fl%(}0fMNIR|=oS!0?f$z$ zi?};rkI<~E{{U2*?yMeQ`fQi({1t~n!uPhS=VMKe1tWnzOBuwCO--2Zn`VR0&3icO zwqg5C_#L4|`Z3#{m6esdI?vUm`=wFT3TYba>Ce$M&5?o4c87sqJ#r3!b4(95M}Ps^ zuC>R4Xf{J;H;fFfr-j~6cjSRy%$;gIS^4b>9^gl}DoGf@cNED%?FT}nUI{+wLos8s zeg$Dw(nBbSo3+I??QqcSe0Mj!lSPK6`yV41F6UWdc!hkKqk;)TdAljOOu}m%56r&& zv`xXWGyUBE01&;J4s5j`@ddx0&Il-bgXj{<$k<#~C0g<v@_2GsZYl*MUn8x43JF^* zLBOl_L!me5pXgKR<}}9fYT<CG>0}ioJ~vzgZ@~$kZUG>)@>62fP~;oD*XC3>%bweq zKh(ZnoVc~LE+lc*{{WIWrF7tKhFx{Df2xK_O+>rLIG;3ce^1YX=YRRCw*la=a0Ve- z2ipF-IiR8LcI9HVE^*U<SiFuj`g5{vYnvQwE&UnMdq0T@BG*l9cIvFHvfYH=qj#ZH zj$w{Fo7yq)RyoDK)9>PgUff87XJ!ugDFlz8)LPcNPb+vTNZ4sI@cGR>RKde~SZw1g zcl6N*OB~pU4(f*HZMhN_d)?!ivAR0=aQ^^>atrWSWNv0FS$<@n=dq|Ld!4;xnIS%E zvaPJ*s_Pjk5x2!wumUW-o<B1G0KBmJu<^SmQNyNoj)a}V=u|Y>A&J?$?knA<5@|Ju zkE)iEW<AnozMOfd&oHKLw_!F@R>>Q3jT?K}9AdXQaD9p5ja=o<InP_Y=8LY!^0^2Q zS~zeEp8&i#`IU#f99FYVXJ5x)*#~oPF4Gad>0&i;W-Tg`l1Dr^bL6Xo!^VpNm<LM3 z>Y}Y{XX>7_RW$9IAmP}K9S86!_=HZ3MXOA17CtD~(*SJ$0ORVXse#RNH=X9YTlu5A zG-4q<d4un(v{SzCBK$PjLxjm!36M(Gfa_|Vfia8$^-To2!%k%~icF*XUEH)Dd^xD; zsf~-V8MQVScM_q(@Y;}E*`$yIW3M%XUA6Nv)){}@ZJ|Nj?ePKg1!A$Edb+~p5!S?A zz*$z-`^{v4v{>*|aX;S9URo7jMskdYtP1vj5S9sda=zifD~^fUIBd4ZDtc(l5fadB z_q*bsB|GTdDTSfI_R&Q}1kI+9w090*okvD#vTlKJgL#_i*i{pnT-dZSM{Ya~m1`nx zT)~3P4<H4GGM-#MNS`ZP^T61iKLxmhJBThhp4Vu@^?cE%YypQW`lXtZ(csW|s_I7M z1W6udxvtB6+{qpuDu_{1#n!2CFT2Zgcnx?c8BE+%7+Yq(n*RXn+7uncJ8H3b92P2F z@3~JUPT{;$JLhf|4<O%3ap!eeRAQ@cm&~GUj-93BfzrzloR)^2bkk+}LuK|kK8F>G zS2`&{X*@srs$<1p8=B}eF1gA-qWMC$pK<dJvl>Cr>vYUz;+)1{>trm?enmr%x+vjh z=J^|AuN5PUoacC(tU5+TT?^c71GOq_PY;qOvwhxa8a2m?nkp$bxp%#GHN99}rdxkR z%6JC~YNvHrFT1yP-ad)cx!lw8e58hv){(8^sj2FH?|S%~8$@{nL-QS7eSrlBb#q+% zS%*<#7z|ZX88g_bk7uf)BXscL=BjBbqLVA*H~uRKh%tmcwk1@uAodd5tU8VI&Ro%= zf}N2!PCh$t*t?-*Lwo|T`ypJc$HitRn$y8)uxzr2xUa8mFL5xP@l_9VWFD$O!pznM zHaOn#rxo&T6@lw{g}jb9vd3}dWfeoNb3WEn&s=4+XRG43wIQPN6v<`Fa`hXtFdl&D z9*Np^U0r7KK)D9K$-GoO#m}~rx}6taFjdTXu?iN0P3D_NBSvlnDrY(QwMHhl>lD%) z?GwjXD>lnayg8_?m#}i@(XsGZUEs1i!EW5QU$lfx^FlUwEj$yr6xAPdw|{kH7e%eN z1sGG8WI8H&BLmG<NOaeVr--zJboPRH>^XAU$}Z<XY_`WC$8Qdfi$!&qtE1gPMcnP* z-PwIpNKzLcB@6&P&v8;Py}*-Zg#_jAHsBL%;Is<u@KJYq1EAzM>;l7H!rOkSK}Foy zHh=%b04NXv0RaF40{{X70s;d80RR9201+WE5J6F4aUg+_p)j$*(c$p%|Jncu0RaF3 zKM>-#wjmJ?T;#Gc4S^Q$5?x5b#dA2y^Crs!FrAqDh2iA1DPx8<WWW2Gm38oVf8ack z{6>F(;T|!VPu_5QzEHtIiR}r)0oAu`L!S9q-Zz|VNCwn=7JOTnI<-9pFG60~q<R^G z#|6p$t$n(OZb<!c7SaOgdcQAQJ&puUEK`Vy*qtM6hYr2$8JC>pyK-mror*n<iF13U z=hH5Wb<XWlxCRS%;k#s7IQn902<a?Fz_77*G(k5(De4~C&4s`MII9a4=z}sHX9p)_ zEC<ZXCPR4fV9LVBnea^i04%f4FhTqVe~64$t;7r}p#XRZ5l>{od;wRyv@`lFhCOb- zb}u3OdbMkv!%Km@pDl2l3y5s8FH?=laQ>wnT0`?LF5X4<ANI=LW_us}-7xk40P|#^ z;BN>1p=tw<cm9iu59^&~`EYOl0GyY7@1%<4>)7~(zX9@pnR}1~&OeyLh`qS~0NiIJ zkpe#;4uvu`<dgt&Pg67H$NQHvq;18Rj|0|t0UWbJP!|`<c$@TOzUMr6XOQ@un-F0p zy5<|ffXvzu<APeL&GsU4ooVyL@B$kOMc8@pFqtXikLFtpe-WSJ_&@?f7~{fO#Ji^4 zJu!#%V*z%$C;rU|cg#Bg{{Xm8{{YqeCPM+-h57#g+k66g{{YT1V}`!}0O_GJmbWw) zKSBvt_Z5}1e~H_F>6&tXMgBC87QBa<YIYKI`x*iMuWDzeIYq%VU=Q#8*96nDe9j9D zdYk_Mh<5!BSQR*4Z84BB;0rkgT49N!hheBd1Q=vS+utswq&N@4PRNMn&YHnWGDz0i zvu*sa!6Iyf9@emnsmpJkp@I4GIfZTn<)qEG$mN3(;hzR)_%%K@)@wI3fSIkxjwCno z)kh=e`eHOX{jrUU&N;RVbZ|LsK%eGiHP_{j4}-%a`ld$#^}xsoY3rsCUG^-hKJ(&P zb{S+z``c7TY2e@|vHt*a68aagk`nxl?jJ<PYyA?l@}WdREGkYLIhWP2-LQmG=<g(; zXUiGf-tT#P_z!krpOQ|YY02TY2XniUJ-Cv{*?$Cf5?C(M7grwqkNchuT3EM9^7zjp zx0r{@_%r;D%BGF*!|)p@HbGt6ap|jE9~eaXo|X`90n4{&XFklTs_yv*Lo<1DOw2jR zU3NJ$rXohVoCCQsv_GC&{@D2th@B*lR)1&rV$+U03b?{(k7CQ-y+;;>y{pwb8*x2P z+95=t$#L-A_YP(TMr1``*=AggsedPe!G|}tNgFd_OT3pEZKUvK*?itI5HyimW&*<p z7f*q?JVs^m)&Br8{tadRN0KAU;Lq?TP>!uB2JM3f%LE0NKZ&@$=P!gIp}eZh(}3-b z^fmrxxE8@K7cwm2{)2Ck#*5hE`4<3BAL0waB9CV$5-d4zcSHf}CR%BNF={9Q+l}1` zgAy(G<T!t3ZoNS6@-DbsLAdp7iB=NLD)tt~FRtzMpF&J2e<V(crFerhAqwbRwhjgh zmZ4d1=6H3d@EztLf#4t$Y(Ov~L=6qrI>Zjku4UFn!T^}=Ii3rd--L4CANZ&FAHncv z_~4cWo2TWSL4XqkM=l0^*&XX-8|b;~!Qb!V^(u&)do=TK@y8)}Md~}f><^8(4EdJA z7sH2#2k!7J3Fi^IxiCwUj3B4k?3)&jyUwf}=8H{^aV3$x$(lMJ4}q!w06?1a(r04y zGuV_weNH2hpPVA4LeL=fVw&Nxv;%QNJFK+NJ;LQ!;>h@BV#`C|+5FrAn=wC|P4Na{ zQzN+}YIKr@zz*RPHw$coh%vEIVgwztkTSrr86T<xmx2Bd@PC1Oh=OKje~!U0=g5^} zdX_Sm3C+ZOzbUw(^x2;9IQ_B|>Z;uFx?=&6qj~9{vKx~sb?AYX5I6yLi8dk7=Kd_( z9WYGU4+!bLGt}Rchln}~5BbF|0dqumAbbSU;C%~V3&8#)Im^k3A6)+cngzaoW%v)d z(AS|Yd@P<iXAmuNt&q538Km^bvi;c!*>@mtd;o=n0hbWC%Vt`KKyXV`gvHvqy^6Km zhv5J?j|>Zz;lfhwoX`2h&+qVm<2;e!p9X)96E>u;397*-8zXnh>}G;FGKYcvmWv7U zKCj?~9ge{{Q{|5j@cf69!h4BT_}4GLC&q5L8JiO#EOjJ>#Nh$YWu*r3ans4a7BO=J zndMGIvj=UDSQ{R{B$butYRO{;7dZz@4Owc`oOI^plf)QHjP*9JQ&^1T+uH&%gH4}d z;VnBoeym@E;3xh=%i#EbgT@{b6Nyid;GYkO6DlVMdT)@g5jhHfSzIz9`n`Ta*9N{O z=y+1#B|G7=^vWT5i@w>idyeMogNdJm8;7))h;a|mNsM)C)5WUs#upIb`DLRSbK`w{ z3!^+~^7kxQf-srN5A7hz5BcIUoZDLmFk(2*03yvFhsf#76Fld#X2Qq|iTua2thH=F zVxadhajo%BPTA%QsXhb&GX{D*0OgHI4QQ)gtU=~BAR@nbz>(tha{SC8;h*@A2baPA zM6BV&0fm;EOM(GJV~d6epS-O-Y$54`^0G95{Nu8^-KbxK*+QsqbctG{LD<YO!^8go zvi7AMt;0U8$Y$p37{!W*I6lr!i<OaoreKwX+GCK$M)rMkZ+wsbfb<@V6~a{+YwYX$ zmn1tUmBv8O^=-%Z^(o!8b|dqQyzam_KT*fLFbN{f{!m=o(Tf{w<@<Y7XqPOqgl+TH zrCZ0V0u(ec%o90B3l3z@ITwY)F&L&(n7EIIf$ji9u!MXIj~(oUjwccRl=t?33)J}E z_{L>F&%J}88R8ZM9OSoU-h4P+#C~2O)gE7tS9^lNAS<UcpF{F}NP!U^Nms<uZ=GX0 zfX+TdM+Wl;<6w9qZ1yo$QaYKK5Qg5nu6p&dW`?~U10tjDKY#eO*ax`^W52WYYEY1w zOlhZGTD(&EGZx35i;9dR>#UJhkj(0O&^%$8mlliD=_YW<U!uT=pm#N9`!?jU&8{01 zNQe--dW83*x!F0HQJ$v^gbj)k<v|hHB1kRqv#k=Y;NW~R17fVSAjyCkVs#E}wZtwD z;UMB?$^QTj+cPu#N5U1{{Tcc~-Cc$s&xu?aEHAB<df-29bC?H)95vrx^uO=HJaIq2 z{ySN;LEq0hPfxpmc;b)I=X-6gE|5RV{#L3BzUMf8_;!w7K<-osFcX7|5e~bR7^fQW zu^_J+AbyW_yMe<ey|L?90pUh)F9XK^0BE4H_XCFSsK)8(V}vJK**u+*RyI4ism}`x z+1w>%dcJZGlW_c`1%S^NH7w{PxR~?c#%<7?EcwDo9*nn0cEWfEGfAA~@<G{Xn{-ch z!|`rqJ_c;F{uB5zt$07g7_ldo1agy@xn~l+tZMM^I(Q)r(K=>Dc-KGsTiPP*B`c6~ z=caW1V&-5qRTt;pqU=47el%h{4!vJk<<kw`G}&LwoKNv@ZGAZ;!Fh?n%0sFguiuB_ z%Yu04hYtS$^o_CtEq|!}zypTl`03YC8;-HwrNs}@ak2C!wu#sVLE}1XXVGAoZKR#z z3U#(QC<qw+#xQ0?jG4`gsS-1Uac8GPVFco8+;Q>k??eGyS{P<vwQBqp{#w5TG)ZNN zGuvwBKIEC=`OIej01f^DCq5n-X%*uw{()_N{{Yr^oEZ9jE=V<<Vm8L{VAgDNIs(ww zA=F-D{{UcLh6Dw9;Qs*gjQLb&i`vF)!`@Zs_)Jqy!<%dx8^OF1hK1-C_QYX;aDIg> zz$iufY8Dmec!`+)*JJ5hKL_*UDLnvxc2a$(-mo^Se?+97IQ`o{GyD<*1ha;XAnydT zb<v0@*xA8BqBNT)p&*`=^%4u14Oo|MSUg1oJ8jFda4~Kn34|H5oJz0DDddjl++>l) zZy1gzDfrLI{bTWuh07mk!XH*EFd+%@L-M~Dk`6r9GgY9({{S(^`dVnl6&2P~UT3m_ zvkqs`&8wfj<;>b1x#5=skI;=XRLi}S8qMpWdLE#UK}LUXBJ?Tw0&mvh{7zN7$eb#Y zrzeI3;4B1=gfkFax*w#5N=yVWlyWx$4Y%7kxje|8_GY8_M6^0ztk*^V0JVrgGB7!L z!_?)?i)Ut0>REp_LHXbS(kk3_&N957;Ur<KF(DY0!Y^3z+gWBq%#sW|=TWO)HUrEK z9yQR8Y=*kGyW@N?%;q*(&5wdI<%Z0g**^sQW{CRouZ)r(@R<5#;jBb`cq6Zz2v5h3 z7=NPQ<7=E%jj-#J<p$ySn9UpTCfgBp&<3v_nG>V3dzS<~fFmdc;5~T?vfs)0A4oAr zq)vYjmuP$k_#JzIuh=XNO~D=<NLaPTCAJOp@ajZr`-o<dLv2(S_A!Ux9mM=H+q2Ya zAMCtZXR~rVap6ml2n_9$XY77Y8HPh$VQ^==fT2M4M!0~4#xS8MFd(iBWy=J~t1gLT ziG5){wTAa4(8wKN4TVd)-PT#z!^w~l&h11a1cUNd%R(|~6nc-s8g()LtQK#V;_xwI z63(NZi_pbzS=YsFxl0$S)Nr!O&!G^UY}~eU!sGaPP!z@s*}v79%$Tl*y^=lMe+_|A z4@@rVAUD*)v(><C(*Pb>8sHxb-Na<gCi~70bAU;6Fduwmdk!$)Ve-dT&qO^uPIJ<{ z5oCKEw76`Zg9}ILrNnc6@hl<$_Z^lAG;}(C2zcba%|LAg5Btt8c@eGenPt<W+RziW zU4}=ZI@lp0MVua>Cc)b@OdDk#Nj?_goyy3({9c>l0_1uL$cB;Z5y?g=ccd{3bh5Vr zrg5$(2P8h^ZRXqEx!HXL-*VFWo;a5Wk^{K_aCI?4Iq{s?6&{%_?%O?-iyLlThn-38 z5eo`QrtL3;JlQN5#UfDk0pL#M$l?097-7U`4$GJ=?29}7dFs#In|2rWxev@FFw~Au zn;tM9U*EUf8Q4d#`cntzFn9!n<iZ}G2Uy58?D}?S6&wz2Ju>NXl)y)p^Kte0^yIW- zlY>nT*(Dqtz~SEHpCkyHd3{-&Ya_k!;JYHM`dHzi{;9moCIzTYgmdcJ5c>AIC_MzN z2;{M>8mEfT0gOlyOnWcvp_ka&4fO=tD-lF49xbi5Fis1XVKX?f$V8`Tu1};frdmYL zQcU?XKbOF;Gggl&DfuVHOZ(5+;W%V${qM<sOY%y4za{xE&n@oN@e^eK0Dw<kIX5gK z#FevykEK83mS*vsTo|$-Z!4F;$ngnKaGw7FZ>YO60zxC)o#2_MJ{B|927z#n5r8qm zYncd#jK9%i%k;>C1jO)Vd^*~WR#Gc{tLav=wlXPjJz&|vcc9^qKQsg#p&d?52yM0v zT|W>g4{ks|Y@ss)ARil|k4{f;Cl~}69}0M0BKWhWd~68v?rZOZNqC;D<?03~$p~ij z$IaOeC@wFy0}@@xoI&E*mfoxv33seOPg$Mt-6_W~v!mk}X(0?QAc9ugd^X!{wYJ-B zx5imzk>G-OJ_C;#9vGCyF$Qa5<jl^2_n8$vj3#x+huD0F6UbP&-GBQ19^@p#AiNg5 zxXev@yPWru!vhA(hF}*f@vu&VE?ydNacHvz2HbP8xXMf*OT+2;j2=+<X^Oc&UXn@1 z&H=}zaHI$D5V{WjzuPh903yfaxGZ>Q9eOxU<Gq_|?Ee4-*@ybhE_v)={4V9lPQXT| z0mXqG7dri6N>e+E+lKRSLxW%=&_@7(1MUnHfppK!;hnwBmwQltat71b7s7%YV{na# z>A5*<Cc?d8z>!SQ(8#Z?wqV4`W@VOHXNFkW5%G}z071dz2CyO%lW&6JJRuB*Ns!B$ zO-J^J8r^-rNpA9e8;mswbl6$V@BRM(>dZ2ZZbSp@;=u&D4OazzkLVh`^*W<~b<k%Q zICoY-`#h{BzyNo63{B0jT0}~`HIs_<RcnI%jSNQ<!s84o#QM#0R8(in2|7ee&Tck! zAF&SG?e~*@13%I)3$^|xYv6P9xoPnZF#B@U+{e}0rVa_b?~9l)3t^Hiud6hVoJZ0o z=XcWLQGOBUjLzo5$(FMu8R30Uo3O5p>^Dfjbv-3Yhq`u_U0XWazHLI})+^x8Ic1(R z$>S}L1L8Be%0B^#ZLQDn8vrkg64ur0C%k@{SbKk_?C4+F?2kzg=buxXoU-;h@F|6E zoEiC$9rMPioZMrp2;R`&e(elP6OaSYLCHPrU$~qGZYN=j>f^Ks$BEs*XYlj#VD3eZ zo3O?`Np&x8goutL@d3HbkEDC)Q4g_1cR!-<^nnq;zz@XB`x$4QHyru6Fb5*$ZyzFa zE1sC<<#8*EX9AeAtMAJ|$b$H;SL@h(jGJXpsNj`&(309Lk3g=7>tiXImSi~v)^ zx;qxHR$g`&lV2T|1UzW8w6wJF#fu&p^Xd_5)JD#K;UI;UEm9qdSJrPQrH20iWUTCC znZsW9PlBSW?R=2(pW%&<k+kj(0x~gAD-}Q^G;r_X_=vFgsGzZ^{wCn~dC&V{+-Cq! zTfcAS%@9|H!`f#x4H+6JG04QhkmK`l?6H9*g?DN30SyZsw(iDTAsdsWni1se1hpGD zMB5(<d`88Dx2H`#_)^d3mRV(%S!5PW&-32l3`d*1oa`KU0IvMDTOJ&~sbul<zxvy1 z{ZJoteWZcYRbR$5CJ836KTk>5^Xx;H85TwO2f4U}kI#YexE_zsbA)0)sv2n+u$>ce zD#B$ioNMqoau{Pd%jj<D>J6u*YdsF~&9*rS&LFYC_83UljzjdX{o79lPkcxe<%s*% z==X4kea4rMT1(A9r@C^-ljjYA`dT(RdvH5&_rzSkGGa;ACL0~PgwleYPKPb9i3!q6 z;MNNSngkiuvD9d(9`LzjkBFE4ppt!$GD$Nmvdb)!#(w~_!$0s1n#8@xBZl{0G<3f& zOdO8ouS3Hp2P?G6kfs1W8<*<k(>=3(SSK|&C*!BcL5@BbH~uT%k6bxzksjO*H$D@g z=>|(T^8$D&%Zr=`wUcha0CWk-_*$n9k4y9QDWRX4Rnos%Rn_qB2f6OpVId(bPrPhg zrDG58zDd!?tU)=4-(>I+-^&X}`j=@qpE-*ahl8@L@S{chlW<6^4e_vySh|pNAg!j6 zfnXL9RAeae4a{wbm&Ie6KrU&v(Spy7t_7XZ5Kd1y=Rc7rhr|4_jo8Z*RU2W$?YxpV z`<!{|I_J6VZ}c{K<$j02M2->QcZ>||1zl%Ce2xGxltbSB?iz2B?>cq%OB^-lj+;<` zp}bD~ZiO-QJod67&afM#dLQ>)l-1t=T%80U!`S)##xfAsg5q4wNL&Pd!r&;@c3F80 zQaXdv@FBw6fRU{3TLT_YxZcrRLzo>)2h<x4E*5kja=S=H#Y`X^)uCu}5uq(;5*X~` z!%^xcU2!B@ro{!M`0eYic3qHwTk_XYvpZZ&FO2^HfGqOQhxt6oB=Z-=q!N?kCd>yM zlUO-|xWkDj^xnuLi5?<v^i+u~tUQ4_QdM<T@=4zrr!N2z0rrJ%>-BVr*83Jwv*~Or zIfLgD>D;&47}1ydqh}^<(s}0ntn>$5Q&?^Q`z_VKNu#IWIkIr^5?)Z*;u#Z9%wSqL zPZ+dDrYK=0*DoF9hDU(nA2bR5T-I{7kdhPBN&1tq<%Bh{y&-UTed55xnOJjKHaPJ^ zF|x<bSqra%LTAJL2?lv*&ya=Ja}sah%2^Ko09NisP_@;-n*RVqu(zKd{N0j&VVVB` zAbDgF`X+c|>c~(t@PG2olhb+R$ydJr0PAWjxd5TAC{9)Yu4&5~=GOxdr|DZ~zB6{% zLe9N<fI;I%VZMA5>`_myf0-aTAN3q8JaM_O$bsR85<SyVhz7&Z0@Lsk0|0Z(>HBPr zquC>S0YUEQBzy5W@PnHk_jB&v!Y8<nLCJ0q+H3?#{Wg~t9wEOo*Rq@>c9>e4Zf&TM z%TPY1duxa2u?mA~E-i)N2n>k}EG%rMN?J;1{sj`4a*4-+0(_0T`I!hg?qnSrzDF2W z2dUi;rRK(l3y3r{*P`VNdeCzl&d4Af?#vu%x`b~w&tOj!AB5o-_nQvJce+S;XygwW za07|I*2Klc7(B<_jgP0fab$>^I{Vq&LDiP~J!Qe;q;cO*VHalk{3VgSsqzDmc7Put zL(=p7*n6~a@!N1`k6(!kglX+Ale!ZvS{Chv-@72W*$n$~3GiU)DaOy4Ce6A#0EY## zL?alswx1Yj2XXI&ZaiRiy9k*Udt!T;7S+U^M2590iI+(q0`s<n#E7fAk@ynuD-Dh{ z)CnWYVQsbJd_VC+1dL3)!paRS0cArc7+lER4^F^N94D`eM*z-+_+S43yPNb8)6j%L z>UGV<4~O)(BRKy6<IKjhKibHhFvuDJul`Dh1o6YfFd!~ZMeZ?I@qwF6qgR-m59Zt8 zAYtkmmadM*Q#_qIye)}=r&vCIz2+F6^9F;TWmbESpjwN!O@aPX)0#*4Y~CJ+qA7lX z>2xS(?UBcvaXPT>Km&oQ(XUK65;OhUxG{Q=Srne3l^c-AH>ik9np2kI+0~ypJ1l;d z$QN~lh9v!w?8aVfp1ce!_<MXqREMb%VDH8jIJYlcWMm7gS1?#&Jdqh~{sqQZNhF?M z;e@+cM3FB6HezRB<69x}1`JDb<CPihzZpl;GDQa-{dW_REatt540Px|T*LSN*K?nx ziTFN`E*vn$3xjigU9}bDOl_Bf)1`$zkp#`*p+0}9X}{%yBY=4eDpP6NyJ)NpfQx^7 zT<|fwgZ#sX!B^ng64P`z^Zx*AjCak3^IKzMLo(ong0Diy9S3*2poW41=yoZW1a+H> zWh4jl167if5WvN|kmMnol1^-{-2}6pE3AY;#s`E^9oU>rlXG)lb;NQ+D#StsH(Q6j zTTy+-)1rbr*Gug2g%R1v_U0eTct7LOm2h=5!T~QH(BWeSw49WMLBD3|3EDVpZ*XG8 zLK&sWuzUL3<QKVvzvkaS^fXyEbP9oN@4wSFA~oahs0g_%JwB$o9l1sCUFBkVnw6Xd zMg`@^KimMb53JD)Hy!N=OR0nNspRa?(?>)cIW`Q<K|DfQyxk%a{P;uC;WKxaJf$B4 z3jpO&;vDb6tjsQ8+GOdFPfgc73o<b+kougR$AHSdT++xz%FDnt_eybK?5&#&f)M4F zGO@ctK5VeH8eWgYQ!PMjKLS|cWE6%0@@>tY6XE59znxe=iEry}2lW>v(UcLVQ|I{; z<^B(naJaW46E<!921m(l2{e3G(+=aAE7IL7r+I}@oaR0AX}J0H5N8YrP2qq?Q<=%f zxfMQik-HsSJxXoH0^%vbknk8>CSOM)O8CmKZn181nHQ(1zKGX0GWv6|52u)Kk;iY6 zi2+0c=uUhtz;1!!L3T*Bxde|<z^4}2Us$!AhYGvKKvSPZz<PruqavFa19QX(Gm3d5 zvr3BEX4xgpkTQ3618d<utl_r?als&u81hL+G1Hr(v;rYdJP;g@PE2#;A(=p-`;d$h zz1$Dnj1gjE{EIA-XZanLKaUo+>^o|Za?2$<El`l@MGsmVPF_X-0CF|)q<tq!9{&LC zV9wFVt$vmf*uvsF`iz}JmdV07A9{l0{)-{a8ezg;QTiNPnEXNJzwbZ$E!mCz&aodt z5oXT+0NP734mu#(DNLx~(%hXBKVKU>`v}Jg;x=Ij^S0nd!h9`It|FmQ{_UE5k{n}N znn;;8k!d*+>#z_`VVDv)PmPWtHIr8p2<rj12->Jz#Q9;5bA{;yy^$mmWgU*syV*Ar zEm)~P6Z?-oPa`S(kCF_*aI`!D0L4!e+_r_eOS6n~whrWIaX>Tdk4*bXp>X0y5fDhc zlLkTA;M{0AfjN@dkQQc+2@ZG<mVI3?y#5I)U@bb0Oe2`<?0VyuoAM{I7}ImITre^0 zg}Wdi&j{dQpO$eO{`}~VCJp95Ct7=C7y+E`7BKp$>hu{8?k9+kKav!^#JN-C8OV>N z%5khCi>f3s*lr@^@V0Se7+DzHFhI_>LNP?UDV%MP(&1q!EI=)7J(ERn){&v~+32av zDbB1Y_iFE_iD0paxxImK#bVpVmO#llv9if5hnLCRH24$NQNAb=gDvpSKUBX+u}xdG z*yr_W96|12(_Q`}LPqKO!rLQPUi}tU7^lZQMVBLRdxY$Io80J5SP&)=cA19oIKv|_ zdDFDZ22S&27)5g+<!MdeXGF%yjZQC9@Pa1|V(|tb++^SELv_$YRSOsk&R}A231@(9 za@t;)cbV>hA?g5wlViOI6&~%_giqpJ!GdI_K}47VgE7t4aCiVYw&`oaVzX-)7s<dN zschujgKoVZk=tw+FL4!xB!~32{u7BiIfrnQ^pKDc7O5Nq)PzHXLh_;vF^`A%8J`7? z+&=ghGAs^AHIt{AlfgGr#v1EwDaq$5i}E%ZgR?Jddj6XwawR{-gANnO-JE}!pv^}2 ztUy>Qydw*T>cc<dxqs9i*XREE5;gPx09Co-5Ylh%ClGVgusyJL?kUi}Qu?uE2ZuS3 z3`SinunulM`HP1nOrP9b1I!fWIrprwDHFP2&K>&_Ek2Bs7#sBLdk?4#zhK2aVmT}@ z&?NCN=f`o24y+Wpt2l=^MC5~OMo?ny3Eo}J@nYL^E#3Sv(fgJY<XBT+bmJOA7`kr- z&t2jYT({I7$o-5G7>*?HND$Bm4a8>H^*$H)pu@8pVdaCxH62;2mkCjm%5rsPg*y@U z;ez_Php8@zH>&mn^K57VQ1)EW2PfeWeE}K)1z5c3LLPVhG|i3$#)Hu{!0scs3ft-l zJLYL>C&TR?hBH2r*2bPajEKgK5`A`H6GzdvLlAo6UEHGcF@)eLC>|O9TUKT|o9zKS zaf!a|zpz9v<hP#+ip0&cd}+A$yj`brLr<%a%ZI5Af*?WX7>p8{F~R|qID9P-dAfvi zEOWa0Tey3WZ^f`jhD6QIT(IONm+t+RKAQ!x%y_|GLg701ZcpbaZ-HgE__)hC2;rCR zMqq`cK_Kn3%g=z0hSC$UEYl$W05m6)`;x~Q03n5^VjvW`*ASW17YPlKu3PL8!Bl*1 zcn{Lgluvj^bm=erp5N@7vY+g%K;`?yh*ju~UWgt+_wL$S$8JqEJXt&BjWP?;D%-&3 z@d8Ox@glDm8q3B-(OWP?w49k@+04E+RKqK8qIZ~#WImn-b91@5xzjx?;Uw*X5tsr^ z*fVI<9*}+K76$a44`d8vO&|tNDcKt^vF_XG4|ew7#DvvtZEbCQvp>z-JH}INOv+6H z2WWK3K90y68L=5Z!E+)Q86eoMd%g$xZ~V+*_n-2^fAq=!0O`0@{{VJ-UB7cL!(p&y zo``JICmlH_`IzIk^)2i6*wYvrh*|Ve3>=Po4+%9GyEu>;UqW=SlP^z@W{BGejuhB< z#Vre<Ll0m;bKog$`4<z&q{WnMXHcw5B`n?CoyuAajbW<hi;@%W#+hZ!kd4O17qTV6 zdo#yJ*M!Stl>-AgHp7JYIcPw3Scjw4xEf!u2$;uw%ler@<Gr0<<s?GB+Y&@s;hFOP z00w9Jy+yODH;gri`OYE%bCO=<jv~=<Jw)H!wDfZ<1DUq_aL4>w6_F0y18;NnV_(!| zS+eZI(=oaS7}+8Pf;WY(8Aj%xwBQefMR_ZS2FQ$}mzVJqchSpkWygegOO|!U9*cyB z5}I`fmydFv^Kb|mcZRr|0NjA-m;(T2*zq}+6Ye<hO7F(8_dQTNo1rddjc<tE!)N95 zj@yt<$YBPtM7j`Nf!t*hAPz#LIfWM{i5wO#u_>xCokE|x&PvV1mfk5D*rv~$ipP*z zXr|J8oS#2CZiYK);a~G<lk!(sAW8mWQ5gI~wBp@|lVe<-mUI#~ZIA5%<}kl!$o8QA zp={gK*_#pR?7G@}ia3j=d$nG()YPJSZ8@zv#f&Stzkf3`%b~nk{{UpbY!By<rKt@V zIz!>{g1`-j%5%m2;v+x41x?r+y=MspWAhlg+%~x!^#g;3${o3#JZ>+`1S-d#Ahcq# zFAxm9Kv<_W@hm}0V%9*wLCQcQB49`dX2|0i#W>!B0=W;_k9Vd$m%Q9n#h&K5%ao1Q zW^S@?%?GpWS-D(7Q@7*}jYwFZb_H>X-Vit>+?x9(sYvlWoLc_?X`kdGv5zuvjW%HN z3dUTGvDtB2{{VRAX!rAS2RR`{n@2>o-i|OAaSi_flsdd-Tol~gkKwcKT#Iu(z)lIo z9%n{zsb0U^Y;u0CEunbk*$hRqOK2^Q!%2u23D*eAWFU-c#o}?d6%i1bWyaWcEs-Fl zMX*m+Avj9b3vu=XPFV9k5MDhSP@Hs(XQ<;p6mnv`Hq?)3!)kdxo1n2D+Pm>Q_naSQ z;R<l(a@fFRlagqX3A#$F*$sFC!rM9{CT+slv3x(v8Jl)Ma{y+_u22J*gxV(0pXvk) zUx*If$P&Eg6FlH+zT-2WWtn<<ji>#l2Hj8Gy%ORZ>M!%TKO$KbzfstxSqeYhjm7;$ z<zjAsmdA0=xiY+rO|z?0lod1Io-pJ*SbXeTo+BNEJi=f+TR~#@i<EB?-J8cH8)Mvk zAjFP$n>l2<IJ@wQ2eU|)%qLi^Wo<bDZpeM)UsidNRm8VV)q_t?&I4nY_u*RibAntj z$G`-IAp2O{I?L7vp9BlMM=0qES1y}8w|M3n>xusN^KvbnskO<DET1U>f2bO_hNtz0 z97L9gIb{q$aN-Vk_#_&o&&2jPe+xFJ{oD|D0rY2uzvx(^t@@`I{WP8p<{JQmoOf(j ziR<*m%7M?gP<y+cHcx%E*5%ZwSUj@V9l4w@hY&=3<sBF~LYudxiK{gC7=;cOBW5r! zl5<HR()-H>NF;>LFT>*oi57t|h1}2V&9xz5Gr2AS!3G|rf$3up246u)ZV2vn{9FY$ zn0vZE+iHT)EubZk2FZ{U7hWT$rlhbMkq?IwJjQ>y{PQKkA=CsVl##3YTm)p#UTueN zAG+fPLni8mQTXj74x3WqbGwx9Bd2nDJ;-0xrZyh@1@`F~cCu;iVmyiQAPyh$yIF_f z$r6gTu_T@WYaW>hs_l!Luj9)Vw#a{EA;{Bvo;pQ_&WOk%-19M@Y;NYpI)e2nfbb9} zr+aWChzZ5D$_eIN0E^2K2>r_z5gx4KE|gU)P~u3F!@Nre$M)_nv&FS_F|$$GE>>-_ z64QN=Pity6JF<5--4{NyqQ!LBrwhXD{r><lrar5xiZ2#uA*2z-s=gm_=YU0y0gXe~ z?mC8s2CLx}AOg(i%XYwfEPb@+n}f-Ic+}w;IlmO-#z)|V{*#_=;%gR-LHh8>f?UUl zH_Xy6^?25cf;vb_Ezae{WwQ`l)RDf6NGCFc7ZyUcz?lJpupr11!-!poka!Jo2f4DC z7)zp?@Q8j;fE<w!y;^h5L>7LD>J)QwD6b2-d2qHX=xRc3&Mh|7#nYhMZy`8I7zqfL zG4;-g3r>r(Kg)QLk}s?ngN(7qn+3D8=Fcv5@_dMKzhz7Cv2|faVY@k2YudNMxe#mM z`&fM>GrQk{e%H0_8n|8le&@=M`ZI%<FnU0Ci1{(Isbf1MCke3GWW=i};e)#$aoc>L z6Oc|JKr@7!#mb$_G0dK@Ev52k#vZ>ABLw`SP!Oy+_hPt&cwk2|iyi*}VP%QK!`p9M z8GjZfZ@9Q6XQ1cHi+u&gO^mr1v0Mm46B^k8_0*iR{DQdv>LA2iJ{Oq;a(p_bA!HXL zYgyoniOR!(u{uu!SH+HBoBYdLeR#*}hQEe!XNcB%ZHdAG#2DxB%>#@&!0U6zXCJxB zWFjYApD84Ee1@z!$pw)wcF<+2>4B_{ZcMOrU;o4aClLVv0s;X90s{d700RI300031 z5fC9UK~Z6GAfYgUk-@P*;qd?300;pB0RcY{a4}2>lB0%PJJ9@mvBna~P2vgG7(F2r zb)F1=_R$mlqg#K}g@5ZA&_=2#ZHO|};sWtlW{F57V1!G#QCYkUU*|_`qtl4tx-jnL zs8H^*z`G4LFYX1xdSx&B5wh>xMH=^jtsGowSaubpRCDV%RJC3qopQs+;ZX>FVPkTo zE*pI%t%6XO+BH!3qbb2ED%P3}dw|p9qqIp9hR(3J&~#<l6rCcPr-;`N7Q!SiQ?4pj z8Gj3eymkD?2rMI0l>Y#PGz}bkiVy}P*SgeddVz4f-?-ZBq=Dkgj1CbO!(^Z$I+t*O z50F*MSfj_7(VR`6)9zGB{0LvsehjaU;Tj`?ANT^LBZSfW?Ax3%KG<JGL6^E$WZ<~y zEmpK#NQznxYM1<qnl!9N{{XmQxmH@!+AHxKSlG9Wd-6fJ#t|^MazpW);WXg3TRBRM zXjlOmu%IJXm&#Z29d-A^7ij@vmFm^+X0M4v4vTp09w(eh%TvlGy~KcdKh9GZWE!KN zg2{6J3Y$ueLzsRsl!`KpG1P+mZ}|ma8l&xcmSzHrp-A=a=a@94DOFKY=MG#0s)EOb zAJ{~wtvPP4M72u5YG|5E!nh#I_}sa0{0^9Xk;zH|SQ&ZActjg?Juy>B3vY6~k=y`; z9AcVf9_$#oWNKYYivnzyESi+f%a<t}OjVbGZ#PoOdE+jhCKV;d3M+AHw=4@;r0z<p z6hm|?FIt_I8u(_Wp^Z~M-^4C5uti4TV{m&V#X?SmMd=Z9n${&SRNERm<D^~GRc^*P zt)S`++)YHZ8h<V$f|bp$`4F$84OR5x+ASy8CzcIO(<&%y*^*Wiz{7Eiz!5>S<Ql)h zYzG?=S1)I3h8J>ZmRc%Q=;j?4vEh$u2-$w+h1QOpWoiDyP%E!WgI_~y;u^ZTKX6<O zK*#Oi=Kw~qsTj8vIG2U<r{hGTYFQb?Qm50FJxV$U_Y_KU-TvX&f|WJd0ssSp7vR(0 zHun0NT0J}S1Xd1Wqf3drF7T3~VwgmZ4oqH4WwPIio66JcL=by~fTUtJ3tb)vfTEq9 zpb<&#AvD;cJqF!+A)#v4F4#RsPZ4zCC{xG&<GszYt>7_Rz=0D`ip5T_h)_ot_*Pn# z0&tsqk)n<FT#)-$07SS608m923@9a!Q4$t;^W6xUsqS3oLx0&?mvo#axJ)fegNBms z4b5SeRO<`@DGsdF3yQ?}+moC;MBZK}+eCV)*uk2#8>JE)&`%^N7yL5HBl^qW@~v7S zh30wY1uqS{{c{3?mGSB!QL*jEc~F1(xVwc?*DO~V&0HlVN`Vbx*=z|=Lf%+HM05?x zTR#cLY6NHBMA)<rAig~>u1J6_sQ&dm09x(bi;i60Yf**EXRSneK&#qDwSg8d>HP`2 z*-RTWD?<?TkJBw--Z}%MS|>E=l3qoDFLL0xm{}>}rlPglC9`MJBc~6-z6v}>kX*im zUsWmxtvva46Iw3S`hh%~P`qhtuQ4cA(8MaY?3RtNKBJw*THe|XK@m%*PPZ3Ss{a7F z$`%mZG`<WjBnUnhFj-lmNL3A6aN3@xoixTPHvCT*0f9Q>D(w|DwEqB3>>=tMUDyFx zFV3Mu?`*E(06^1mz^8O^01pIe-G6Y}sbOz>Px4tb4KrYI9ko%Z!8TsL6$2F>FjOVY zm_<e&kpgnuGz)M7y<iK_&37cc6Imn10jabq2AIb~Nrr$lYB5(MNVR>ME+(3H(WnMg z3RE`@9k3J=Ytv$-S4gyW4*j87+hr}v`tJ^sZ%aE{RTf5<?Y}YO9OwM;adPF$ieNB! z!K8Ag-B^(DaAK|1LLEH9D3vN!MiMwhI5F4B+Tzfyx1v{?Q6t|rw~5NiS3Jb-R>G|T zvpQ0fLi07ZpmbGA3Pm@kM}JYZ*n})ODgwG6H_qipiFC!m9x$-QWh@LDjue8Xvtdx? zi71p*xhc^o0}hWe`23DAxt6e^TvVcsO6*Sp9fBUAIZseoY^DW8#IeDy99tF^u#HYx zRz!xSlEDQGQ|fWv@Pr*DXtG-f`M4l$xxV!x%Tac;mLxNKl?dO!lcq>ZXf6s*MDj`v zsIM!IH&Iw|L}EmuIz`qNMKIMzq_V;W#xdYT4nrPcG-#WHERxGQ?cGaW;m^S#fcR=z zEbly|^3QeyyMiqnd2S6N)aREUgBZe8A#A9_aA^fZES!zOO|gyin^VCIB}F3Ah*;)_ zIaLT?_=fGp_?GsU*%E6ZP}DfiFl{v)86y$NamNHWB~5DLJ#H!y2o*v*<&^0uNl8nb z^Okwy%EuhoYow~FsZ&s5lEyh0U2Mk;W$zwikN?B~ClLVv0s;a70|fyA0RaF200031 z5g{=UK~W%KaWH|Ap|Qcy@Ie3C00;pC0RcY{`YOz*n<c<BA6IC~n3bq3(mg?oaMxk? zj3Nh;L2goX7sDdNVp)z!j{eJoZTt+OgC~(JlyGd5QFX)gF)k9O-${KN68IodFvGR1 zm|Uu$+&`j=rhg%Y`9Z`$u<XVAxXu$4+y4M6D7W7K0PAx-uY$^cN{SLWm<UFQ3{~CB zvjzkU>%-Ymf9UHIaG$*#>N<}!%FH;af(*Du-%aG-1xs#TnMSVv0D`5KwyF}K3A1p2 z*opzRqb333Hv<G!sIUW1*%cXYS)}ZAR3^P3jJ>WBI|;|Kc|(NhsHopJ({{q;#TVc~ zfR7ke!N(WK%VqF^Du}#PWAvVOB{|j?f`!msW91wul$i4Zh@#MNVjb&<7o~#L4fbHs zyfF;ZP*(OLtZvjfY3x*b)M%`DhuQHD8g-0(SysS{H=@VhYmqkyVT&J`OZXhT=#0c6 zhAiq1PttieFN>E*rUgY`iO}E=%X1Cc2f-*UWol^Wd_TdNK`jEUMypbz+g`$@ueM-D za&IFIaeQMngW|XOV>P?;;3kL<!3Dk;zN3SJFa7~hh{T>F75FnOCxSAvUr31k#vtHo ztqg<rjY`$!A#r9v_Li)2lp{+208;L-L*CuNik%|jgwMffSs7BIE%`hgcYUQN&S>-z zk0S<V7xc?7(P?i3s4DkAXz%CYE`kTB1P!i>HwCJSmRfmzn6qsW&E#OF2qKTRC_k`< z_<o#B9-Pfb(NLE2o-aIE=zfOCPq{yC2yO)_;gq^-id{s+E!<^23meEqL@KlQR)+_Y zGwnimA4cO<!zi6_xZ=1}u4+;4K7!SZ#nejVm3zP8jCLuQK65V|;v;DOU})j3%-cbY z;g}ijx8(|#gYZ!94BAue@bu2*@=Ox>z67EaOM%&!&A|yspGUdq3=#Vm?8HV|!_k73 zz25+vXdPbSxGa0Bq97*7@BPHb%kL?$RJFPx5`V8y+|A5LKMxmixcZJBTl%BuwCZYk z2gt+K#C^yCq`B2XmZsMXsM0<UF!q$HYutc{I5jLpNj}c*e3Jp)%#ER=cE<>{=Lm3T z+LuWc%<<_Ua5HZLp!!d!I2F&@%RsBg%2A&9a#O<h2g)eg-v(=A#8+4vh#i)lF5&za z?12V!;x4^d;}LN$6Eg7&cs$evmV{CvUZBJ-5nvfxI$(KH-vS{4wL=HEup286m;{MT z*(egNGQlfa>h~3E^8yyowg+BM`!Gw-$MWK4syxI|!~RSs(YbQs!6{@SWogu5=v;cO zQsTjsKHudDf`Q4>bu^;G!&@cTl2tPdN<ApA4!Ey@)x`9yQ{k-<Eh=EM`#;bR`oJ!L zPjayCHV5K}DhVXjM{h4KIKD`+*`SDmwD6fgCVOvE(ZX=Ka^q3-tVCrnF){xD-H1R& z0iEkoz@Ww6)5u8_;!}XS1ux+vx;m=0*gieurmG5{AqMyrYU`_my|`~-;aRz9X6@V^ z6Gd0cp_q}Xnl*OqGx?f6KbMC7H59!i*(yItmk<jrmR|%~Sg>NtY+2qYxOu?PdSzl$ zDlIK3mWj!(7lD8Ku?3V_r?N|PfZ3q8iDR|2Db0dA0-e1U6%x8_8PEiYw2hl^)Lm2w z7igvSv2M-xt+y|wEIX{|UlkV67R)+pqyEaJ%Pr8bB+xIoxqwz-Yuj^p@SVYrUWe6= z5{~eg4P_iQRq;}(8Ci#VQ63lf9*X2&BM~^RDNw5>wQSDPWb##1QUo=!?M~&-=X~NF zOdJKN34)9Qkk%s|*Ln5njGE|7T}`4@J(M%Qd1#QgS8JB`R{f^1&lVMc_xOg!W!AqC zCs1Zw)fh$F)D<aSaVV*|J9pw`!r1KF3>H=Fj@4Zs<XK3TXK_E-lf%L2UqG;o{U%rT zu+A59lCG?!UD~0rhzcmMkXr^Q6i%D!;#3i~G}mNU@;vk15Bmx%s=q*Q+9*(?I1><I z%kBnLSfy5LQLxJTovFbXB3gV4OQ;k<WLQg>xcaUuUX@eCFO6zt3G7OdYD5x3{^i8F zmp2R1=5{_{fSP5?^(n~BV}-H>-N4_C(go*HW~^-8+A_GPmRj~f03n?&xxVe0wiIfb zm-E9*0L2Q0Ptz7&KFpi84Z#^t%M`lA9dO{)It?FW5?>rL*oxkbLmVz5TSD8-!?tYs zW5FptGUC3gi;qPl_-hc&Ff|!r@fdAL618&F0z?ibJT|R}zck4&h1{|)IzbK!RMeIN zz@1ZdP~fRlwuN~@jU!|$mTc-75~9Mrs*EanZZr;}u*)yIb2z^66$Z)A(o(u2<4dVW zMv8rrwP~_15x1wL#I0@|({hCu$RWOo+%l)yX`Q7~o<60@1)HFO)PA&k6Y&=c!l=vQ zq9Jm&R2ztJ_?9nwT@tJ<ZAK3Z^aQ4$R~;a}VWI(17RPPANDjXQt5i(;MFDE=BZ?X& zz^p0?VQIJPY?VvyYf9P!w4-Kax^Kc*656uhLDGSOAd<=~bsYO5#LENRWv&?hh^<BB z;s$scj^>PG!s&4<W+i+x*dv?=;vrqb3ZWpKdQVx-QE)tx>RH(;Mpsee*r`!+T8roI zFn|i}j4<OEmNuh~sC1nVK;jX2P<dwJJ}17GJImtn)DM58!^(h=1_V+Btv+Hf)O|%P zYty<2u5`%OwL~RRj^nV#P{{!@lZZuWD5o||=$amZ5)hLUfO5|gw2LZKqHiySNxaz% zU$n^x^~IO;t7+UrlN_|cP$}h>5ibNfnSY6U?-i1Pa}@=RLhUG;E77DqINSj8BWvlV QQ*&Z9d=0~1Fl(3p+4tCO!2kdN literal 0 HcmV?d00001 diff --git a/packages/app-degree-pages/public/assets/img/ds_header_undergrad.jpg b/packages/app-degree-pages/public/assets/img/ds_header_undergrad.jpg new file mode 100644 index 0000000000000000000000000000000000000000..56e6a9b8899a984654b6749b4b997ed0719e47ca GIT binary patch literal 66431 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 PRj|1M<gMT9|Cas_$+xCK literal 0 HcmV?d00001 diff --git a/packages/app-degree-pages/public/assets/img/request-form-information.jpeg b/packages/app-degree-pages/public/assets/img/request-form-information.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..c74f6ebbec834cb5c575bcab39e7077d3f82f932 GIT binary patch literal 67351 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 literal 0 HcmV?d00001 diff --git a/packages/app-degree-pages/public/assets/video/stock-video-person-drawing.mp4 b/packages/app-degree-pages/public/assets/video/stock-video-person-drawing.mp4 new file mode 100644 index 0000000000000000000000000000000000000000..8b01527e3d1ba88468a14328425c0f1f243f0a52 GIT binary patch literal 193102 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ƿ|Ky`w4qK0GBAm8Ip7QZH^(E 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 literal 0 HcmV?d00001 diff --git a/packages/app-degree-pages/src/core/utils/init-page-degree.js b/packages/app-degree-pages/src/core/utils/init-page-degree.js index 874ebb19b0..9d8e926b62 100644 --- a/packages/app-degree-pages/src/core/utils/init-page-degree.js +++ b/packages/app-degree-pages/src/core/utils/init-page-degree.js @@ -1,7 +1,7 @@ /* eslint-disable quote-props */ // @ts-check import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { ListingPage, DetailPage } from "../../components"; @@ -17,7 +17,8 @@ import { ListingPage, DetailPage } from "../../components"; */ const RenderReact = (component, props, targetSelector) => { const target = document.querySelector(targetSelector); - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** diff --git a/packages/app-degree-pages/vite.config.js b/packages/app-degree-pages/vite.config.js index d7a6397b21..84ab8b75a7 100644 --- a/packages/app-degree-pages/vite.config.js +++ b/packages/app-degree-pages/vite.config.js @@ -22,11 +22,11 @@ export default defineConfig({ }, }, }, - minify: true, + minify: false, }, esbuild: { legalComments: 'none', - keepNames: false, + keepNames: true, }, define: { process: {env: {NODE_ENV: process.env.NODE_ENV}}, diff --git a/packages/app-rfi/package.json b/packages/app-rfi/package.json index e2444ed85d..1e0962d0a7 100644 --- a/packages/app-rfi/package.json +++ b/packages/app-rfi/package.json @@ -88,8 +88,8 @@ "yup-phone": "^1.2.19" }, "peerDependencies": { - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18" + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "volta": { "extends": "../../package.json" diff --git a/packages/app-rfi/src/components/AsuRfi/index.js b/packages/app-rfi/src/components/AsuRfi/index.js index 207f924847..85ebddf3b7 100644 --- a/packages/app-rfi/src/components/AsuRfi/index.js +++ b/packages/app-rfi/src/components/AsuRfi/index.js @@ -77,7 +77,7 @@ const AsuRfi = props => { } }, [rfiState.showForm]); if (!rfiState.showForm) { - return <div style={{display: "none"}}>{noRfiAvailable}</div>; + return <div style={{ display: "none" }}>{noRfiAvailable}</div>; } return ( diff --git a/packages/app-rfi/src/components/steps/questions/Interest2.js b/packages/app-rfi/src/components/steps/questions/Interest2.js index 5bebf16e17..60dfa1f8a5 100644 --- a/packages/app-rfi/src/components/steps/questions/Interest2.js +++ b/packages/app-rfi/src/components/steps/questions/Interest2.js @@ -28,15 +28,14 @@ export const Interest2 = ({ gaData }) => { useEffect(() => { const poiOptions = degreeDataList - .filter( - ({rfiDisplay, acadPlanKey}) => { - if (programOfInterest && programOfInterest === acadPlanKey) { - return true; - } - if (rfiDisplay) { - return true; - } - return false; + .filter(({ rfiDisplay, acadPlanKey }) => { + if (programOfInterest && programOfInterest === acadPlanKey) { + return true; + } + if (rfiDisplay) { + return true; + } + return false; }) .filter( ({ planCategories }) => diff --git a/packages/app-rfi/src/core/utils/fetchPrograms.js b/packages/app-rfi/src/core/utils/fetchPrograms.js index 874c4294e9..90650a0348 100644 --- a/packages/app-rfi/src/core/utils/fetchPrograms.js +++ b/packages/app-rfi/src/core/utils/fetchPrograms.js @@ -38,7 +38,9 @@ function getServiceUrl({ "rfiDisplay", "degreeType", // "applicationDeadlines", // This can double the response size - ].map(term => `include=${term}`).join("&"); + ] + .map(term => `include=${term}`) + .join("&"); // ASUOnline API if (Campus === KEY.ONLINE) { @@ -53,7 +55,7 @@ function getServiceUrl({ if (Interest2) { serviceUrl = `${dataSourceDegreeSearch}/acad-plan/${Interest2}?` + - `include=applicationDeadlines${includeFields}` + `include=applicationDeadlines${includeFields}`; return serviceUrl; } diff --git a/packages/app-rfi/src/core/utils/init-rfi.js b/packages/app-rfi/src/core/utils/init-rfi.js index f597d339be..255c3f3207 100644 --- a/packages/app-rfi/src/core/utils/init-rfi.js +++ b/packages/app-rfi/src/core/utils/init-rfi.js @@ -1,6 +1,6 @@ // @ts-nocheck import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { AsuRfi } from "../../components/AsuRfi"; @@ -15,7 +15,8 @@ import { AsuRfi } from "../../components/AsuRfi"; * @param {ComponentProps} props */ const RenderReact = (component, props, target) => { - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** diff --git a/packages/app-webdir-ui/docs/README.props.md b/packages/app-webdir-ui/docs/README.props.md index bb3fb123ab..4bb6ce14b5 100644 --- a/packages/app-webdir-ui/docs/README.props.md +++ b/packages/app-webdir-ui/docs/README.props.md @@ -61,7 +61,7 @@ ## FacultyRankTabPanels() : <code>Object</code> Prop types for FacultyRankTabPanels component. -**Kind**: global function +**Kind**: global function **Properties** | Name | Type | Description | @@ -87,8 +87,8 @@ Prop types for FacultyRankTabPanels component. ## ProfileCard(props) ⇒ <code>JSX.Element</code> React component for displaying a user's profile card. -**Kind**: global function -**Returns**: <code>JSX.Element</code> - The ProfileCard component. +**Kind**: global function +**Returns**: <code>JSX.Element</code> - The ProfileCard component. | Param | Type | Default | Description | | --- | --- | --- | --- | @@ -117,8 +117,8 @@ React component for displaying a user's profile card. ## ResultCard(props) ⇒ <code>JSX.Element</code> React component for displaying a search result card. -**Kind**: global function -**Returns**: <code>JSX.Element</code> - The ResultCard component. +**Kind**: global function +**Returns**: <code>JSX.Element</code> - The ResultCard component. | Param | Type | Default | Description | | --- | --- | --- | --- | @@ -140,12 +140,12 @@ React component for displaying a search result card. ## SearchPage(props) ⇒ <code>JSX.Element</code> React component for the ASU search page. -**Kind**: global function -**Returns**: <code>JSX.Element</code> - The SearchPage component. +**Kind**: global function +**Returns**: <code>JSX.Element</code> - The SearchPage component. | Param | Type | Description | | --- | --- | --- | | props | <code>Object</code> | The props for configuring the search page. | | props.API_URL | <code>string</code> | The API URL for the search functionality. | | props.searchApiVersion | <code>string</code> | The version of the search API. | -| props.loggedIn | <code>boolean</code> | Indicates whether +| props.loggedIn | <code>boolean</code> | Indicates whether \ No newline at end of file diff --git a/packages/app-webdir-ui/package.json b/packages/app-webdir-ui/package.json index ee52161bc4..5e5a0ba5f5 100644 --- a/packages/app-webdir-ui/package.json +++ b/packages/app-webdir-ui/package.json @@ -83,6 +83,7 @@ "jsdom-screenshot": "^4.0.0", "postcss-loader": "^6.1.1", "raw-loader": "^4.0.2", + "react-router-dom": "^6.2.1", "sass": "^1.39.2", "sass-loader": "^10", "semantic-release": "^17.4.2", @@ -93,8 +94,8 @@ "webpack-filter-warnings-plugin": "^1.2.1" }, "peerDependencies": { - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-router-dom": "^6.2.1" }, "volta": { diff --git a/packages/app-webdir-ui/src/helpers/init-app-webdir-ui.js b/packages/app-webdir-ui/src/helpers/init-app-webdir-ui.js index 7a5bca931f..c396639be9 100644 --- a/packages/app-webdir-ui/src/helpers/init-app-webdir-ui.js +++ b/packages/app-webdir-ui/src/helpers/init-app-webdir-ui.js @@ -1,7 +1,7 @@ /* eslint-disable quote-props */ // @ts-check import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { iSearchApp } from "../SearchPage/withRouter"; import { WebDirectoryComponent } from "../WebDirectoryComponent/withRouter"; @@ -18,7 +18,8 @@ import { WebDirectoryComponent } from "../WebDirectoryComponent/withRouter"; */ const RenderReactSearch = (component, props, targetSelector) => { const target = document.querySelector(targetSelector); - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** @@ -26,7 +27,8 @@ const RenderReactSearch = (component, props, targetSelector) => { */ const RenderReactWebDirectory = (component, props, targetSelector) => { const target = document.querySelector(targetSelector); - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** diff --git a/packages/app-webdir-ui/src/helpers/search.js b/packages/app-webdir-ui/src/helpers/search.js index 14b35a86a6..2ba0f229c4 100644 --- a/packages/app-webdir-ui/src/helpers/search.js +++ b/packages/app-webdir-ui/src/helpers/search.js @@ -1,6 +1,8 @@ /* eslint no-use-before-define: ["warn", {"variables": true}] */ // ^^^ Set to "warn" instead of default "error" as we're not throwing any // ReferenceError's and attempts to resolve resulted in other problems. +import axios from "axios"; + import { staffConverter, studentsConverter, @@ -9,8 +11,6 @@ import { } from "./dataConverter"; import { validateAndCleanURL } from "./validateUrl"; -import axios from "axios"; - export const engineNames = { FACULTY: "web_dir_faculty_staff", STUDENTS: "web_dir_students", diff --git a/packages/component-cookie-consent/package.json b/packages/component-cookie-consent/package.json index 0e839cde82..89b04e2e44 100644 --- a/packages/component-cookie-consent/package.json +++ b/packages/component-cookie-consent/package.json @@ -43,8 +43,8 @@ "@fortawesome/free-solid-svg-icons": "^6.4.2", "@fortawesome/react-fontawesome": "^0.2.0", "prop-types": "^15.7.2", - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18", + "react": "^18.3.1", + "react-dom": "^18.3.1", "styled-components": "^5.3.0" }, "devDependencies": { diff --git a/packages/component-cookie-consent/src/core/utils/init-cookie-consent.js b/packages/component-cookie-consent/src/core/utils/init-cookie-consent.js index b466361ef3..477f585fb7 100644 --- a/packages/component-cookie-consent/src/core/utils/init-cookie-consent.js +++ b/packages/component-cookie-consent/src/core/utils/init-cookie-consent.js @@ -1,6 +1,6 @@ // @ts-check import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { CookieConsent } from "../../CookieConsent"; @@ -14,7 +14,8 @@ import { CookieConsent } from "../../CookieConsent"; */ const RenderReact = (component, props, target) => { - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** diff --git a/packages/component-events/package.json b/packages/component-events/package.json index a2b9aef312..323a8e60cf 100644 --- a/packages/component-events/package.json +++ b/packages/component-events/package.json @@ -88,8 +88,8 @@ "webpack-merge": "^5.8.0" }, "peerDependencies": { - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18" + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "volta": { "extends": "../../package.json" diff --git a/packages/component-events/src/core/utils/init-events.js b/packages/component-events/src/core/utils/init-events.js index e5ec575296..08a4b23234 100644 --- a/packages/component-events/src/core/utils/init-events.js +++ b/packages/component-events/src/core/utils/init-events.js @@ -1,6 +1,6 @@ // @ts-check import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { CardsGridEvents, CardsListEvents } from "../../components"; @@ -13,7 +13,8 @@ import { CardsGridEvents, CardsListEvents } from "../../components"; */ const RenderReact = (component, props, target) => { - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** diff --git a/packages/component-footer/package.json b/packages/component-footer/package.json index e25038faf0..ae5ff141b7 100644 --- a/packages/component-footer/package.json +++ b/packages/component-footer/package.json @@ -74,8 +74,8 @@ "webpack-merge": "^5.8.0" }, "peerDependencies": { - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18" + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "volta": { "extends": "../../package.json" diff --git a/packages/component-footer/src/core/utils/init-footer.js b/packages/component-footer/src/core/utils/init-footer.js index a3bc925c7b..1ae94c4a2f 100644 --- a/packages/component-footer/src/core/utils/init-footer.js +++ b/packages/component-footer/src/core/utils/init-footer.js @@ -1,6 +1,6 @@ // @ts-check import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { ASUFooter } from "../../footer"; @@ -12,7 +12,8 @@ import { ASUFooter } from "../../footer"; * Should only be set to true if the footer has been completely rendered server-side. */ const RenderReact = (component, props, target) => { - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** diff --git a/packages/component-header-footer/docs/README.props.md b/packages/component-header-footer/docs/README.props.md index 65016c9f1d..e2d54e8c47 100644 --- a/packages/component-header-footer/docs/README.props.md +++ b/packages/component-header-footer/docs/README.props.md @@ -1,4 +1,4 @@ -## Components +## Functions <dl> <dt><a href="#Button">Button(props)</a> ⇒ <code>JSX.Element</code></dt> @@ -9,6 +9,10 @@ <dd></dd> <dt><a href="#NavItem">NavItem(props)</a> ⇒ <code>JSX.Element</code></dt> <dd></dd> +<dt><a href="#ColumnSection">ColumnSection(props)</a> ⇒ <code>JSX.Element</code></dt> +<dd></dd> +<dt><a href="#Social">Social(props)</a> ⇒ <code>JSX.Element</code></dt> +<dd></dd> </dl> ## Typedefs @@ -22,6 +26,16 @@ <dd></dd> <dt><a href="#HeaderProps">HeaderProps</a> : <code>object</code></dt> <dd></dd> +<dt><a href="#Link">Link</a> : <code>object</code></dt> +<dd></dd> +<dt><a href="#Column">Column</a> : <code>object</code></dt> +<dd></dd> +<dt><a href="#Social">Social</a> : <code>object</code></dt> +<dd></dd> +<dt><a href="#Contact">Contact</a> : <code>object</code></dt> +<dd></dd> +<dt><a href="#ASUFooter">ASUFooter</a> : <code>object</code></dt> +<dd></dd> </dl> <a name="Button"></a> @@ -60,6 +74,24 @@ | --- | --- | | props | <code>Object</code> | +<a name="ColumnSection"></a> + +## ColumnSection(props) ⇒ <code>JSX.Element</code> +**Kind**: global function + +| Param | Type | +| --- | --- | +| props | <code>Object</code> | + +<a name="Social"></a> + +## Social(props) ⇒ <code>JSX.Element</code> +**Kind**: global function + +| Param | Type | +| --- | --- | +| props | <code>Object</code> | + <a name="Logo"></a> ## Logo : <code>object</code> @@ -138,3 +170,67 @@ | site | <code>string</code> | | | renderDiv | <code>string</code> | Can be either "true" or "false". | +<a name="Link"></a> + +## Link : <code>object</code> +**Kind**: global typedef +**Properties** + +| Name | Type | +| --- | --- | +| url | <code>string</code> | +| title | <code>string</code> | +| text | <code>string</code> | + +<a name="Column"></a> + +## Column : <code>object</code> +**Kind**: global typedef +**Properties** + +| Name | Type | +| --- | --- | +| title | <code>string</code> | +| links | [<code>Array.<Link></code>](#Link) | + +<a name="Social"></a> + +## Social : <code>object</code> +**Kind**: global typedef +**Properties** + +| Name | Type | +| --- | --- | +| logoUrl | <code>string</code> | +| unitLogo | <code>string</code> | +| [mediaLinks] | <code>object</code> | +| [mediaLinks.facebook] | <code>string</code> | +| [mediaLinks.twitter] | <code>string</code> | +| [mediaLinks.instagram] | <code>string</code> | +| [mediaLinks.linkedIn] | <code>string</code> | +| [mediaLinks.youtube] | <code>string</code> | + +<a name="Contact"></a> + +## Contact : <code>object</code> +**Kind**: global typedef +**Properties** + +| Name | Type | +| --- | --- | +| title | <code>string</code> | +| contactLink | <code>string</code> | +| [contributionLink] | <code>string</code> | +| [columns] | [<code>Array.<Column></code>](#Column) | + +<a name="ASUFooter"></a> + +## ASUFooter : <code>object</code> +**Kind**: global typedef +**Properties** + +| Name | Type | +| --- | --- | +| social | [<code>Social</code>](#Social) | +| contact | [<code>Contact</code>](#Contact) | + diff --git a/packages/component-header-footer/jsdoc.config.js b/packages/component-header-footer/jsdoc.config.js index ef782cc762..361e8816e7 100644 --- a/packages/component-header-footer/jsdoc.config.js +++ b/packages/component-header-footer/jsdoc.config.js @@ -8,8 +8,10 @@ module.exports = { ...coreConfig.source, include: [ ...coreConfig.source.include, - "./src/core/models", - "./src/components", + "./src/header/core/models", + "./src/footer/core/models", + "./src/header/components", + "./src/footer/components", ], }, }; diff --git a/packages/component-header-footer/package.json b/packages/component-header-footer/package.json index 5928805f9d..fd883241ed 100644 --- a/packages/component-header-footer/package.json +++ b/packages/component-header-footer/package.json @@ -27,22 +27,23 @@ "lint": "eslint --fix 'src/**/*.{js,jsx}' --ignore-path ../../.eslintignore", "test": "jest --config=./jest.config.js --silent --coverage", "test-update-snapshot": "yarn test -- -u", - "build": "vite build && cp -r src/assets dist/ && yarn postbuild", + "build": "VITE_COMPONENT_TO_BUILD=header vite build && VITE_COMPONENT_TO_BUILD=footer vite build && yarn postbuild", "build:stats": "webpack -c webpack/webpack.prod.js --profile --json=compilation-stats.json", "postbuild": "cp ./types/main.d.ts ./dist/main.d.ts", "start:dev": "webpack-dashboard -- webpack serve -c webpack/webpack.dev.js", "storybook": "storybook dev -p 9080", "predocs": "mkdir -p ./docs", - "docs": "yarn predocs && jsdoc2md --no-cache -c jsdoc.config.js --files ./src/components > ./docs/README.props.md && yarn postdocs", + "docs": "yarn predocs && jsdoc2md --no-cache -c jsdoc.config.js --files ./src/*/components > ./docs/README.props.md && yarn postdocs", "postdocs": "node ../../scripts/process-readme-props.js", "build-storybook": "storybook build -o ../../build/$npm_package_name" }, "peerDependencies": { "@fortawesome/fontawesome-svg-core": "^6.4.2", + "@fortawesome/free-brands-svg-icons": "^6.4.2", "@fortawesome/free-solid-svg-icons": "^6.4.2", "@fortawesome/react-fontawesome": "^0.2.0", - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18" + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "devDependencies": { "@babel/core": "^7.13.14", diff --git a/packages/component-header-footer/public/assets/images/endorsedLogo.png b/packages/component-header-footer/public/assets/images/endorsedLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..e8facf1da08cf2cf7b427ed97c9b0d3e1a809bb7 GIT binary patch literal 14624 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 literal 0 HcmV?d00001 diff --git a/packages/component-header-footer/public/assets/images/innovationLogo.png b/packages/component-header-footer/public/assets/images/innovationLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..7eb41e18f05763f804262dbc25054627f352aa08 GIT binary patch literal 45316 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 literal 0 HcmV?d00001 diff --git a/packages/component-header-footer/src/footer/components/ColumnSection/index.js b/packages/component-header-footer/src/footer/components/ColumnSection/index.js index 2a3fd4f750..7467e5c402 100644 --- a/packages/component-header-footer/src/footer/components/ColumnSection/index.js +++ b/packages/component-header-footer/src/footer/components/ColumnSection/index.js @@ -17,7 +17,7 @@ import { Accordion } from "../../../../../unity-react-core/dist/esm/components/A const ColumnSection = ({ columnIndex, column: { title, links } }) => { const [show, setShow] = useState(false); - const isWindowDefined = typeof window !== 'undefined'; + const isWindowDefined = typeof window !== "undefined"; const initialMatches = isWindowDefined ? window.innerWidth >= 1260 : false; const [isLgDesktop, setIsLgDesktop] = useState(initialMatches); @@ -45,6 +45,7 @@ const ColumnSection = ({ columnIndex, column: { title, links } }) => { aria-expanded={show || isLgDesktop} aria-controls={`footlink-${columnIndex}`} onClick={handleToggle} + type="button" > {title} <FontAwesomeIcon diff --git a/packages/component-header-footer/src/footer/components/Contact/index.js b/packages/component-header-footer/src/footer/components/Contact/index.js index b5d00d7dd0..f4cac3cc51 100644 --- a/packages/component-header-footer/src/footer/components/Contact/index.js +++ b/packages/component-header-footer/src/footer/components/Contact/index.js @@ -27,8 +27,8 @@ const ContactComponent = ({ )} {contributionLink && ( <p - className="contribute-button" - data-testid="contact-contribution-link" + className="contribute-button" + data-testid="contact-contribution-link" > <Button color="gold" @@ -76,4 +76,4 @@ ContactComponent.propTypes = { }), }; -export { ContactComponent}; +export { ContactComponent }; diff --git a/packages/component-header-footer/src/footer/components/Social/index.js b/packages/component-header-footer/src/footer/components/Social/index.js index 3d29164edc..f178477b8d 100644 --- a/packages/component-header-footer/src/footer/components/Social/index.js +++ b/packages/component-header-footer/src/footer/components/Social/index.js @@ -12,6 +12,7 @@ import React from "react"; // @ts-ignore import { trackGAEvent } from "../../../../../../shared"; +// @ts-ignore import endorsedLogo from "../../assets/images/endorsedLogo.png"; const DEFAULT_GA_EVENT = { diff --git a/packages/component-header-footer/src/footer/components/Social/index.test.js b/packages/component-header-footer/src/footer/components/Social/index.test.js index 375cf60da6..1fd18cac50 100644 --- a/packages/component-header-footer/src/footer/components/Social/index.test.js +++ b/packages/component-header-footer/src/footer/components/Social/index.test.js @@ -39,9 +39,7 @@ describe("#Social", () => { const element = component.queryByTestId(testId); expect(element).toBeInTheDocument(); expect(element).not.toBeNull(); - if (element) { - expect(element.nodeName.toLowerCase()).toBe("a"); - } + expect(element?.nodeName.toLowerCase()).toBe("a"); } ); }); diff --git a/packages/component-header-footer/src/footer/core/utils/init-footer.js b/packages/component-header-footer/src/footer/core/utils/init-footer.js index a3bc925c7b..1ae94c4a2f 100644 --- a/packages/component-header-footer/src/footer/core/utils/init-footer.js +++ b/packages/component-header-footer/src/footer/core/utils/init-footer.js @@ -1,6 +1,6 @@ // @ts-check import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { ASUFooter } from "../../footer"; @@ -12,7 +12,8 @@ import { ASUFooter } from "../../footer"; * Should only be set to true if the footer has been completely rendered server-side. */ const RenderReact = (component, props, target) => { - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** diff --git a/packages/component-header-footer/src/footer/footer.test.js b/packages/component-header-footer/src/footer/footer.test.js index d60fd11662..8a6e3e9354 100644 --- a/packages/component-header-footer/src/footer/footer.test.js +++ b/packages/component-header-footer/src/footer/footer.test.js @@ -6,7 +6,10 @@ import React from "react"; import { ASUFooter } from "."; -import { completeState, emptyStateFooter } from "../../__mocks__/data/props-mock"; +import { + completeState, + emptyStateFooter, +} from "../../__mocks__/data/props-mock"; const renderFooter = props => { return render(<ASUFooter {...{ ...props }} />); diff --git a/packages/component-header-footer/src/header/core/utils/init-header.js b/packages/component-header-footer/src/header/core/utils/init-header.js index b8221ac57b..0d16063030 100644 --- a/packages/component-header-footer/src/header/core/utils/init-header.js +++ b/packages/component-header-footer/src/header/core/utils/init-header.js @@ -1,6 +1,6 @@ // @ts-check import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { ASUHeader } from "../../header"; @@ -14,7 +14,8 @@ import { ASUHeader } from "../../header"; */ const RenderReact = (component, props, target) => { - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** diff --git a/packages/component-header-footer/vite.config.js b/packages/component-header-footer/vite.config.js index d1bdd6a209..74fdd69331 100644 --- a/packages/component-header-footer/vite.config.js +++ b/packages/component-header-footer/vite.config.js @@ -1,51 +1,74 @@ -import { defineConfig, transformWithEsbuild } from "vite"; +//@ts-check +import { defineConfig, transformWithEsbuild, loadEnv } from "vite"; import { resolve } from "path"; import react from "@vitejs/plugin-react"; -import pkg from './package.json'; -export default defineConfig({ - build: { - lib: { - entry: resolve(__dirname, "src/header/index.js"), - name: "AsuHeader", - formats: ["es", "cjs", "umd"], - fileName: (format) => `asuHeader.${format}.js`, - }, - rollupOptions: { - input: resolve(__dirname, "src/index.js"), - external: ["react", "react-dom"], - output: { - globals: { - "react": "React", - "react-dom": "ReactDOM" +const componentMap = { + header: { + globalUmdName: "AsuHeader", + fileName: "asuHeader", + }, + footer: { + globalUmdName: "AsuFooter", + fileName: "asuFooter", + } +}; + +export default defineConfig(({ mode, command }) => { + const env = loadEnv(mode, process.cwd()); + const { VITE_COMPONENT_TO_BUILD } = env; + const umdName = componentMap[VITE_COMPONENT_TO_BUILD].globalUmdName; + const fileName = componentMap[VITE_COMPONENT_TO_BUILD].fileName; + + if (!VITE_COMPONENT_TO_BUILD) { + throw new Error(`Error parsing environment variable VITE_COMPONENT ${VITE_COMPONENT_TO_BUILD}`); + }; + + return { + build: { + emptyOutDir: false, + lib: { + entry: resolve(__dirname, `src/${VITE_COMPONENT_TO_BUILD}/index.js`), + name: umdName, + formats: ["es", "cjs", "umd"], + fileName: (format) => `${fileName}.${format}.js`, + }, + rollupOptions: { + input: resolve(__dirname, "src/header/index.js"), + external: ["react", "react-dom"], + output: { + globals: { + "react": "React", + "react-dom": "ReactDOM" + }, }, }, + minify: "terser", + cssCodeSplit: false, }, - minify: "terser", - cssCodeSplit: false, - }, - esbuild: { - legalComments: 'eof', - keepNames: false, - }, - define: { - process: {env: {NODE_ENV: process.env.NODE_ENV}}, - global: {} - }, - plugins: [ - react({ - jsxRuntime: "automatic", - }), - { - name: "treat-js-files-as-jsx", - async transform(code, id) { - if (!id.match(/src\/.*\.js$/)) return null; + esbuild: { + legalComments: 'eof', + keepNames: false, + }, + define: { + process: {env: {NODE_ENV: process.env.NODE_ENV}}, + global: {} + }, + plugins: [ + react({ + jsxRuntime: "automatic", + }), + { + name: "treat-js-files-as-jsx", + async transform(code, id) { + if (!id.match(/src\/.*\.js$/)) return null; - return transformWithEsbuild(code, id, { - loader: "jsx", - jsx: "automatic", - }); + return transformWithEsbuild(code, id, { + loader: "jsx", + jsx: "automatic", + }); + }, }, - }, - ], + ], + } }); diff --git a/packages/component-header/docs/README.props.md b/packages/component-header/docs/README.props.md index 65016c9f1d..13151be79a 100644 --- a/packages/component-header/docs/README.props.md +++ b/packages/component-header/docs/README.props.md @@ -87,7 +87,7 @@ | text | <code>string</code> | | [classes] | <code>string</code> | | [onClick] | <code>function</code> | -| [onFocus] | <code>function</code> | +| [onClick] | <code>function</code> | <a name="NavTreeProps"></a> diff --git a/packages/component-header/package.json b/packages/component-header/package.json index e915d4608b..4ee2b0228e 100644 --- a/packages/component-header/package.json +++ b/packages/component-header/package.json @@ -41,8 +41,8 @@ "@fortawesome/fontawesome-svg-core": "^6.4.2", "@fortawesome/free-solid-svg-icons": "^6.4.2", "@fortawesome/react-fontawesome": "^0.2.0", - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18" + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "devDependencies": { "@babel/core": "^7.13.14", diff --git a/packages/component-header/src/core/utils/init-header.js b/packages/component-header/src/core/utils/init-header.js index b8221ac57b..0d16063030 100644 --- a/packages/component-header/src/core/utils/init-header.js +++ b/packages/component-header/src/core/utils/init-header.js @@ -1,6 +1,6 @@ // @ts-check import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { ASUHeader } from "../../header"; @@ -14,7 +14,8 @@ import { ASUHeader } from "../../header"; */ const RenderReact = (component, props, target) => { - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** diff --git a/packages/component-news/package.json b/packages/component-news/package.json index 1997c167f6..fef5819f7a 100644 --- a/packages/component-news/package.json +++ b/packages/component-news/package.json @@ -44,8 +44,8 @@ "styled-components": "^5.3.0" }, "peerDependencies": { - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18" + "react": "^18.3.1", + "react-dom": "^18.3.1" }, "devDependencies": { "@babel/core": "^7.13.14", diff --git a/packages/component-news/src/core/init-news.js b/packages/component-news/src/core/init-news.js index 83fc3e630b..74ce2ecf7c 100644 --- a/packages/component-news/src/core/init-news.js +++ b/packages/component-news/src/core/init-news.js @@ -1,6 +1,6 @@ // @ts-check import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { CardGridNews, CardListlNews, CardCarouselNews } from "../components"; @@ -13,7 +13,8 @@ import { CardGridNews, CardListlNews, CardCarouselNews } from "../components"; */ const RenderReact = (component, props, target) => { - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** diff --git a/packages/components-core/package.json b/packages/components-core/package.json index c08340a40c..8ab6d31b78 100644 --- a/packages/components-core/package.json +++ b/packages/components-core/package.json @@ -71,8 +71,8 @@ "jest-transform-file": "^1.1.1", "jsdom-screenshot": "^4.0.0", "postcss": "^8.4.19", - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-router-dom": "^6.2.1", "react-share": "^4.4.0", "reactstrap": "^8.9.0", @@ -91,8 +91,8 @@ "styled-components": "^5.3.0" }, "peerDependencies": { - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-router-dom": ">= 5.2.0 < 7", "react-share": "^4.4.0", "reactstrap": "^8.9.0" diff --git a/packages/components-core/src/components/RankingCard/index.stories.js b/packages/components-core/src/components/RankingCard/index.stories.js index fbe423878c..a67a096a23 100644 --- a/packages/components-core/src/components/RankingCard/index.stories.js +++ b/packages/components-core/src/components/RankingCard/index.stories.js @@ -1,8 +1,10 @@ import classNames from "classnames"; import React from "react"; -import { imageAny } from "../../../../../shared/assets"; + import { RankingCard } from "."; +import { imageAny } from "../../../../../shared/assets"; + export default { title: "UDS/Ranking Card", component: RankingCard, diff --git a/packages/components-core/src/core/utils/index.js b/packages/components-core/src/core/utils/index.js index 82a2899f22..771e88dbbf 100644 --- a/packages/components-core/src/core/utils/index.js +++ b/packages/components-core/src/core/utils/index.js @@ -1,6 +1,6 @@ // @ts-nocheck import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { Accordion } from "../../components/Accordion"; import { AnchorMenu } from "../../components/AnchorMenu"; @@ -29,7 +29,8 @@ import { Video } from "../../components/Video"; * @param {ComponentProps} props */ const RenderReact = (component, props, target) => { - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** diff --git a/packages/unity-react-core/package.json b/packages/unity-react-core/package.json index ccd0b8d8b4..48058cce71 100644 --- a/packages/unity-react-core/package.json +++ b/packages/unity-react-core/package.json @@ -77,9 +77,6 @@ "jsdom-screenshot": "^4.0.0", "plop": "2.7.6", "postcss": "^8.4.19", - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18", - "react-router-dom": "^6.2.1", "react-share": "^4.4.0", "reactstrap": "^8.9.0", "semantic-release": "^17.4.2", @@ -101,8 +98,8 @@ "styled-components": "^5.3.0" }, "peerDependencies": { - "react": ">= 16.14.0 < 18", - "react-dom": ">= 16.14.0 < 18", + "react": "^18.3.1", + "react-dom": "^18.3.1", "react-router-dom": ">= 5.2.0 < 7" }, "exports": { diff --git a/packages/unity-react-core/src/components/ComponentCarousel/core/utils/init-carousel.js b/packages/unity-react-core/src/components/ComponentCarousel/core/utils/init-carousel.js index ac17f57927..6d8e4f1ad9 100644 --- a/packages/unity-react-core/src/components/ComponentCarousel/core/utils/init-carousel.js +++ b/packages/unity-react-core/src/components/ComponentCarousel/core/utils/init-carousel.js @@ -1,7 +1,7 @@ /* eslint-disable quote-props */ // @ts-check import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { CardCarousel, @@ -11,7 +11,8 @@ import { } from "../../components"; const RenderPreact = (component, props, target) => { - ReactDOM.render(React.createElement(component, props), target); + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** diff --git a/packages/unity-react-core/src/core/utils/index.js b/packages/unity-react-core/src/core/utils/index.js index 5a00eafd20..9f7b89e06a 100644 --- a/packages/unity-react-core/src/core/utils/index.js +++ b/packages/unity-react-core/src/core/utils/index.js @@ -1,6 +1,6 @@ // @ts-nocheck import React from "react"; -import ReactDOM from "react-dom"; +import { createRoot } from "react-dom/client"; import { Accordion } from "../../components/Accordion/Accordion"; import { AnchorMenu } from "../../components/AnchorMenu/AnchorMenu"; @@ -20,8 +20,8 @@ import { Hero } from "../../components/Hero/Hero"; import { Image } from "../../components/Image/Image"; import { Pagination } from "../../components/Pagination/Pagination"; import { RankingCard } from "../../components/RankingCard/RankingCard"; -import { Testimonial } from "../../components/Testimonial/Testimonial"; import { TabbedPanels } from "../../components/TabbedPanels/TabbedPanels"; +import { Testimonial } from "../../components/Testimonial/Testimonial"; import { Video } from "../../components/Video/Video"; /** @@ -36,11 +36,8 @@ import { Video } from "../../components/Video/Video"; * @param {ComponentProps} props */ const RenderReact = (component, props, target) => { - try { - ReactDOM.render(React.createElement(component, props), target); - } catch (err) { - throw new Error(`Error rendering React component: ${err}`); - } + const root = createRoot(target); + root.render(React.createElement(component, props)); }; /** @@ -132,4 +129,4 @@ export { initTestimonialCarousel, initImageCarousel, initImageGalleryCarousel, -} +}; diff --git a/yarn.lock b/yarn.lock index 0c7d8b5567..e7e7e5bf97 100644 --- a/yarn.lock +++ b/yarn.lock @@ -74,8 +74,8 @@ __metadata: terser-webpack-plugin: "npm:^5.1.1" webpack-merge: "npm:^5.8.0" peerDependencies: - react: ">= 16.14.0 < 18" - react-dom: ">= 16.14.0 < 18" + react: ^18.3.1 + react-dom: ^18.3.1 languageName: unknown linkType: soft @@ -126,8 +126,8 @@ __metadata: yup: "npm:^0.28.1" yup-phone: "npm:^1.2.19" peerDependencies: - react: ">= 16.14.0 < 18" - react-dom: ">= 16.14.0 < 18" + react: ^18.3.1 + react-dom: ^18.3.1 languageName: unknown linkType: soft @@ -177,6 +177,7 @@ __metadata: postcss-loader: "npm:^6.1.1" prop-types: "npm:^15.7.2" raw-loader: "npm:^4.0.2" + react-router-dom: "npm:^6.2.1" sass: "npm:^1.39.2" sass-loader: "npm:^10" semantic-release: "npm:^17.4.2" @@ -187,8 +188,8 @@ __metadata: terser-webpack-plugin: "npm:^5.1.1" webpack-filter-warnings-plugin: "npm:^1.2.1" peerDependencies: - react: ">= 16.14.0 < 18" - react-dom: ">= 16.14.0 < 18" + react: ^18.3.1 + react-dom: ^18.3.1 react-router-dom: ^6.2.1 languageName: unknown linkType: soft @@ -232,8 +233,8 @@ __metadata: postcss-loader: "npm:^6.1.1" prop-types: "npm:^15.7.2" raw-loader: "npm:^4.0.2" - react: "npm:>= 16.14.0 < 18" - react-dom: "npm:>= 16.14.0 < 18" + react: "npm:^18.3.1" + react-dom: "npm:^18.3.1" sass-loader: "npm:^11.1.0" semantic-release: "npm:^17.4.2" semantic-release-monorepo: "npm:^7.0.4" @@ -296,8 +297,8 @@ __metadata: webpack-filter-warnings-plugin: "npm:^1.2.1" webpack-merge: "npm:^5.8.0" peerDependencies: - react: ">= 16.14.0 < 18" - react-dom: ">= 16.14.0 < 18" + react: ^18.3.1 + react-dom: ^18.3.1 languageName: unknown linkType: soft @@ -338,8 +339,8 @@ __metadata: url-loader: "npm:^4.1.1" webpack-merge: "npm:^5.8.0" peerDependencies: - react: ">= 16.14.0 < 18" - react-dom: ">= 16.14.0 < 18" + react: ^18.3.1 + react-dom: ^18.3.1 languageName: unknown linkType: soft @@ -387,10 +388,11 @@ __metadata: webpack-merge: "npm:^5.8.0" peerDependencies: "@fortawesome/fontawesome-svg-core": ^6.4.2 + "@fortawesome/free-brands-svg-icons": ^6.4.2 "@fortawesome/free-solid-svg-icons": ^6.4.2 "@fortawesome/react-fontawesome": ^0.2.0 - react: ">= 16.14.0 < 18" - react-dom: ">= 16.14.0 < 18" + react: ^18.3.1 + react-dom: ^18.3.1 languageName: unknown linkType: soft @@ -440,8 +442,8 @@ __metadata: "@fortawesome/fontawesome-svg-core": ^6.4.2 "@fortawesome/free-solid-svg-icons": ^6.4.2 "@fortawesome/react-fontawesome": ^0.2.0 - react: ">= 16.14.0 < 18" - react-dom: ">= 16.14.0 < 18" + react: ^18.3.1 + react-dom: ^18.3.1 languageName: unknown linkType: soft @@ -498,8 +500,8 @@ __metadata: webpack-filter-warnings-plugin: "npm:^1.2.1" webpack-merge: "npm:^5.8.0" peerDependencies: - react: ">= 16.14.0 < 18" - react-dom: ">= 16.14.0 < 18" + react: ^18.3.1 + react-dom: ^18.3.1 languageName: unknown linkType: soft @@ -557,8 +559,8 @@ __metadata: phone-fns: "npm:^3.2.3" postcss: "npm:^8.4.19" prop-types: "npm:^15.7.2" - react: "npm:>= 16.14.0 < 18" - react-dom: "npm:>= 16.14.0 < 18" + react: "npm:^18.3.1" + react-dom: "npm:^18.3.1" react-router-dom: "npm:^6.2.1" react-share: "npm:^4.4.0" reactstrap: "npm:^8.9.0" @@ -570,8 +572,8 @@ __metadata: styled-components: "npm:^5.3.0" webpack-merge: "npm:^5.8.0" peerDependencies: - react: ">= 16.14.0 < 18" - react-dom: ">= 16.14.0 < 18" + react: ^18.3.1 + react-dom: ^18.3.1 react-router-dom: ">= 5.2.0 < 7" react-share: ^4.4.0 reactstrap: ^8.9.0 @@ -675,9 +677,6 @@ __metadata: plop: "npm:2.7.6" postcss: "npm:^8.4.19" prop-types: "npm:^15.7.2" - react: "npm:>= 16.14.0 < 18" - react-dom: "npm:>= 16.14.0 < 18" - react-router-dom: "npm:^6.2.1" react-share: "npm:^4.4.0" reactstrap: "npm:^8.9.0" semantic-release: "npm:^17.4.2" @@ -691,8 +690,8 @@ __metadata: vite-plugin-static-copy: "npm:^1.0.6" webpack-merge: "npm:^5.8.0" peerDependencies: - react: ">= 16.14.0 < 18" - react-dom: ">= 16.14.0 < 18" + react: ^18.3.1 + react-dom: ^18.3.1 react-router-dom: ">= 5.2.0 < 7" languageName: unknown linkType: soft @@ -9724,8 +9723,8 @@ __metadata: nunjucks: "npm:^3.2.0" prettier: "npm:^2.2.1" purgecss-webpack-plugin: "npm:^4.0.3" - react: "npm:17.0.2" - react-dom: "npm:17.0.2" + react: "npm:^18.3.1" + react-dom: "npm:^18.3.1" rimraf: "npm:^3.0.2" semantic-release: "npm:18.0.1" semantic-release-monorepo: "npm:^7.0.4" @@ -24859,16 +24858,15 @@ __metadata: languageName: node linkType: hard -"react-dom@npm:17.0.2, react-dom@npm:>= 16.14.0 < 18": - version: 17.0.2 - resolution: "react-dom@npm:17.0.2" +"react-dom@npm:^18.3.1": + version: 18.3.1 + resolution: "react-dom@npm:18.3.1" dependencies: loose-envify: "npm:^1.1.0" - object-assign: "npm:^4.1.1" - scheduler: "npm:^0.20.2" + scheduler: "npm:^0.23.2" peerDependencies: - react: 17.0.2 - checksum: 10c0/51abbcb72450fe527ebf978c3bc989ba266630faaa53f47a2fae5392369729e8de62b2e4683598cbe651ea7873cd34ec7d5127e2f50bf4bfe6bd0c3ad9bddcb0 + react: ^18.3.1 + checksum: 10c0/a752496c1941f958f2e8ac56239172296fcddce1365ce45222d04a1947e0cc5547df3e8447f855a81d6d39f008d7c32eab43db3712077f09e3f67c4874973e85 languageName: node linkType: hard @@ -25121,13 +25119,12 @@ __metadata: languageName: node linkType: hard -"react@npm:17.0.2, react@npm:>= 16.14.0 < 18": - version: 17.0.2 - resolution: "react@npm:17.0.2" +"react@npm:^18.3.1": + version: 18.3.1 + resolution: "react@npm:18.3.1" dependencies: loose-envify: "npm:^1.1.0" - object-assign: "npm:^4.1.1" - checksum: 10c0/07ae8959acf1596f0550685102fd6097d461a54a4fd46a50f88a0cd7daaa97fdd6415de1dcb4bfe0da6aa43221a6746ce380410fa848acc60f8ac41f6649c148 + checksum: 10c0/283e8c5efcf37802c9d1ce767f302dd569dd97a70d9bb8c7be79a789b9902451e0d16334b05d73299b20f048cbc3c7d288bbbde10b701fa194e2089c237dbea3 languageName: node linkType: hard @@ -26324,13 +26321,12 @@ __metadata: languageName: node linkType: hard -"scheduler@npm:^0.20.2": - version: 0.20.2 - resolution: "scheduler@npm:0.20.2" +"scheduler@npm:^0.23.2": + version: 0.23.2 + resolution: "scheduler@npm:0.23.2" dependencies: loose-envify: "npm:^1.1.0" - object-assign: "npm:^4.1.1" - checksum: 10c0/b0982e4b0f34f4ffa4f2f486161c0fd9ce9b88680b045dccbf250eb1aa4fd27413570645455187a83535e2370f5c667a251045547765408492bd883cbe95fcdb + checksum: 10c0/26383305e249651d4c58e6705d5f8425f153211aef95f15161c151f7b8de885f24751b377e4a0b3dd42cce09aad3f87a61dab7636859c0d89b7daf1a1e2a5c78 languageName: node linkType: hard From 7595c20914102a04875c860e768a60c16497ef4d Mon Sep 17 00:00:00 2001 From: david ornelas <davidornelas_11@hotmail.com> Date: Mon, 7 Oct 2024 18:39:03 -0700 Subject: [PATCH 78/78] fix(component-header-footer): sswiotch to styled components insteads of scss file --- packages/component-header-footer/package.json | 2 +- .../src/footer/_styles.scss | 464 ----------------- .../footer/components/ColumnSection/index.js | 9 +- .../src/footer/components/Innovation/index.js | 5 +- .../src/footer/components/Social/index.js | 7 +- .../src/footer/footer.js | 8 +- .../src/footer/index.styles.js | 491 ++++++++++++++++++ .../components/HeaderMain/Logo/index.js | 2 +- packages/component-header-footer/src/index.js | 4 + .../component-header-footer/vite.config.js | 104 ++-- 10 files changed, 557 insertions(+), 539 deletions(-) delete mode 100644 packages/component-header-footer/src/footer/_styles.scss create mode 100644 packages/component-header-footer/src/footer/index.styles.js create mode 100644 packages/component-header-footer/src/index.js diff --git a/packages/component-header-footer/package.json b/packages/component-header-footer/package.json index fd883241ed..ba9d4dcccf 100644 --- a/packages/component-header-footer/package.json +++ b/packages/component-header-footer/package.json @@ -27,7 +27,7 @@ "lint": "eslint --fix 'src/**/*.{js,jsx}' --ignore-path ../../.eslintignore", "test": "jest --config=./jest.config.js --silent --coverage", "test-update-snapshot": "yarn test -- -u", - "build": "VITE_COMPONENT_TO_BUILD=header vite build && VITE_COMPONENT_TO_BUILD=footer vite build && yarn postbuild", + "build": "vite build && yarn postbuild", "build:stats": "webpack -c webpack/webpack.prod.js --profile --json=compilation-stats.json", "postbuild": "cp ./types/main.d.ts ./dist/main.d.ts", "start:dev": "webpack-dashboard -- webpack serve -c webpack/webpack.dev.js", diff --git a/packages/component-header-footer/src/footer/_styles.scss b/packages/component-header-footer/src/footer/_styles.scss deleted file mode 100644 index e3664c1405..0000000000 --- a/packages/component-header-footer/src/footer/_styles.scss +++ /dev/null @@ -1,464 +0,0 @@ -// Variables -$uds-color-divider-darker: #1e1e1e; -$uds-color-base-white: #ffffff; -$uds-color-base-grey-2: #e8e8e8; -$uds-color-base-gold: #ffc627; -$uds-color-divider-lighter: #393939; -$uds-color-base-grey-7: #191919; -$uds-color-base-grey-4: #bfbfbf; - -// Mixins -@mixin reset-list { - padding-left: 0; - margin-bottom: 0; - list-style: none; -} - -@mixin flex-center { - display: flex; - align-items: center; -} - -// Common Styles -%button-styles { - text-decoration: none !important; - padding: 1rem 2rem; - white-space: nowrap; - line-height: 1rem; - width: max-content !important; - font-size: 1rem; - display: inline-block; - &:active { - transform: scale(.95); - } -} - -// Base Footer Styles -footer { - > * { - box-sizing: border-box; - font-family: Arial, Helvetica, "Nimbus Sans L", "Liberation Sans", FreeSans, sans-serif; - line-height: 1.5rem; - } - - .btn, a[class^="button-"] { - @extend %button-styles; - } - - h5, .h5 { - font-size: 1rem; - line-height: 1.5rem; - letter-spacing: -0.015rem; - margin: 1rem 0; - } -} - -.nav { - display: flex; - flex-wrap: wrap; - @include reset-list; -} - -// Footer Sections -#wrapper-endorsed-footer, -#wrapper-footer-columns { - background: $uds-color-divider-darker; - - h5, .h5 { - color: $uds-color-base-white; - font-weight: 700; - } -} - -#wrapper-endorsed-footer { - a { - color: $uds-color-base-grey-2; - } - - & + #wrapper-footer-columns { - border-top: 2px solid $uds-color-divider-lighter; - } -} - -#wrapper-footer-innovation { - background-color: $uds-color-base-gold; -} - -#wrapper-footer-colophon { - background-color: $uds-color-base-grey-2; -} - -#wrapper-footer-innovation, -#wrapper-footer-colophon { - a { - margin-right: 1.5rem; - text-decoration: none; - color: $uds-color-base-grey-7; - } -} - -// Endorsed Footer -#endorsed-logo { - --endorsed-logo-display: block; - --endorsed-logo-padding-top: 12px; - --endorsed-logo-padding-bottom: 12px; - --endorsed-logo-img-max-height: 100%; - --endorsed-logo-img-width: 100%; - padding-top: var(--endorsed-logo-padding-top); - padding-bottom: var(--endorsed-logo-padding-bottom); - display: var(--endorsed-logo-display); - align-items: center; - - img { - width: var(--endorsed-logo-img-width); - height: auto; - max-height: var(--endorsed-logo-img-max-height); - transform: scale(1.13); - padding: 0; - margin: 0; - } - - @media (min-width: 768px) { - --endorsed-logo-display: flex; - --endorsed-logo-padding-top: 20px; - --endorsed-logo-padding-bottom: 20px; - --endorsed-logo-img-max-height: 6rem; - --endorsed-logo-img-width: auto; - } -} - -#endorsed-footer { - #social-media { - .nav { - padding-bottom: 1.5rem; - - @media (min-width: 768px) { - padding: 2.5rem 0; - justify-content: flex-end; - } - } - - .nav-link { - padding: 1rem .5rem; - font-size: 2rem; - color: $uds-color-base-grey-4; - line-height: 1; - padding-top: 7px; - - &:first-child { - @media (max-width: 575.98px) { - padding-left: 0; - } - } - - &:last-child { - @media (min-width: 768px) { - padding-right: 0; - } - } - } - } -} - -// Footer Columns -#footer-columns { - #info-column { - .contact-link { - margin-bottom: 1.5rem; - - a { - color: $uds-color-base-grey-2; - line-height: 1.5rem; - text-decoration: underline; - - &:hover { - color: $uds-color-base-gold; - } - } - } - - .contribute-button { - margin-bottom: 1.5rem; - } - } - - .flex-footer { - .accordion-item, - .accordion-header, - .accordion-body { - background: $uds-color-divider-darker; - color: $uds-color-base-white; - border: 0; - } - - .accordion-header { - border-top: 1px solid $uds-color-divider-lighter; - padding-left: 0; - - h5, .h5 { - a, .accordion-button { - @include flex-center; - justify-content: space-between; - } - } - - a, - .accordion-button { - color: $uds-color-base-grey-2; - padding: 1.5rem 0; - text-decoration: none; - background: none; - border: none; - font: inherit; - color: inherit; - cursor: pointer; - text-align: inherit; - width: 100%; - - &:hover { - background: $uds-color-divider-darker; - } - - svg, fa-chevron-up { - margin-left: 1rem; - transition: 0.5s cubic-bezier(0.19, 1, 0.19, 1); - margin-left: 0.5rem; - font-size: 0.75rem; - - &.open { - transform: rotate(180deg); - } - } - } - - @media (min-width: 1260px) { - border-top: 0; - padding: 0; - - a, - .accordion-button { - padding: 0; - cursor: default; - } - - span { - display: none; - } - } - } - - .accordion-body { - max-height: 0; - overflow: hidden; - transition: max-height .5s ease-in-out; - - &.show { - max-height: 1000px; - } - - .nav-link { - color: $uds-color-base-grey-2; - padding: 0 0 1rem; - line-height: 1.5rem; - text-decoration: none; - display: block; - - &:hover { - color: $uds-color-base-gold; - text-decoration: underline; - } - } - - @media (min-width: 1260px) { - padding: 0; - display: block; - min-height: fit-content; - } - } - } - - @media (min-width: 1260px) { - padding-bottom: 3rem; - padding-top: 3rem; - - h5 { - margin: 0 0 1.5rem 0; - } - } -} - -// Footer Innovation -#footer-innovation { - .footer-innovation-links { - justify-content: space-between; - align-items: center; - font-weight: 700; - - .img-link { - order: 2; - margin-right: 0; - transform: translate(1.5rem, 0); - - img { - height: 100px; - width: auto; - } - } - - .nav-link { - padding: 0; - } - - @media (max-width: 991.98px) { - flex-direction: column; - padding: 0.5rem 0; - - .img-link { - margin-right: 0; - transform: none; - - img { - width: 100%; - height: auto; - order: -1; - } - } - - .nav { - display: grid; - grid-template-rows: 1fr 1fr 1fr; - grid-auto-flow: column; - justify-items: start; - width: 100%; - - .nav-link { - margin-right: 0; - padding: 0.5rem 0; - - &:nth-child(n+4) { - justify-self: end; - } - } - } - } - } -} - -// Footer Colophon -#wrapper-footer-colophon { - .colophon { - margin: 1rem 0; - } - - .nav-link { - padding: 0; - } - - @media (max-width: 767.98px) { - .nav { - display: grid; - grid-template-rows: 1fr 1fr 1fr; - grid-auto-flow: column; - justify-items: start; - width: 100%; - - .nav-link { - margin-right: 0; - padding: 0.5rem 0; - - &:nth-child(n+4) { - justify-self: end; - } - } - } - } -} - -// Bootstrap Default Stylings -.row { - --bs-gutter-x: 24px; - --bs-gutter-y: 0; - display: flex; - flex-wrap: wrap; - margin-top: calc(-1 * var(--bs-gutter-y)); - margin-right: calc(-0.5 * var(--bs-gutter-x)); - margin-left: calc(-0.5 * var(--bs-gutter-x)); - - > * { - flex-shrink: 0; - width: 100%; - max-width: 100%; - padding-right: calc(var(--bs-gutter-x) * 0.5); - padding-left: calc(var(--bs-gutter-x) * 0.5); - margin-top: var(--bs-gutter-y); - } -} - -.col { - flex: 1 0 0%; -} - -.d-flex { - display: flex; -} - -.container { - --bs-gutter-x: 24px; - --bs-gutter-y: 0; - width: 100%; - padding-right: calc(var(--bs-gutter-x) * 0.5); - padding-left: calc(var(--bs-gutter-x) * 0.5); - margin-right: auto; - margin-left: auto; -} - -@media (max-width: 767.98px) { - .container, - .container-fluid, - .container-xl, - .container-lg, - .container-md, - .container-sm { - padding-left: 2rem; - padding-right: 2rem; - } -} - -@media (min-width: 576px) { - .container { - max-width: 540px; - } -} - -@media (min-width: 768px) { - .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 768px; - } - .col-md { - flex: 1 0 0%; - } -} - -@media (min-width: 992px) { - .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 992px; - } -} - -@media (min-width: 1260px) { - .col-xl-3 { - flex: 0 0 auto; - width: 25%; - } - .col-xl { - flex: 1 0 0%; - } - .accordion-item { - svg, .fa-chevron-up { - display: none; - } - } - .container-xl, .container-lg, .container-md, .container-sm, .container { - max-width: 1224px; - } -} diff --git a/packages/component-header-footer/src/footer/components/ColumnSection/index.js b/packages/component-header-footer/src/footer/components/ColumnSection/index.js index 7467e5c402..0bfae413f0 100644 --- a/packages/component-header-footer/src/footer/components/ColumnSection/index.js +++ b/packages/component-header-footer/src/footer/components/ColumnSection/index.js @@ -4,8 +4,6 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import PropTypes, { shape, arrayOf } from "prop-types"; import React, { useState, useEffect } from "react"; -import { Accordion } from "../../../../../unity-react-core/dist/esm/components/Accordion.es"; - /** * @typedef {import("../../core/models/types").Column} Column */ @@ -31,7 +29,11 @@ const ColumnSection = ({ columnIndex, column: { title, links } }) => { }, []); const handleToggle = () => { - setShow(!show); + if (isLgDesktop) { + setShow(true); + } else { + setShow(!show); + } }; return ( @@ -46,6 +48,7 @@ const ColumnSection = ({ columnIndex, column: { title, links } }) => { aria-controls={`footlink-${columnIndex}`} onClick={handleToggle} type="button" + disabled={isLgDesktop} > {title} <FontAwesomeIcon diff --git a/packages/component-header-footer/src/footer/components/Innovation/index.js b/packages/component-header-footer/src/footer/components/Innovation/index.js index 8997f9dd6a..fab152a250 100644 --- a/packages/component-header-footer/src/footer/components/Innovation/index.js +++ b/packages/component-header-footer/src/footer/components/Innovation/index.js @@ -2,7 +2,7 @@ import React from "react"; import { trackGAEvent } from "../../../../../../shared"; -import innovationLogo from "../../assets/images/innovationLogo.png"; +import { getCurrentScriptPath } from "../../../../../../shared/utils"; import { FOOTER_URLS } from "../../core/constants"; const DEFAULT_GA_EVENT = { @@ -10,6 +10,9 @@ const DEFAULT_GA_EVENT = { section: "secondary footer", }; +const currentScriptPath = getCurrentScriptPath(); +const innovationLogo = `${currentScriptPath}assets/images/innovationLogo.png`; + const Innovation = () => { return ( <div diff --git a/packages/component-header-footer/src/footer/components/Social/index.js b/packages/component-header-footer/src/footer/components/Social/index.js index f178477b8d..5fa84bd06f 100644 --- a/packages/component-header-footer/src/footer/components/Social/index.js +++ b/packages/component-header-footer/src/footer/components/Social/index.js @@ -10,10 +10,13 @@ import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import PropTypes, { shape } from "prop-types"; import React from "react"; -// @ts-ignore import { trackGAEvent } from "../../../../../../shared"; +import { getCurrentScriptPath } from "../../../../../../shared/utils"; + // @ts-ignore -import endorsedLogo from "../../assets/images/endorsedLogo.png"; + +const currentScriptPath = getCurrentScriptPath(); +const endorsedLogo = `${currentScriptPath}assets/images/endorsedLogo.png`; const DEFAULT_GA_EVENT = { type: "external link", diff --git a/packages/component-header-footer/src/footer/footer.js b/packages/component-header-footer/src/footer/footer.js index 49a135e628..905ff074d3 100644 --- a/packages/component-header-footer/src/footer/footer.js +++ b/packages/component-header-footer/src/footer/footer.js @@ -4,7 +4,7 @@ import React, { useEffect } from "react"; import trackReactComponent from "../../../../shared/services/componentDatalayer"; import { Social, Legal, Innovation, ContactComponent } from "./components"; -import "./_styles.scss"; +import { StyledFooter } from "./index.styles"; const Base = () => { return ( @@ -23,7 +23,7 @@ const ASUFooter = ({ social, contact }) => { useEffect(() => { if (typeof window !== "undefined") { trackReactComponent({ - packageName: "component-footer", + packageName: "component-StyledFooter", component: "Component Footer", type: "NA", configuration: { @@ -35,11 +35,11 @@ const ASUFooter = ({ social, contact }) => { }, []); return ( - <footer role="contentinfo"> + <StyledFooter role="contentinfo"> {social && <Social social={social} />} {contact && <ContactComponent contact={contact} />} <Base /> - </footer> + </StyledFooter> ); }; diff --git a/packages/component-header-footer/src/footer/index.styles.js b/packages/component-header-footer/src/footer/index.styles.js new file mode 100644 index 0000000000..64db1a8a3e --- /dev/null +++ b/packages/component-header-footer/src/footer/index.styles.js @@ -0,0 +1,491 @@ +import styled, { css } from "styled-components"; + +// Convert mixins to styled-components helper functions +const resetList = css` + padding-left: 0; + margin-bottom: 0; + list-style: none; +`; + +const flexCenter = css` + display: flex; + align-items: center; +`; + +const StyledFooter = styled.footer` + // Variables + --color-divider-darker: #1e1e1e; + --color-base-white: #ffffff; + --color-base-grey-2: #e8e8e8; + --color-base-gold: #ffc627; + --color-divider-lighter: #393939; + --color-base-grey-7: #191919; + --color-base-grey-4: #bfbfbf; + + // Base Styles + * { + box-sizing: border-box; + font-family: Arial, Helvetica, "Nimbus Sans L", "Liberation Sans", FreeSans, + sans-serif; + line-height: 1.5rem; + } + + .btn, + a[class^="button-"] { + text-decoration: none !important; + padding: 1rem 2rem; + white-space: nowrap; + line-height: 1rem; + width: max-content !important; + font-size: 1rem; + display: inline-block; + &:active { + transform: scale(0.95); + } + } + + h5, + .h5 { + font-size: 1rem; + line-height: 1.5rem; + letter-spacing: -0.015rem; + margin: 1rem 0; + } + + .nav { + display: flex; + flex-wrap: wrap; + ${resetList} + } + + // Footer Sections + #wrapper-endorsed-footer, + #wrapper-footer-columns { + background: var(--color-divider-darker); + + h5, + .h5 { + color: var(--color-base-white); + font-weight: 700; + } + } + + #wrapper-endorsed-footer { + a { + color: var(--color-base-grey-2); + } + + & + #wrapper-footer-columns { + border-top: 2px solid var(--color-divider-lighter); + } + } + + #wrapper-footer-innovation { + background-color: var(--color-base-gold); + } + + #wrapper-footer-colophon { + background-color: var(--color-base-grey-2); + } + + #wrapper-footer-innovation, + #wrapper-footer-colophon { + a { + margin-right: 1.5rem; + text-decoration: none; + color: var(--color-base-grey-7); + } + } + + // Endorsed Footer + #endorsed-logo { + --endorsed-logo-display: block; + --endorsed-logo-padding-top: 12px; + --endorsed-logo-padding-bottom: 12px; + --endorsed-logo-img-max-height: 100%; + --endorsed-logo-img-width: 100%; + padding-top: var(--endorsed-logo-padding-top); + padding-bottom: var(--endorsed-logo-padding-bottom); + display: var(--endorsed-logo-display); + align-items: center; + + img { + width: var(--endorsed-logo-img-width); + height: auto; + max-height: var(--endorsed-logo-img-max-height); + transform: scale(1.13); + padding: 0; + margin: 0; + } + + @media (min-width: 768px) { + --endorsed-logo-display: flex; + --endorsed-logo-padding-top: 20px; + --endorsed-logo-padding-bottom: 20px; + --endorsed-logo-img-max-height: 6rem; + --endorsed-logo-img-width: auto; + } + } + + #endorsed-footer { + #social-media { + .nav { + padding-bottom: 1.5rem; + + @media (min-width: 768px) { + padding: 2.5rem 0; + justify-content: flex-end; + } + } + + .nav-link { + padding: 1rem 0.5rem; + font-size: 2rem; + color: var(--color-base-grey-4); + line-height: 1; + padding-top: 7px; + + &:first-child { + @media (max-width: 575.98px) { + padding-left: 0; + } + } + + &:last-child { + @media (min-width: 768px) { + padding-right: 0; + } + } + } + } + } + + // Footer Columns + #footer-columns { + #info-column { + .contact-link { + margin-bottom: 1.5rem; + + a { + color: var(--color-base-grey-2); + line-height: 1.5rem; + text-decoration: underline; + + &:hover { + color: var(--color-base-gold); + } + } + } + + .contribute-button { + margin-bottom: 1.5rem; + } + } + + .flex-footer { + .accordion-item, + .accordion-header, + .accordion-body { + background: var(--color-divider-darker); + color: var(--color-base-white); + border: 0; + } + + .accordion-header { + border-top: 1px solid var(--color-divider-lighter); + padding-left: 0; + + h5, + .h5 { + margin: 0; + a, + .accordion-button { + ${flexCenter} + justify-content: space-between; + } + } + + a, + .accordion-button { + color: var(--color-base-grey-2); + padding: 1.5rem 0; + text-decoration: none; + background: none; + border: none; + font: inherit; + color: inherit; + cursor: pointer; + text-align: inherit; + width: 100%; + + &:hover { + background: var(--color-divider-darker); + } + + svg, + fa-chevron-up { + margin-left: 1rem; + transition: 0.5s cubic-bezier(0.19, 1, 0.19, 1); + margin-left: 0.5rem; + font-size: 0.75rem; + + &.open { + transform: rotate(180deg); + } + } + } + + @media (min-width: 1260px) { + border-top: 0; + padding: 0; + a, + .accordion-button { + padding: 0; + cursor: default; + } + + span { + display: none; + } + } + } + + .accordion-body { + max-height: 0px; + overflow: hidden; + transition: max-height 0.35s ease-out; + + &.show { + display: block; + max-height: 800px; + transition: max-height 0.4s ease-in-out; + } + + .nav-link { + color: var(--color-base-grey-2); + padding: 0 0 1rem; + line-height: 1.5rem; + text-decoration: none; + display: block; + + &:hover { + color: var(--color-base-gold); + text-decoration: underline; + } + } + + @media (min-width: 1260px) { + padding: 0; + display: block; + min-height: fit-content; + } + } + } + + @media (min-width: 1260px) { + padding-bottom: 3rem; + padding-top: 3rem; + h5, + .h5 { + margin: 0 0 1.5rem 0; + } + .accordion-header:has(.h5, h5) { + h5, + .h5 { + margin: 0 0 1.5rem 0; + } + } + } + } + + // Footer Innovation + #footer-innovation { + .footer-innovation-links { + justify-content: space-between; + align-items: center; + font-weight: 700; + + .img-link { + order: 2; + margin-right: 0; + transform: translate(1.5rem, 0); + + img { + height: 100px; + width: auto; + } + } + + .nav-link { + padding: 0; + } + + @media (max-width: 991.98px) { + flex-direction: column; + padding: 0.5rem 0; + + .img-link { + margin-right: 0; + transform: none; + + img { + width: 100%; + height: auto; + order: -1; + } + } + + .nav { + display: grid; + grid-template-rows: 1fr 1fr 1fr; + grid-auto-flow: column; + justify-items: start; + width: 100%; + + .nav-link { + margin-right: 0; + padding: 0.5rem 0; + + &:nth-child(n + 4) { + justify-self: end; + } + } + } + } + } + } + + // Footer Colophon + #wrapper-footer-colophon { + .colophon { + margin: 1rem 0; + } + + .nav-link { + padding: 0; + } + + @media (max-width: 767.98px) { + .nav { + display: grid; + grid-template-rows: 1fr 1fr 1fr; + grid-auto-flow: column; + justify-items: start; + width: 100%; + + .nav-link { + margin-right: 0; + padding: 0.5rem 0; + + &:nth-child(n + 4) { + justify-self: end; + } + } + } + } + } + + // Bootstrap Default Stylings + .row { + --bs-gutter-x: 24px; + --bs-gutter-y: 0; + display: flex; + flex-wrap: wrap; + margin-top: calc(-1 * var(--bs-gutter-y)); + margin-right: calc(-0.5 * var(--bs-gutter-x)); + margin-left: calc(-0.5 * var(--bs-gutter-x)); + + > * { + flex-shrink: 0; + width: 100%; + max-width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-top: var(--bs-gutter-y); + } + } + + .col { + flex: 1 0 0%; + } + + .d-flex { + display: flex; + } + + .container { + --bs-gutter-x: 24px; + --bs-gutter-y: 0; + width: 100%; + padding-right: calc(var(--bs-gutter-x) * 0.5); + padding-left: calc(var(--bs-gutter-x) * 0.5); + margin-right: auto; + margin-left: auto; + } + + @media (max-width: 767.98px) { + .container, + .container-fluid, + .container-xl, + .container-lg, + .container-md, + .container-sm { + padding-left: 2rem; + padding-right: 2rem; + } + } + + @media (min-width: 576px) { + .container { + max-width: 540px; + } + } + + @media (min-width: 768px) { + .container-xl, + .container-lg, + .container-md, + .container-sm, + .container { + max-width: 768px; + } + .col-md { + flex: 1 0 0%; + } + } + + @media (min-width: 992px) { + .container-xl, + .container-lg, + .container-md, + .container-sm, + .container { + max-width: 992px; + } + } + + @media (min-width: 1260px) { + .col-xl-3 { + flex: 0 0 auto; + width: 25%; + } + .col-xl { + flex: 1 0 0%; + } + .accordion-item { + svg, + .fa-chevron-up { + display: none; + } + } + .container-xl, + .container-lg, + .container-md, + .container-sm, + .container { + max-width: 1224px; + } + } +`; + +export { StyledFooter }; diff --git a/packages/component-header-footer/src/header/components/HeaderMain/Logo/index.js b/packages/component-header-footer/src/header/components/HeaderMain/Logo/index.js index cda72dd2aa..adb547cdf2 100644 --- a/packages/component-header-footer/src/header/components/HeaderMain/Logo/index.js +++ b/packages/component-header-footer/src/header/components/HeaderMain/Logo/index.js @@ -9,7 +9,7 @@ import { useAppContext } from "../../../core/context/app-context"; import { LogoWrapper } from "./index.styles"; const currentScriptPath = getCurrentScriptPath(); -console.log("currentScriptPath", currentScriptPath); + const vertLogo = `${currentScriptPath}assets/img/arizona-state-university-logo-vertical.png`; const horizLogo = `${currentScriptPath}assets/img/arizona-state-university-logo.png`; diff --git a/packages/component-header-footer/src/index.js b/packages/component-header-footer/src/index.js new file mode 100644 index 0000000000..7a4965a7ca --- /dev/null +++ b/packages/component-header-footer/src/index.js @@ -0,0 +1,4 @@ +import { ASUFooter, initASUFooter } from "./footer"; +import { ASUHeader, initGlobalHeader } from "./header"; + +export { ASUHeader, initGlobalHeader, ASUFooter, initASUFooter }; diff --git a/packages/component-header-footer/vite.config.js b/packages/component-header-footer/vite.config.js index 74fdd69331..bef1172eaa 100644 --- a/packages/component-header-footer/vite.config.js +++ b/packages/component-header-footer/vite.config.js @@ -2,73 +2,51 @@ import { defineConfig, transformWithEsbuild, loadEnv } from "vite"; import { resolve } from "path"; import react from "@vitejs/plugin-react"; +import pkg from "./package.json"; -const componentMap = { - header: { - globalUmdName: "AsuHeader", - fileName: "asuHeader", - }, - footer: { - globalUmdName: "AsuFooter", - fileName: "asuFooter", - } -}; - -export default defineConfig(({ mode, command }) => { - const env = loadEnv(mode, process.cwd()); - const { VITE_COMPONENT_TO_BUILD } = env; - const umdName = componentMap[VITE_COMPONENT_TO_BUILD].globalUmdName; - const fileName = componentMap[VITE_COMPONENT_TO_BUILD].fileName; - - if (!VITE_COMPONENT_TO_BUILD) { - throw new Error(`Error parsing environment variable VITE_COMPONENT ${VITE_COMPONENT_TO_BUILD}`); - }; - - return { - build: { - emptyOutDir: false, - lib: { - entry: resolve(__dirname, `src/${VITE_COMPONENT_TO_BUILD}/index.js`), - name: umdName, - formats: ["es", "cjs", "umd"], - fileName: (format) => `${fileName}.${format}.js`, - }, - rollupOptions: { - input: resolve(__dirname, "src/header/index.js"), - external: ["react", "react-dom"], - output: { - globals: { - "react": "React", - "react-dom": "ReactDOM" - }, +export default defineConfig({ + build: { + lib: { + entry: resolve(__dirname, "src/index.js"), + name: "AsuHeaderFooter", + formats: ["es", "cjs", "umd"], + fileName: format => `asuHeaderFooter.${format}.js`, + }, + rollupOptions: { + input: resolve(__dirname, "src/index.js"), + external: [...Object.keys(pkg.peerDependencies)], + output: { + globals: { + "react": "React", + "react-dom": "ReactDOM", }, }, - minify: "terser", - cssCodeSplit: false, - }, - esbuild: { - legalComments: 'eof', - keepNames: false, }, - define: { - process: {env: {NODE_ENV: process.env.NODE_ENV}}, - global: {} - }, - plugins: [ - react({ - jsxRuntime: "automatic", - }), - { - name: "treat-js-files-as-jsx", - async transform(code, id) { - if (!id.match(/src\/.*\.js$/)) return null; + minify: true, + cssCodeSplit: false, + }, + esbuild: { + legalComments: "eof", + keepNames: false, + }, + define: { + process: { env: { NODE_ENV: process.env.NODE_ENV } }, + global: {}, + }, + plugins: [ + react({ + jsxRuntime: "automatic", + }), + { + name: "treat-js-files-as-jsx", + async transform(code, id) { + if (!id.match(/src\/.*\.js$/)) return null; - return transformWithEsbuild(code, id, { - loader: "jsx", - jsx: "automatic", - }); - }, + return transformWithEsbuild(code, id, { + loader: "jsx", + jsx: "automatic", + }); }, - ], - } + }, + ], });