diff --git a/ocfstatic b/ocfstatic
new file mode 160000
index 0000000..8b851f5
--- /dev/null
+++ b/ocfstatic
@@ -0,0 +1 @@
+Subproject commit 8b851f51b2614c669ffdc42df99ef0bfe48a5064
diff --git a/package.json b/package.json
index d904cae..a323c80 100644
--- a/package.json
+++ b/package.json
@@ -32,8 +32,10 @@
"gatsby-source-filesystem": "^5.12.0",
"gatsby-transformer-remark": "^6.12.0",
"keycloak-js": "^22.0.3",
+ "moment": "^2.29.4",
"oidc-client-ts": "^2.2.5",
"react": "^18.2.0",
+ "react-big-calendar": "^1.8.4",
"react-dom": "^18.2.0",
"react-oidc-context": "^2.3.0",
"swr": "^2.2.4",
@@ -43,6 +45,7 @@
"@types/express": "^4.17.18",
"@types/node": "^18.11.9",
"@types/react": "^18.2.23",
+ "@types/react-big-calendar": "^1.8.2",
"@types/react-dom": "^18.2.8",
"@typescript-eslint/eslint-plugin": "^6.7.3",
"@typescript-eslint/parser": "^6.7.3",
diff --git a/src/pages/staff-hours.tsx b/src/pages/staff-hours.tsx
index f503729..3a2380e 100644
--- a/src/pages/staff-hours.tsx
+++ b/src/pages/staff-hours.tsx
@@ -1,8 +1,345 @@
import { Box } from "@chakra-ui/react"
import { SEO } from "~/components/SEO"
+import Layout from "~/components/Layout"
+import Navbar from "~/components/Navbar"
+import FullWidthBox from "~/components/FullWidthBox"
+import { useRef, useCallback, useMemo } from "react"
+import Footer from "~/components/Footer"
+import { Calendar, Views, momentLocalizer, Event } from "react-big-calendar"
+import moment from "moment"
+import "react-big-calendar/lib/css/react-big-calendar.css"
+import { useApiRoute } from "~/utils/api"
+const localizer = momentLocalizer(moment)
+
+function mapDays(weekDay: string) {
+ switch (weekDay) {
+ case "Saturday":
+ return 6
+
+ case "Monday":
+ return 1
+
+ case "Tuesday":
+ return 2
+
+ case "Wednesday":
+ return 3
+
+ case "Thursday":
+ return 4
+ case "Friday":
+ return 5
+ default:
+ return 7
+ }
+}
+function giveEvent(event: Event) {
+ window.alert(
+ event.title?.toString() +
+ "\n" +
+ event.start?.toString() +
+ " - " +
+ event.end?.toString(),
+ )
+}
+
+function parseTime(time: string) {
+ const hour = time.match(/\d+/g)
+ if (hour?.length != 4) {
+ return [0, 0, 23, 0]
+ }
+ let sHour = parseInt(hour[0])
+ if (sHour == 12) {
+ sHour = 0
+ }
+ const sMin = parseInt(hour[1])
+
+ let eHour = parseInt(hour[2])
+ if (eHour == 12) {
+ eHour = 0
+ }
+ const eMin = parseInt(hour[3])
+
+ const zones = time.split("-")
+ if (zones[0].match(/PM/)) {
+ sHour = sHour + 12
+ }
+ if (zones[1].match(/PM/)) {
+ eHour = eHour + 12
+ }
+
+ return [sHour, sMin, eHour, eMin]
+}
const StaffHoursPage = () => {
- return page content
+ function ocfHours(i: number, data: typeof hours) {
+ const day = moment().startOf("isoWeek").add(i, "days")
+ if (data?.open != undefined && data?.close != undefined) {
+ return {
+ title: "OCF Open",
+ allDay: false,
+ start: new Date(
+ day.year(),
+ day.month(),
+ day.date(),
+ parseInt(data.open.split(":")[0]),
+ parseInt(data.open.split(":")[1]),
+ 0,
+ 0,
+ ),
+ end: new Date(
+ day.year(),
+ day.month(),
+ day.date(),
+ parseInt(data.close.split(":")[0]),
+ parseInt(data.close.split(":")[1]),
+ 0,
+ 0,
+ ),
+ }
+ } else {
+ return {
+ title: "OCF Closed All Day",
+ allDay: false,
+ start: new Date(day.year(), day.month(), day.date(), 0, 0, 0, 0),
+ end: new Date(day.year(), day.month(), day.date(), 23, 59, 0, 0),
+ }
+ }
+ }
+ const weeks_Data = []
+ const isoDate = moment()
+ .startOf("isoWeek")
+ .add(0, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate.toString() },
+ })
+ weeks_Data.push(ocfHours(0, hours))
+ const isoDate1 = moment()
+ .startOf("isoWeek")
+ .add(1, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours1 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate1.toString() },
+ })
+ weeks_Data.push(ocfHours(1, hours1))
+ const isoDate2 = moment()
+ .startOf("isoWeek")
+ .add(2, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours2 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate2.toString() },
+ })
+ weeks_Data.push(ocfHours(2, hours2))
+ const isoDate3 = moment()
+ .startOf("isoWeek")
+ .add(3, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours3 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate3.toString() },
+ })
+ weeks_Data.push(ocfHours(3, hours3))
+ const isoDate4 = moment()
+ .startOf("isoWeek")
+ .add(4, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours4 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate4.toString() },
+ })
+ weeks_Data.push(ocfHours(4, hours4))
+ const isoDate5 = moment()
+ .startOf("isoWeek")
+ .add(5, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours5 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate5.toString() },
+ })
+ weeks_Data.push(ocfHours(5, hours5))
+ const isoDate6 = moment()
+ .startOf("isoWeek")
+ .add(6, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours6 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate6.toString() },
+ })
+ weeks_Data.push(ocfHours(6, hours6))
+ const isoDate7 = moment()
+ .startOf("isoWeek")
+ .add(7, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours7 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate7.toString() },
+ })
+ weeks_Data.push(ocfHours(7, hours7))
+ const isoDate8 = moment()
+ .startOf("isoWeek")
+ .add(8, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours8 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate8.toString() },
+ })
+ weeks_Data.push(ocfHours(8, hours8))
+ const isoDate9 = moment()
+ .startOf("isoWeek")
+ .add(9, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours9 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate9.toString() },
+ })
+ weeks_Data.push(ocfHours(10, hours9))
+ const isoDate10 = moment()
+ .startOf("isoWeek")
+ .add(10, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours10 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate10.toString() },
+ })
+ weeks_Data.push(ocfHours(10, hours10))
+ const isoDate11 = moment()
+ .startOf("isoWeek")
+ .add(11, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours11 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate11.toString() },
+ })
+ weeks_Data.push(ocfHours(11, hours11))
+ const isoDate12 = moment()
+ .startOf("isoWeek")
+ .add(12, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours12 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate12.toString() },
+ })
+ weeks_Data.push(ocfHours(12, hours12))
+
+ /* let OCF_hours = [] // React Hook "useApiRoute" may be executed more than once. Possibly because it is called in a loop. React Hooks must be called in the exact same order in every component render
+ for (let i = 0; i < 21; i++) {
+ const isoDate12 = moment()
+ .startOf("isoWeek")
+ .add(i, "days")
+ .format("YYYY-MM-DD")
+ const { data: hours12 } = useApiRoute("/lab/hours/{date}", {
+ path: { date: isoDate12.toString() },
+ })
+ OCF_hours.push(ocfHours(i, hours12))
+ } */
+ const { data: staff } = useApiRoute("/staff_hours")
+ const staffHours =
+ staff &&
+ staff.staff_hours.map(function (staff) {
+ const newDay = moment().startOf("isoWeek").add(mapDays(staff.day), "days")
+ const times = parseTime(staff.time)
+ if (!staff.cancelled) {
+ return {
+ title: staff.staff[0].real_name,
+ allDay: false,
+ start: new Date(
+ newDay.year(),
+ newDay.month(),
+ newDay.date(),
+ times[0],
+ times[1],
+ 0,
+ 0,
+ ),
+ end: new Date(
+ newDay.year(),
+ newDay.month(),
+ newDay.date(),
+ times[2],
+ times[3],
+ 0,
+ 0,
+ ),
+ }
+ } else {
+ return {
+ title: staff.staff[0].real_name + " CANCELED",
+ allDay: false,
+ start: new Date(
+ newDay.year(),
+ newDay.month(),
+ newDay.date(),
+ times[0],
+ times[1],
+ 0,
+ 0,
+ ),
+ end: new Date(
+ newDay.year(),
+ newDay.month(),
+ newDay.date(),
+ times[2],
+ times[3],
+ 0,
+ 0,
+ ),
+ }
+ }
+ })
+ const eventPropGetter = useCallback(
+ (event: Event) => ({
+ ...(event.title?.toString().includes("CANCELED") && {
+ style: {
+ backgroundColor: "#000",
+ },
+ }),
+ ...(event.title?.toString().includes("OCF Closed") && {
+ style: {
+ backgroundColor: "#000",
+ },
+ }),
+ }),
+ [],
+ )
+
+ const { defaultDate, scrollToTime } = useMemo(
+ () => ({
+ defaultDate: new Date(),
+ scrollToTime: new Date(1970, 1, 1, 6),
+ }),
+ [],
+ )
+
+ const heroRef = useRef(null)
+ return (
+
+
+
+
+
+
+
+
+
+ )
}
export default StaffHoursPage
diff --git a/src/utils/api.ts b/src/utils/api.ts
index 22cca07..c51666c 100644
--- a/src/utils/api.ts
+++ b/src/utils/api.ts
@@ -65,7 +65,7 @@ export function getSWRKeyForPath<
if ("path" in params) {
for (const param in params.path) {
pathReplaced = pathReplaced.replaceAll(
- new RegExp(`\\{${param}\\}`),
+ new RegExp(`\\{${param}\\}`, "g"),
params.path[param].toString(),
)
}
diff --git a/yarn.lock b/yarn.lock
index 6e0f8ac..6e22a6f 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1545,6 +1545,15 @@ __metadata:
languageName: node
linkType: hard
+"@babel/runtime@npm:^7.13.8, @babel/runtime@npm:^7.6.3, @babel/runtime@npm:^7.8.7":
+ version: 7.23.2
+ resolution: "@babel/runtime@npm:7.23.2"
+ dependencies:
+ regenerator-runtime: ^0.14.0
+ checksum: 6c4df4839ec75ca10175f636d6362f91df8a3137f86b38f6cd3a4c90668a0fe8e9281d320958f4fbd43b394988958585a17c3aab2a4ea6bf7316b22916a371fb
+ languageName: node
+ linkType: hard
+
"@babel/template@npm:^7.20.7, @babel/template@npm:^7.22.15, @babel/template@npm:^7.22.5":
version: 7.22.15
resolution: "@babel/template@npm:7.22.15"
@@ -4236,13 +4245,24 @@ __metadata:
languageName: node
linkType: hard
-"@popperjs/core@npm:^2.9.3":
+"@popperjs/core@npm:^2.11.6, @popperjs/core@npm:^2.9.3":
version: 2.11.8
resolution: "@popperjs/core@npm:2.11.8"
checksum: e5c69fdebf52a4012f6a1f14817ca8e9599cb1be73dd1387e1785e2ed5e5f0862ff817f420a87c7fc532add1f88a12e25aeb010ffcbdc98eace3d55ce2139cf0
languageName: node
linkType: hard
+"@restart/hooks@npm:^0.4.7":
+ version: 0.4.11
+ resolution: "@restart/hooks@npm:0.4.11"
+ dependencies:
+ dequal: ^2.0.3
+ peerDependencies:
+ react: ">=16.8.0"
+ checksum: c82cbd9c96cc5423e8f83cb7bd1d92f8f5627e9b8fafa294cf715096606b0d50957ac576d6ab315b9763cd71ad3acbdaa0cfdc4bf307349eda46da8087ad78b6
+ languageName: node
+ linkType: hard
+
"@sideway/address@npm:^4.1.3":
version: 4.1.4
resolution: "@sideway/address@npm:4.1.4"
@@ -4435,6 +4455,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/date-arithmetic@npm:*":
+ version: 4.1.3
+ resolution: "@types/date-arithmetic@npm:4.1.3"
+ checksum: 19b2ab58e7aed82003a753b994ad801f39b5893162be1a855fb5b9ba1e413a09e547b37e835584fe7ed16f974d31aa1fafe2b0df40fd0c947db81186c270d103
+ languageName: node
+ linkType: hard
+
"@types/debug@npm:^0.0.30":
version: 0.0.30
resolution: "@types/debug@npm:0.0.30"
@@ -4715,6 +4742,17 @@ __metadata:
languageName: node
linkType: hard
+"@types/react-big-calendar@npm:^1.8.2":
+ version: 1.8.2
+ resolution: "@types/react-big-calendar@npm:1.8.2"
+ dependencies:
+ "@types/date-arithmetic": "*"
+ "@types/prop-types": "*"
+ "@types/react": "*"
+ checksum: fe5d067ab82ae237ceba90b00ca0b27b36ab53cb9dc3dc283f98816d27e33c9bfcfff82ef6db6ac19d77a4fa25c9d9c3527caf5f5d9c618bcee91ad482741cb5
+ languageName: node
+ linkType: hard
+
"@types/react-dom@npm:^18.2.8":
version: 18.2.8
resolution: "@types/react-dom@npm:18.2.8"
@@ -4735,6 +4773,17 @@ __metadata:
languageName: node
linkType: hard
+"@types/react@npm:>=16.9.11":
+ version: 18.2.29
+ resolution: "@types/react@npm:18.2.29"
+ dependencies:
+ "@types/prop-types": "*"
+ "@types/scheduler": "*"
+ csstype: ^3.0.2
+ checksum: 3d09ac61a683fa976512a28ac175b9d823f0368adc5fb2abf53f64ab030e8ad866a201a8029f92ff48246c8e326f7517ebe165f976ecb412627c65c6f9a7c9d3
+ languageName: node
+ linkType: hard
+
"@types/responselike@npm:^1.0.0":
version: 1.0.1
resolution: "@types/responselike@npm:1.0.1"
@@ -4803,6 +4852,13 @@ __metadata:
languageName: node
linkType: hard
+"@types/warning@npm:^3.0.0":
+ version: 3.0.2
+ resolution: "@types/warning@npm:3.0.2"
+ checksum: 6c336f2e122acbff4b49a0c7d017bf30883e45e4f423ec8a674fc9c9ba31b944c50c1feec3a11db6ee53820307ef074a1d3b43eb9ae2b8211fa6b23d538efe21
+ languageName: node
+ linkType: hard
+
"@types/yoga-layout@npm:1.9.2":
version: 1.9.2
resolution: "@types/yoga-layout@npm:1.9.2"
@@ -6669,6 +6725,13 @@ __metadata:
languageName: node
linkType: hard
+"clsx@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "clsx@npm:1.2.1"
+ checksum: 30befca8019b2eb7dbad38cff6266cf543091dae2825c856a62a8ccf2c3ab9c2907c4d12b288b73101196767f66812365400a227581484a05f968b0307cfaf12
+ languageName: node
+ linkType: hard
+
"color-convert@npm:^1.9.0":
version: 1.9.3
resolution: "color-convert@npm:1.9.3"
@@ -7329,6 +7392,13 @@ __metadata:
languageName: node
linkType: hard
+"date-arithmetic@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "date-arithmetic@npm:4.1.0"
+ checksum: 656c099864d09dd7f6246e6ff1ce23870615fda80b21d302abb6c4223969a3ff32a8a5e7791b1021ca3bb596e1ced7e9924fabde1eacd50a0903424ad09df876
+ languageName: node
+ linkType: hard
+
"date-fns@npm:^2.30.0":
version: 2.30.0
resolution: "date-fns@npm:2.30.0"
@@ -7338,6 +7408,13 @@ __metadata:
languageName: node
linkType: hard
+"dayjs@npm:^1.11.7":
+ version: 1.11.10
+ resolution: "dayjs@npm:1.11.10"
+ checksum: a6b5a3813b8884f5cd557e2e6b7fa569f4c5d0c97aca9558e38534af4f2d60daafd3ff8c2000fed3435cfcec9e805bcebd99f90130c6d1c5ef524084ced588c4
+ languageName: node
+ linkType: hard
+
"debug@npm:2.6.9, debug@npm:^2.6.0":
version: 2.6.9
resolution: "debug@npm:2.6.9"
@@ -7635,6 +7712,16 @@ __metadata:
languageName: node
linkType: hard
+"dom-helpers@npm:^5.2.0, dom-helpers@npm:^5.2.1":
+ version: 5.2.1
+ resolution: "dom-helpers@npm:5.2.1"
+ dependencies:
+ "@babel/runtime": ^7.8.7
+ csstype: ^3.0.2
+ checksum: 863ba9e086f7093df3376b43e74ce4422571d404fc9828bf2c56140963d5edf0e56160f9b2f3bb61b282c07f8fc8134f023c98fd684bddcb12daf7b0f14d951c
+ languageName: node
+ linkType: hard
+
"dom-serializer@npm:^1.0.1":
version: 1.4.1
resolution: "dom-serializer@npm:1.4.1"
@@ -9978,6 +10065,13 @@ __metadata:
languageName: node
linkType: hard
+"globalize@npm:^0.1.1":
+ version: 0.1.1
+ resolution: "globalize@npm:0.1.1"
+ checksum: bc69e81c5ff258821585baae4cb281d196d63339a945104aa5da27f1721ed572f286213126434e287a28f36ac5f6f518e03cec32616ab4eb13a24c5a15443ab6
+ languageName: node
+ linkType: hard
+
"globals@npm:^11.1.0":
version: 11.12.0
resolution: "globals@npm:11.12.0"
@@ -11793,6 +11887,13 @@ __metadata:
languageName: node
linkType: hard
+"lodash-es@npm:^4.17.21":
+ version: 4.17.21
+ resolution: "lodash-es@npm:4.17.21"
+ checksum: 05cbffad6e2adbb331a4e16fbd826e7faee403a1a04873b82b42c0f22090f280839f85b95393f487c1303c8a3d2a010048bf06151a6cbe03eee4d388fb0a12d2
+ languageName: node
+ linkType: hard
+
"lodash.clonedeep@npm:4.5.0":
version: 4.5.0
resolution: "lodash.clonedeep@npm:4.5.0"
@@ -12005,6 +12106,13 @@ __metadata:
languageName: node
linkType: hard
+"luxon@npm:^3.2.1":
+ version: 3.4.3
+ resolution: "luxon@npm:3.4.3"
+ checksum: 3eade81506224d038ed24035a0cd0dd4887848d7eba9361dce9ad8ef81380596a68153240be3988721f9690c624fb449fcf8fd8c3fc0681a6a8496faf48e92a3
+ languageName: node
+ linkType: hard
+
"make-dir@npm:^3.0.0, make-dir@npm:^3.0.2, make-dir@npm:^3.1.0":
version: 3.1.0
resolution: "make-dir@npm:3.1.0"
@@ -12268,6 +12376,13 @@ __metadata:
languageName: node
linkType: hard
+"memoize-one@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "memoize-one@npm:6.0.0"
+ checksum: f185ea69f7cceae5d1cb596266dcffccf545e8e7b4106ec6aa93b71ab9d16460dd118ac8b12982c55f6d6322fcc1485de139df07eacffaae94888b9b3ad7675f
+ languageName: node
+ linkType: hard
+
"memoizee@npm:^0.4.15":
version: 0.4.15
resolution: "memoizee@npm:0.4.15"
@@ -12630,6 +12745,15 @@ __metadata:
languageName: node
linkType: hard
+"moment-timezone@npm:^0.5.40":
+ version: 0.5.43
+ resolution: "moment-timezone@npm:0.5.43"
+ dependencies:
+ moment: ^2.29.4
+ checksum: 8075c897ed8a044f992ef26fe8cdbcad80caf974251db424cae157473cca03be2830de8c74d99341b76edae59f148c9d9d19c1c1d9363259085688ec1cf508d0
+ languageName: node
+ linkType: hard
+
"moment@npm:^2.29.4":
version: 2.29.4
resolution: "moment@npm:2.29.4"
@@ -13145,6 +13269,7 @@ __metadata:
"@types/express": ^4.17.18
"@types/node": ^18.11.9
"@types/react": ^18.2.23
+ "@types/react-big-calendar": ^1.8.2
"@types/react-dom": ^18.2.8
"@typescript-eslint/eslint-plugin": ^6.7.3
"@typescript-eslint/parser": ^6.7.3
@@ -13166,10 +13291,12 @@ __metadata:
husky: ^8.0.3
keycloak-js: ^22.0.3
lint-staged: ^14.0.1
+ moment: ^2.29.4
oidc-client-ts: ^2.2.5
openapi-typescript: ^6.7.0
prettier: 3.0.3
react: ^18.2.0
+ react-big-calendar: ^1.8.4
react-dom: ^18.2.0
react-oidc-context: ^2.3.0
swr: ^2.2.4
@@ -14229,7 +14356,7 @@ __metadata:
languageName: node
linkType: hard
-"prop-types@npm:^15.6.2, prop-types@npm:^15.8.1":
+"prop-types@npm:^15.6.2, prop-types@npm:^15.7.2, prop-types@npm:^15.8.1":
version: 15.8.1
resolution: "prop-types@npm:15.8.1"
dependencies:
@@ -14416,6 +14543,33 @@ __metadata:
languageName: node
linkType: hard
+"react-big-calendar@npm:^1.8.4":
+ version: 1.8.4
+ resolution: "react-big-calendar@npm:1.8.4"
+ dependencies:
+ "@babel/runtime": ^7.20.7
+ clsx: ^1.2.1
+ date-arithmetic: ^4.1.0
+ dayjs: ^1.11.7
+ dom-helpers: ^5.2.1
+ globalize: ^0.1.1
+ invariant: ^2.2.4
+ lodash: ^4.17.21
+ lodash-es: ^4.17.21
+ luxon: ^3.2.1
+ memoize-one: ^6.0.0
+ moment: ^2.29.4
+ moment-timezone: ^0.5.40
+ prop-types: ^15.8.1
+ react-overlays: ^5.2.1
+ uncontrollable: ^7.2.1
+ peerDependencies:
+ react: ^16.14.0 || ^17 || ^18
+ react-dom: ^16.14.0 || ^17 || ^18
+ checksum: 20d4c115699d67b110d1884ca35b47df29300964f913fdd20075d8862b99e34c6554bf3f05bdf609a0d417aa3e0bfd16d79886a8dfd9032af68906894a975551
+ languageName: node
+ linkType: hard
+
"react-clientside-effect@npm:^1.2.6":
version: 1.2.6
resolution: "react-clientside-effect@npm:1.2.6"
@@ -14512,6 +14666,13 @@ __metadata:
languageName: node
linkType: hard
+"react-lifecycles-compat@npm:^3.0.4":
+ version: 3.0.4
+ resolution: "react-lifecycles-compat@npm:3.0.4"
+ checksum: a904b0fc0a8eeb15a148c9feb7bc17cec7ef96e71188280061fc340043fd6d8ee3ff233381f0e8f95c1cf926210b2c4a31f38182c8f35ac55057e453d6df204f
+ languageName: node
+ linkType: hard
+
"react-oidc-context@npm:^2.3.0":
version: 2.3.0
resolution: "react-oidc-context@npm:2.3.0"
@@ -14522,6 +14683,25 @@ __metadata:
languageName: node
linkType: hard
+"react-overlays@npm:^5.2.1":
+ version: 5.2.1
+ resolution: "react-overlays@npm:5.2.1"
+ dependencies:
+ "@babel/runtime": ^7.13.8
+ "@popperjs/core": ^2.11.6
+ "@restart/hooks": ^0.4.7
+ "@types/warning": ^3.0.0
+ dom-helpers: ^5.2.0
+ prop-types: ^15.7.2
+ uncontrollable: ^7.2.1
+ warning: ^4.0.3
+ peerDependencies:
+ react: ">=16.3.0"
+ react-dom: ">=16.3.0"
+ checksum: ac43b3876829081c6912f083b53016384fe1357c2c819cf80ffa961dcc650b0d504da0c87d1e6139775976d514321061f39f6b69ab128d619c6917b70cb179d6
+ languageName: node
+ linkType: hard
+
"react-refresh@npm:^0.14.0":
version: 0.14.0
resolution: "react-refresh@npm:0.14.0"
@@ -16647,6 +16827,20 @@ __metadata:
languageName: node
linkType: hard
+"uncontrollable@npm:^7.2.1":
+ version: 7.2.1
+ resolution: "uncontrollable@npm:7.2.1"
+ dependencies:
+ "@babel/runtime": ^7.6.3
+ "@types/react": ">=16.9.11"
+ invariant: ^2.2.4
+ react-lifecycles-compat: ^3.0.4
+ peerDependencies:
+ react: ">=15.0.0"
+ checksum: 3345c0c1916193ddb9cc6f2b78711dc9f22b919d780485e15b95690722e9d1797fc702c4ebb30c0acaae6a772b865d0a9ddc83fa1da44958f089aee78f2f5eab
+ languageName: node
+ linkType: hard
+
"underscore.string@npm:^3.3.6":
version: 3.3.6
resolution: "underscore.string@npm:3.3.6"
@@ -17066,6 +17260,15 @@ __metadata:
languageName: node
linkType: hard
+"warning@npm:^4.0.3":
+ version: 4.0.3
+ resolution: "warning@npm:4.0.3"
+ dependencies:
+ loose-envify: ^1.0.0
+ checksum: 4f2cb6a9575e4faf71ddad9ad1ae7a00d0a75d24521c193fa464f30e6b04027bd97aa5d9546b0e13d3a150ab402eda216d59c1d0f2d6ca60124d96cd40dfa35c
+ languageName: node
+ linkType: hard
+
"watchpack@npm:^2.4.0":
version: 2.4.0
resolution: "watchpack@npm:2.4.0"