From 6340ff43d8d775f75b7b341b1f3ba514bc0b1ac9 Mon Sep 17 00:00:00 2001 From: Peer Richelsen Date: Sun, 16 Apr 2023 23:58:47 +0200 Subject: [PATCH 001/146] removed page_view tracker (#8267) * removed page_view tracker * Removed unused useTelemetry --------- Co-authored-by: Alex van Andel --- apps/web/components/booking/pages/AvailabilityPage.tsx | 6 +++--- apps/web/components/booking/pages/BookingPage.tsx | 6 +++--- apps/web/pages/[user].tsx | 9 ++++----- apps/web/pages/booking/[uid].tsx | 7 +++---- 4 files changed, 13 insertions(+), 15 deletions(-) diff --git a/apps/web/components/booking/pages/AvailabilityPage.tsx b/apps/web/components/booking/pages/AvailabilityPage.tsx index 8f41228ec1..ee973fef46 100644 --- a/apps/web/components/booking/pages/AvailabilityPage.tsx +++ b/apps/web/components/booking/pages/AvailabilityPage.tsx @@ -21,7 +21,6 @@ import { useLocale } from "@calcom/lib/hooks/useLocale"; import useTheme from "@calcom/lib/hooks/useTheme"; import notEmpty from "@calcom/lib/notEmpty"; import { getRecurringFreq } from "@calcom/lib/recurringStrings"; -import { collectPageParameters, telemetryEventTypes, useTelemetry } from "@calcom/lib/telemetry"; import { detectBrowserTimeFormat, setIs24hClockInLocalStorage, TimeFormat } from "@calcom/lib/timeFormat"; import { trpc } from "@calcom/trpc"; import { HeadSeo, NumberInput, useCalcomTheme } from "@calcom/ui"; @@ -105,8 +104,9 @@ const AvailabilityPage = ({ profile, eventType, ...restProps }: Props) => { const [recurringEventCount, setRecurringEventCount] = useState(eventType.recurringEvent?.count); + /* const telemetry = useTelemetry(); - useEffect(() => { + useEffect(() => { if (top !== window) { //page_view will be collected automatically by _middleware.ts telemetry.event( @@ -114,7 +114,7 @@ const AvailabilityPage = ({ profile, eventType, ...restProps }: Props) => { collectPageParameters("/availability", { isTeamBooking: document.URL.includes("team/") }) ); } - }, [telemetry]); + }, [telemetry]); */ const embedUiConfig = useEmbedUiConfig(); // get dynamic user list here const userList = eventType.users ? eventType.users.map((user) => user.username).filter(notEmpty) : []; diff --git a/apps/web/components/booking/pages/BookingPage.tsx b/apps/web/components/booking/pages/BookingPage.tsx index 13adccadae..0de010846c 100644 --- a/apps/web/components/booking/pages/BookingPage.tsx +++ b/apps/web/components/booking/pages/BookingPage.tsx @@ -39,7 +39,7 @@ import useTheme from "@calcom/lib/hooks/useTheme"; import { useTypedQuery } from "@calcom/lib/hooks/useTypedQuery"; import { HttpError } from "@calcom/lib/http-error"; import { getEveryFreqFor } from "@calcom/lib/recurringStrings"; -import { collectPageParameters, telemetryEventTypes, useTelemetry } from "@calcom/lib/telemetry"; +import { telemetryEventTypes, useTelemetry } from "@calcom/lib/telemetry"; import { TimeFormat } from "@calcom/lib/timeFormat"; import { trpc } from "@calcom/trpc"; import { Button, Form, Tooltip, useCalcomTheme } from "@calcom/ui"; @@ -252,13 +252,13 @@ const BookingPage = ({ } useEffect(() => { - if (top !== window) { + /* if (top !== window) { //page_view will be collected automatically by _middleware.ts telemetry.event( telemetryEventTypes.embedView, collectPageParameters("/book", { isTeamBooking: document.URL.includes("team/") }) ); - } + } */ reserveSlot(); const interval = setInterval(reserveSlot, parseInt(MINUTES_TO_BOOK) * 60 * 1000 - 2000); return () => { diff --git a/apps/web/pages/[user].tsx b/apps/web/pages/[user].tsx index f81bb65272..a51f21cd87 100644 --- a/apps/web/pages/[user].tsx +++ b/apps/web/pages/[user].tsx @@ -3,7 +3,6 @@ import classNames from "classnames"; import type { GetServerSidePropsContext } from "next"; import Link from "next/link"; import { useRouter } from "next/router"; -import { useEffect } from "react"; import { Toaster } from "react-hot-toast"; import { @@ -24,7 +23,6 @@ import defaultEvents, { import { useLocale } from "@calcom/lib/hooks/useLocale"; import useTheme from "@calcom/lib/hooks/useTheme"; import { markdownToSafeHTML } from "@calcom/lib/markdownToSafeHTML"; -import { collectPageParameters, telemetryEventTypes, useTelemetry } from "@calcom/lib/telemetry"; import prisma from "@calcom/prisma"; import { baseEventTypeSelect } from "@calcom/prisma/selects"; import { EventTypeMetaDataSchema } from "@calcom/prisma/zod-utils"; @@ -93,14 +91,15 @@ export default function User(props: inferSSRProps & E const query = { ...router.query }; delete query.user; // So it doesn't display in the Link (and make tests fail) const nameOrUsername = user.name || user.username || ""; - const telemetry = useTelemetry(); - useEffect(() => { + /* + const telemetry = useTelemetry(); + useEffect(() => { if (top !== window) { //page_view will be collected automatically by _middleware.ts telemetry.event(telemetryEventTypes.embedView, collectPageParameters("/[user]")); } - }, [telemetry, router.asPath]); + }, [telemetry, router.asPath]); */ const isEventListEmpty = eventTypes.length === 0; return ( <> diff --git a/apps/web/pages/booking/[uid].tsx b/apps/web/pages/booking/[uid].tsx index 928daf900d..099fad6923 100644 --- a/apps/web/pages/booking/[uid].tsx +++ b/apps/web/pages/booking/[uid].tsx @@ -41,7 +41,6 @@ import { useLocale } from "@calcom/lib/hooks/useLocale"; import useTheme from "@calcom/lib/hooks/useTheme"; import { getEveryFreqFor } from "@calcom/lib/recurringStrings"; import { maybeGetBookingUidFromSeat } from "@calcom/lib/server/maybeGetBookingUidFromSeat"; -import { collectPageParameters, telemetryEventTypes, useTelemetry } from "@calcom/lib/telemetry"; import { getIs24hClockFromLocalStorage, isBrowserLocale24h } from "@calcom/lib/timeFormat"; import { localStorage } from "@calcom/lib/webstorage"; import prisma from "@calcom/prisma"; @@ -186,13 +185,13 @@ export default function Success(props: SuccessProps) { (!!seatReferenceUid && !bookingInfo.seatsReferences.some((reference) => reference.referenceUid === seatReferenceUid)); - const telemetry = useTelemetry(); - useEffect(() => { + // const telemetry = useTelemetry(); + /* useEffect(() => { if (top !== window) { //page_view will be collected automatically by _middleware.ts telemetry.event(telemetryEventTypes.embedView, collectPageParameters("/booking")); } - }, [telemetry]); + }, [telemetry]); */ useEffect(() => { const users = eventType.users; From 05726ec94ce419190d158dc33080a82c54a15e02 Mon Sep 17 00:00:00 2001 From: Joe Date: Mon, 17 Apr 2023 03:52:10 +0530 Subject: [PATCH 002/146] fix: varients to layer (#8171) Co-authored-by: Peer Richelsen --- apps/web/styles/globals.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/styles/globals.css b/apps/web/styles/globals.css index 93f45a0553..5b938d9a49 100644 --- a/apps/web/styles/globals.css +++ b/apps/web/styles/globals.css @@ -205,7 +205,7 @@ html.todesktop nav a svg{ https://github.com/tailwindlabs/tailwindcss/pull/5732 */ @layer utilities { - @variants responsive { + @layer responsive { /* Chrome, Safari and Opera */ .no-scrollbar::-webkit-scrollbar { display: none; From 45b5b2a376b85158ea974201ffed5800002d2f7b Mon Sep 17 00:00:00 2001 From: Nafees Nazik <84864519+G3root@users.noreply.github.com> Date: Mon, 17 Apr 2023 17:27:30 +0530 Subject: [PATCH 003/146] fix: giphy input dark color --- .../app-store/giphy/components/SearchDialog.tsx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/app-store/giphy/components/SearchDialog.tsx b/packages/app-store/giphy/components/SearchDialog.tsx index 9b53eba716..17d7e2fc3b 100644 --- a/packages/app-store/giphy/components/SearchDialog.tsx +++ b/packages/app-store/giphy/components/SearchDialog.tsx @@ -4,7 +4,7 @@ import { useState } from "react"; import classNames from "@calcom/lib/classNames"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import { Alert, Button, Dialog, DialogClose, DialogContent, DialogFooter } from "@calcom/ui"; +import { Alert, Button, Dialog, DialogClose, DialogContent, DialogFooter, Input } from "@calcom/ui"; interface ISearchDialog { isOpenDialog: boolean; @@ -87,15 +87,15 @@ export const SearchDialog = (props: ISearchDialog) => { const renderTab = (Icon: any, text: string, mode: Mode) => (
{ setKeyword(""); setGifImage(""); setSelectedMode(mode); }}> - + {text}
); @@ -117,7 +117,7 @@ export const SearchDialog = (props: ISearchDialog) => { {t("add_gif_to_confirmation")}

{t("find_gif_spice_confirmation")}

-
+
{renderTab(SearchIcon, t("search_giphy"), MODE_SEARCH)} {renderTab(LinkIcon, t("add_link_from_giphy"), MODE_URL)}
@@ -125,9 +125,8 @@ export const SearchDialog = (props: ISearchDialog) => { className="flex w-full justify-center space-x-2 space-y-2 rtl:space-x-reverse" onSubmit={handleFormSubmit}>
- Date: Mon, 17 Apr 2023 17:34:25 +0530 Subject: [PATCH 004/146] Invalidate the form query on toggle to update toggle state in UI (#8325) --- .../app-store/routing-forms/components/FormActions.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/packages/app-store/routing-forms/components/FormActions.tsx b/packages/app-store/routing-forms/components/FormActions.tsx index e733ac620f..7d84059335 100644 --- a/packages/app-store/routing-forms/components/FormActions.tsx +++ b/packages/app-store/routing-forms/components/FormActions.tsx @@ -276,8 +276,13 @@ export function FormActionsProvider({ appUrl, children }: { appUrl: string; chil } return { previousValue }; }, - onSettled: () => { + onSettled: (routingForm) => { utils.viewer.appRoutingForms.forms.invalidate(); + if (routingForm) { + utils.viewer.appRoutingForms.formQuery.invalidate({ + id: routingForm.id, + }); + } }, onError: (err, value, context) => { if (context?.previousValue) { From 39c48e7f791c220161f8d456a52a967fe5dc6e9e Mon Sep 17 00:00:00 2001 From: Nafees Nazik <84864519+G3root@users.noreply.github.com> Date: Mon, 17 Apr 2023 17:39:30 +0530 Subject: [PATCH 005/146] fix: some ui regressions (#8260) * fix: icon size * fix: icon size * fix: border --- apps/web/components/apps/CalendarListContainer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/components/apps/CalendarListContainer.tsx b/apps/web/components/apps/CalendarListContainer.tsx index 8b1bb84dd9..c66596f138 100644 --- a/apps/web/components/apps/CalendarListContainer.tsx +++ b/apps/web/components/apps/CalendarListContainer.tsx @@ -264,7 +264,7 @@ export function CalendarListContainer(props: { heading?: boolean; fromOnboarding {!!data.connectedCalendars.length || !!installedCalendars.data?.items.length ? ( <> {heading && ( -
+
Date: Mon, 17 Apr 2023 17:46:54 +0530 Subject: [PATCH 006/146] Fix/Keep themes in peace across embed and booking pages and App (#8108) --- apps/web/components/booking/CancelBooking.tsx | 2 - apps/web/lib/app-providers.tsx | 57 +++++++++++++------ apps/web/pages/[user].tsx | 2 + apps/web/pages/[user]/[type].tsx | 2 + apps/web/pages/[user]/book.tsx | 2 + apps/web/pages/apps/[slug]/[...pages].tsx | 12 ++-- apps/web/pages/booking/[uid].tsx | 6 +- apps/web/pages/d/[link]/[slug].tsx | 2 + apps/web/pages/d/[link]/book.tsx | 2 + apps/web/pages/team/[slug].tsx | 2 + apps/web/pages/team/[slug]/[type].tsx | 2 + apps/web/pages/team/[slug]/book.tsx | 1 + .../pages/form-edit/[...appPages].tsx | 1 - .../pages/forms/[...appPages].tsx | 2 - .../pages/reporting/[...appPages].tsx | 2 - .../pages/route-builder/[...appPages].tsx | 1 - .../pages/router/[...appPages].tsx | 2 - .../pages/routing-link/[...appPages].tsx | 2 +- packages/features/shell/Shell.tsx | 4 +- packages/lib/hooks/useTheme.tsx | 29 ++++++---- 20 files changed, 86 insertions(+), 49 deletions(-) diff --git a/apps/web/components/booking/CancelBooking.tsx b/apps/web/components/booking/CancelBooking.tsx index eff581bde9..5bb7578d1b 100644 --- a/apps/web/components/booking/CancelBooking.tsx +++ b/apps/web/components/booking/CancelBooking.tsx @@ -2,7 +2,6 @@ import { useRouter } from "next/router"; import { useCallback, useState } from "react"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import useTheme from "@calcom/lib/hooks/useTheme"; import { collectPageParameters, telemetryEventTypes, useTelemetry } from "@calcom/lib/telemetry"; import type { RecurringEvent } from "@calcom/types/Calendar"; import { Button, TextArea } from "@calcom/ui"; @@ -34,7 +33,6 @@ export default function CancelBooking(props: Props) { const [loading, setLoading] = useState(false); const telemetry = useTelemetry(); const [error, setError] = useState(booking ? null : t("booking_already_cancelled")); - useTheme(props.theme); const cancelBookingRef = useCallback((node: HTMLTextAreaElement) => { if (node !== null) { diff --git a/apps/web/lib/app-providers.tsx b/apps/web/lib/app-providers.tsx index b793123e7e..dbefd11b2a 100644 --- a/apps/web/lib/app-providers.tsx +++ b/apps/web/lib/app-providers.tsx @@ -27,7 +27,8 @@ const I18nextAdapter = appWithTranslation & { children export type AppProps = Omit>, "Component"> & { Component: NextAppProps["Component"] & { requiresLicense?: boolean; - isThemeSupported?: boolean | ((arg: { router: NextRouter }) => boolean); + isThemeSupported?: boolean; + isBookingPage?: boolean | ((arg: { router: NextRouter }) => boolean); getLayout?: (page: React.ReactElement, router: NextRouter) => ReactNode; }; @@ -61,45 +62,66 @@ const CustomI18nextProvider = (props: AppPropsWithChildren) => { return ; }; +const enum ThemeSupport { + // e.g. Login Page + None = "none", + // Entire App except Booking Pages + App = "systemOnly", + // Booking Pages(including Routing Forms) + Booking = "userConfigured", +} + const CalcomThemeProvider = ( props: PropsWithChildren< - WithNonceProps & { isThemeSupported?: boolean | ((arg: { router: NextRouter }) => boolean) } + WithNonceProps & { + isBookingPage?: boolean | ((arg: { router: NextRouter }) => boolean); + isThemeSupported?: boolean; + } > ) => { // We now support the inverse of how we handled it in the past. Setting this to false will disable theme. // undefined or true means we use system theme const router = useRouter(); - const isThemeSupported = (() => { - if (typeof props.isThemeSupported === "function") { - return props.isThemeSupported({ router: router }); + const isBookingPage = (() => { + if (typeof props.isBookingPage === "function") { + return props.isBookingPage({ router: router }); } - if (typeof props.isThemeSupported === "undefined") { - return true; - } - return props.isThemeSupported; + + return props.isBookingPage; })(); - const forcedTheme = !isThemeSupported ? "light" : undefined; + const themeSupport = isBookingPage + ? ThemeSupport.Booking + : // if isThemeSupported is explicitly false, we don't use theme there + props.isThemeSupported === false + ? ThemeSupport.None + : ThemeSupport.App; + + const forcedTheme = themeSupport === ThemeSupport.None ? "light" : undefined; // Use namespace of embed to ensure same namespaced embed are displayed with same theme. This allows different embeds on the same website to be themed differently // One such example is our Embeds Demo and Testing page at http://localhost:3100 // Having `getEmbedNamespace` defined on window before react initializes the app, ensures that embedNamespace is available on the first mount and can be used as part of storageKey const embedNamespace = typeof window !== "undefined" ? window.getEmbedNamespace() : null; const isEmbedMode = typeof embedNamespace === "string"; - // If embedNamespace is not defined, we use the default storageKey -> The default storage key changs based on if we force light mode or not - // This is done to ensure that the default theme is light when we force light mode and as soon as you navigate to a page that is dark we dont need a hard refresh to change + const storageKey = isEmbedMode ? `embed-theme-${embedNamespace}` - : !isThemeSupported - ? "cal-light" - : "theme"; + : themeSupport === ThemeSupport.App + ? "app-theme" + : themeSupport === ThemeSupport.Booking + ? "booking-theme" + : undefined; return ( {/* Embed Mode can be detected reliably only on client side here as there can be static generated pages as well which can't determine if it's embed mode at backend */} {/* color-scheme makes background:transparent not work in iframe which is required by embed. */} @@ -134,7 +156,8 @@ const AppProviders = (props: AppPropsWithChildren) => { + isThemeSupported={props.Component.isThemeSupported} + isBookingPage={props.Component.isBookingPage}> {props.children} diff --git a/apps/web/pages/[user].tsx b/apps/web/pages/[user].tsx index a51f21cd87..30f9605535 100644 --- a/apps/web/pages/[user].tsx +++ b/apps/web/pages/[user].tsx @@ -195,6 +195,8 @@ export default function User(props: inferSSRProps & E ); } +User.isBookingPage = true; + const getEventTypesWithHiddenFromDB = async (userId: number) => { return ( await prisma.eventType.findMany({ diff --git a/apps/web/pages/[user]/[type].tsx b/apps/web/pages/[user]/[type].tsx index 664d7b0166..8e5759b945 100644 --- a/apps/web/pages/[user]/[type].tsx +++ b/apps/web/pages/[user]/[type].tsx @@ -54,6 +54,8 @@ export default function Type(props: AvailabilityPageProps) { ); } +Type.isBookingPage = true; + const paramsSchema = z.object({ type: z.string(), user: z.string() }); async function getUserPageProps(context: GetStaticPropsContext) { // load server side dependencies diff --git a/apps/web/pages/[user]/book.tsx b/apps/web/pages/[user]/book.tsx index 244f4bc42d..4e8e246ed8 100644 --- a/apps/web/pages/[user]/book.tsx +++ b/apps/web/pages/[user]/book.tsx @@ -69,6 +69,8 @@ export default function Book(props: BookPageProps) { ); } +Book.isBookingPage = true; + const querySchema = z.object({ bookingUid: z.string().optional(), count: z.coerce.number().optional(), diff --git a/apps/web/pages/apps/[slug]/[...pages].tsx b/apps/web/pages/apps/[slug]/[...pages].tsx index a4c502ff1c..35621eb55f 100644 --- a/apps/web/pages/apps/[slug]/[...pages].tsx +++ b/apps/web/pages/apps/[slug]/[...pages].tsx @@ -15,7 +15,7 @@ type AppPageType = { getServerSideProps: AppGetServerSideProps; // A component than can accept any properties // eslint-disable-next-line @typescript-eslint/no-explicit-any - default: ((props: any) => JSX.Element) & Pick; + default: ((props: any) => JSX.Element) & Pick; }; type Found = { @@ -70,17 +70,17 @@ const AppPage: AppPageType["default"] = function AppPage(props) { return ; }; -AppPage.isThemeSupported = ({ router }) => { +AppPage.isBookingPage = ({ router }) => { const route = getRoute(router.query.slug as string, router.query.pages as string[]); if (route.notFound) { return false; } - const isThemeSupported = route.Component.isThemeSupported; - if (typeof isThemeSupported === "function") { - return isThemeSupported({ router }); + const isBookingPage = route.Component.isBookingPage; + if (typeof isBookingPage === "function") { + return isBookingPage({ router }); } - return !!isThemeSupported; + return !!isBookingPage; }; AppPage.getLayout = (page, router) => { diff --git a/apps/web/pages/booking/[uid].tsx b/apps/web/pages/booking/[uid].tsx index 099fad6923..7dcfba24a7 100644 --- a/apps/web/pages/booking/[uid].tsx +++ b/apps/web/pages/booking/[uid].tsx @@ -268,7 +268,9 @@ export default function Success(props: SuccessProps) { return t("emailed_you_and_attendees" + titleSuffix); } - useTheme(isSuccessBookingPage ? props.profile.theme : "light"); + // This is a weird case where the same route can be opened in booking flow as a success page or as a booking detail page from the app + // As Booking Page it has to support configured theme, but as booking detail page it should not do any change. Let Shell.tsx handle it. + useTheme(isSuccessBookingPage ? props.profile.theme : undefined); useBrandColors({ brandColor: props.profile.brandColor, darkBrandColor: props.profile.darkBrandColor, @@ -705,6 +707,8 @@ export default function Success(props: SuccessProps) { ); } +Success.isBookingPage = true; + type RecurringBookingsProps = { eventType: SuccessProps["eventType"]; recurringBookings: SuccessProps["recurringBookings"]; diff --git a/apps/web/pages/d/[link]/[slug].tsx b/apps/web/pages/d/[link]/[slug].tsx index 2e1bdafb46..40328d04e4 100644 --- a/apps/web/pages/d/[link]/[slug].tsx +++ b/apps/web/pages/d/[link]/[slug].tsx @@ -24,6 +24,8 @@ export default function Type(props: DynamicAvailabilityPageProps) { return ; } +Type.isBookingPage = true; + const querySchema = z.object({ link: z.string().optional().default(""), slug: z.string().optional().default(""), diff --git a/apps/web/pages/d/[link]/book.tsx b/apps/web/pages/d/[link]/book.tsx index a8a3684846..e1949802af 100644 --- a/apps/web/pages/d/[link]/book.tsx +++ b/apps/web/pages/d/[link]/book.tsx @@ -19,6 +19,8 @@ export default function Book(props: HashLinkPageProps) { return ; } +Book.isBookingPage = true; + export async function getServerSideProps(context: GetServerSidePropsContext) { const ssr = await ssrInit(context); const link = asStringOrThrow(context.query.link as string); diff --git a/apps/web/pages/team/[slug].tsx b/apps/web/pages/team/[slug].tsx index dd9043634f..c90d2db3eb 100644 --- a/apps/web/pages/team/[slug].tsx +++ b/apps/web/pages/team/[slug].tsx @@ -203,4 +203,6 @@ export const getServerSideProps = async (context: GetServerSidePropsContext) => } as const; }; +TeamPage.isBookingPage = true; + export default TeamPage; diff --git a/apps/web/pages/team/[slug]/[type].tsx b/apps/web/pages/team/[slug]/[type].tsx index 69eaadfeaa..63a5c9301f 100644 --- a/apps/web/pages/team/[slug]/[type].tsx +++ b/apps/web/pages/team/[slug]/[type].tsx @@ -24,6 +24,8 @@ export default function TeamType(props: AvailabilityTeamPageProps) { return ; } +TeamType.isBookingPage = true; + export const getServerSideProps = async (context: GetServerSidePropsContext) => { const slugParam = asStringOrNull(context.query.slug); const typeParam = asStringOrNull(context.query.type); diff --git a/apps/web/pages/team/[slug]/book.tsx b/apps/web/pages/team/[slug]/book.tsx index 5fb2f7d66c..0290e67cb3 100644 --- a/apps/web/pages/team/[slug]/book.tsx +++ b/apps/web/pages/team/[slug]/book.tsx @@ -23,6 +23,7 @@ export type TeamBookingPageProps = inferSSRProps; export default function TeamBookingPage(props: TeamBookingPageProps) { return ; } +TeamBookingPage.isBookingPage = true; const querySchema = z.object({ rescheduleUid: z.string().optional(), diff --git a/packages/app-store/routing-forms/pages/form-edit/[...appPages].tsx b/packages/app-store/routing-forms/pages/form-edit/[...appPages].tsx index 99415bcfbc..6df0cdbfb9 100644 --- a/packages/app-store/routing-forms/pages/form-edit/[...appPages].tsx +++ b/packages/app-store/routing-forms/pages/form-edit/[...appPages].tsx @@ -332,7 +332,6 @@ export default function FormEditPage({ /> ); } -FormEditPage.isThemeSupported = true; FormEditPage.getLayout = (page: React.ReactElement) => { return ( diff --git a/packages/app-store/routing-forms/pages/forms/[...appPages].tsx b/packages/app-store/routing-forms/pages/forms/[...appPages].tsx index 12f048088a..cef722a0ac 100644 --- a/packages/app-store/routing-forms/pages/forms/[...appPages].tsx +++ b/packages/app-store/routing-forms/pages/forms/[...appPages].tsx @@ -252,8 +252,6 @@ export default function RoutingForms({ ); } -RoutingForms.isThemeSupported = true; - RoutingForms.getLayout = (page: React.ReactElement) => { return {page}; }; diff --git a/packages/app-store/routing-forms/pages/reporting/[...appPages].tsx b/packages/app-store/routing-forms/pages/reporting/[...appPages].tsx index 714e0a2053..96174cac1e 100644 --- a/packages/app-store/routing-forms/pages/reporting/[...appPages].tsx +++ b/packages/app-store/routing-forms/pages/reporting/[...appPages].tsx @@ -197,8 +197,6 @@ export default function ReporterWrapper({ ); } -ReporterWrapper.isThemeSupported = true; - ReporterWrapper.getLayout = (page: React.ReactElement) => { return ( diff --git a/packages/app-store/routing-forms/pages/route-builder/[...appPages].tsx b/packages/app-store/routing-forms/pages/route-builder/[...appPages].tsx index ae3b0fa40e..2539142625 100644 --- a/packages/app-store/routing-forms/pages/route-builder/[...appPages].tsx +++ b/packages/app-store/routing-forms/pages/route-builder/[...appPages].tsx @@ -523,7 +523,6 @@ export default function RouteBuilder({ /> ); } -RouteBuilder.isThemeSupported = true; RouteBuilder.getLayout = (page: React.ReactElement) => { return ( diff --git a/packages/app-store/routing-forms/pages/router/[...appPages].tsx b/packages/app-store/routing-forms/pages/router/[...appPages].tsx index 6ca33edcc1..b9cc2c5516 100644 --- a/packages/app-store/routing-forms/pages/router/[...appPages].tsx +++ b/packages/app-store/routing-forms/pages/router/[...appPages].tsx @@ -26,8 +26,6 @@ export default function Router({ form, message }: inferSSRProps; } -RoutingLink.isThemeSupported = true; +RoutingLink.isBookingPage = true; export const getServerSideProps = async function getServerSideProps( context: AppGetServerSidePropsContext, diff --git a/packages/features/shell/Shell.tsx b/packages/features/shell/Shell.tsx index 8c1ba4d387..961138f222 100644 --- a/packages/features/shell/Shell.tsx +++ b/packages/features/shell/Shell.tsx @@ -22,7 +22,6 @@ import classNames from "@calcom/lib/classNames"; import { APP_NAME, DESKTOP_APP_LINK, JOIN_SLACK, ROADMAP, WEBAPP_URL } from "@calcom/lib/constants"; import getBrandColours from "@calcom/lib/getBrandColours"; import { useLocale } from "@calcom/lib/hooks/useLocale"; -import useTheme from "@calcom/lib/hooks/useTheme"; import { isKeyInObject } from "@calcom/lib/isKeyInObject"; import { trpc } from "@calcom/trpc/react"; import useMeQuery from "@calcom/trpc/react/hooks/useMeQuery"; @@ -231,7 +230,8 @@ export default function Shell(props: LayoutProps) { // if a page is unauthed and isPublic is true, the redirect does not happen. useRedirectToLoginIfUnauthenticated(props.isPublic); useRedirectToOnboardingIfNeeded(); - useTheme(); + // System Theme is automatically supported using ThemeProvider. If we intend to use user theme throughout the app we need to uncomment this. + // useTheme(profile.theme); useBrandColors(); return !props.isPublic ? ( diff --git a/packages/lib/hooks/useTheme.tsx b/packages/lib/hooks/useTheme.tsx index 8a6c4555b2..fc7f66d808 100644 --- a/packages/lib/hooks/useTheme.tsx +++ b/packages/lib/hooks/useTheme.tsx @@ -4,23 +4,28 @@ import { useEffect } from "react"; import { useEmbedTheme } from "@calcom/embed-core/embed-iframe"; import type { Maybe } from "@calcom/trpc/server"; -// makes sure the ui doesn't flash -export default function useTheme(theme?: Maybe) { +/** + * It should be called once per route and only if you want to use app configured theme. System only theme works automatically by using ThemeProvider + * Calling it without a theme will just returns the current theme. + * It handles embed configured theme as well. + */ +export default function useTheme(themeToSet?: Maybe) { const { resolvedTheme, setTheme, forcedTheme, theme: activeTheme } = useNextTheme(); const embedTheme = useEmbedTheme(); - // Embed UI configuration takes more precedence over App Configuration - const currentTheme = embedTheme || theme || "system"; useEffect(() => { - if (currentTheme !== activeTheme && typeof currentTheme === "string") { - setTheme(currentTheme); - } + // If themeToSet is not provided the purpose is to just return the current the current values + if (themeToSet === undefined) return; + + // Embed theme takes precedence over theme configured in app. This allows embeds to be themed differently + const finalThemeToSet = embedTheme || themeToSet || "system"; + + if (!finalThemeToSet || finalThemeToSet === activeTheme) return; + + console.log("Setting theme", { resolvedTheme, finalThemeToSet, activeTheme, forcedTheme }); + setTheme(finalThemeToSet); // eslint-disable-next-line react-hooks/exhaustive-deps -- we do not want activeTheme to re-render this effect - }, [currentTheme, setTheme]); - - useEffect(() => { - if (forcedTheme) setTheme(forcedTheme); - }, [forcedTheme, setTheme]); + }, [themeToSet, setTheme]); return { resolvedTheme, From 7dc32661339ac2d046db733d0d24ddabc25c3616 Mon Sep 17 00:00:00 2001 From: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> Date: Mon, 17 Apr 2023 19:24:39 +0530 Subject: [PATCH 007/146] fix: use text-emphasis (#8332) Signed-off-by: Udit Takkar --- packages/features/form-builder/Components.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/features/form-builder/Components.tsx b/packages/features/form-builder/Components.tsx index 1d5bb548a5..0a540285b3 100644 --- a/packages/features/form-builder/Components.tsx +++ b/packages/features/form-builder/Components.tsx @@ -249,7 +249,7 @@ export const Components: Record = { value={option.value} checked={value.includes(option.value)} /> - {option.label ?? ""} + {option.label ?? ""} ); })} @@ -378,7 +378,7 @@ export const Components: Record = { checked={value} disabled={readOnly} /> - +
); }, From 06d13e0f6efee3c4ddd9d454777dd4eff09aabb1 Mon Sep 17 00:00:00 2001 From: copoer Date: Mon, 17 Apr 2023 11:21:14 -0300 Subject: [PATCH 008/146] feat: Added option to select the exchange server version (#7908) * Added option to select the exchange server version * Fixed linting issues * Removed yarn changes * Update packages/app-store/exchangecalendar/lib/CalendarService.ts Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> * Removed requested change --------- Co-authored-by: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Co-authored-by: Peer Richelsen --- apps/web/public/static/locales/en/common.json | 9 +++++ .../exchangecalendar/api/_postAdd.ts | 3 +- packages/app-store/exchangecalendar/enums.ts | 10 ++++++ .../exchangecalendar/lib/CalendarService.ts | 2 +- .../exchangecalendar/pages/setup/index.tsx | 35 +++++++++++++++++-- 5 files changed, 55 insertions(+), 4 deletions(-) diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json index 50651d2c9b..5ac31a6345 100644 --- a/apps/web/public/static/locales/en/common.json +++ b/apps/web/public/static/locales/en/common.json @@ -1319,6 +1319,15 @@ "exchange_authentication_standard": "Basic authentication", "exchange_authentication_ntlm": "NTLM authentication", "exchange_compression": "GZip compression", + "exchange_version": "Exchange Version", + "exchange_version_2007_SP1": "2007 SP1", + "exchange_version_2010": "2010", + "exchange_version_2010_SP1": "2010 SP1", + "exchange_version_2010_SP2": "2010 SP2", + "exchange_version_2013": "2013", + "exchange_version_2013_SP1": "2013 SP1", + "exchange_version_2015": "2015", + "exchange_version_2016": "2016", "routing_forms_description": "Create forms to direct attendees to the correct destinations", "routing_forms_send_email_owner": "Send Email to Owner", "routing_forms_send_email_owner_description": "Sends an email to the owner when the form is submitted", diff --git a/packages/app-store/exchangecalendar/api/_postAdd.ts b/packages/app-store/exchangecalendar/api/_postAdd.ts index 769a484620..017a0837de 100644 --- a/packages/app-store/exchangecalendar/api/_postAdd.ts +++ b/packages/app-store/exchangecalendar/api/_postAdd.ts @@ -8,7 +8,7 @@ import { defaultResponder } from "@calcom/lib/server"; import prisma from "@calcom/prisma"; import checkSession from "../../_utils/auth"; -import { ExchangeAuthentication } from "../enums"; +import { ExchangeAuthentication, ExchangeVersion } from "../enums"; import { CalendarService } from "../lib"; const formSchema = z @@ -17,6 +17,7 @@ const formSchema = z username: z.string().email(), password: z.string(), authenticationMethod: z.number().default(ExchangeAuthentication.STANDARD), + exchangeVersion: z.number().default(ExchangeVersion.Exchange2016), useCompression: z.boolean().default(false), }) .strict(); diff --git a/packages/app-store/exchangecalendar/enums.ts b/packages/app-store/exchangecalendar/enums.ts index 795f264163..b77e328885 100644 --- a/packages/app-store/exchangecalendar/enums.ts +++ b/packages/app-store/exchangecalendar/enums.ts @@ -2,3 +2,13 @@ export enum ExchangeAuthentication { STANDARD = 0, NTLM = 1, } +export enum ExchangeVersion { + Exchange2007_SP1 = 0, + Exchange2010 = 1, + Exchange2010_SP1 = 2, + Exchange2010_SP2 = 3, + Exchange2013 = 4, + Exchange2013_SP1 = 5, + Exchange2015 = 6, + Exchange2016 = 7, +} diff --git a/packages/app-store/exchangecalendar/lib/CalendarService.ts b/packages/app-store/exchangecalendar/lib/CalendarService.ts index 3b4e71f171..9ba5823457 100644 --- a/packages/app-store/exchangecalendar/lib/CalendarService.ts +++ b/packages/app-store/exchangecalendar/lib/CalendarService.ts @@ -198,7 +198,7 @@ export default class ExchangeCalendarService implements Calendar { } private getExchangeService(): ExchangeService { - const service: ExchangeService = new ExchangeService(); + const service: ExchangeService = new ExchangeService(this.payload.exchangeVersion); service.Credentials = new WebCredentials(this.payload.username, this.payload.password); service.Url = new Uri(this.payload.url); if (this.payload.authenticationMethod === ExchangeAuthentication.NTLM) { diff --git a/packages/app-store/exchangecalendar/pages/setup/index.tsx b/packages/app-store/exchangecalendar/pages/setup/index.tsx index 3ca0370241..128dbd73bb 100644 --- a/packages/app-store/exchangecalendar/pages/setup/index.tsx +++ b/packages/app-store/exchangecalendar/pages/setup/index.tsx @@ -8,13 +8,14 @@ import z from "zod"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import { Alert, Button, EmailField, Form, PasswordField, SelectField, Switch, TextField } from "@calcom/ui"; -import { ExchangeAuthentication } from "../../enums"; +import { ExchangeAuthentication, ExchangeVersion } from "../../enums"; interface IFormData { url: string; username: string; password: string; authenticationMethod: ExchangeAuthentication; + exchangeVersion: ExchangeVersion; useCompression: boolean; } @@ -24,6 +25,7 @@ const schema = z username: z.string().email(), password: z.string(), authenticationMethod: z.number().default(ExchangeAuthentication.STANDARD), + exchangeVersion: z.number().default(ExchangeVersion.Exchange2016), useCompression: z.boolean().default(false), }) .strict(); @@ -33,13 +35,27 @@ export default function ExchangeSetup() { const router = useRouter(); const [errorMessage, setErrorMessage] = useState(""); const form = useForm({ - defaultValues: { authenticationMethod: ExchangeAuthentication.STANDARD }, + defaultValues: { + authenticationMethod: ExchangeAuthentication.STANDARD, + exchangeVersion: ExchangeVersion.Exchange2016, + }, resolver: zodResolver(schema), }); const authenticationMethods = [ { value: ExchangeAuthentication.STANDARD, label: t("exchange_authentication_standard") }, { value: ExchangeAuthentication.NTLM, label: t("exchange_authentication_ntlm") }, ]; + const exchangeVersions = [ + { value: ExchangeVersion.Exchange2007_SP1, label: t("exchange_version_2007_SP1") }, + { value: ExchangeVersion.Exchange2010, label: t("exchange_version_2010") }, + { value: ExchangeVersion.Exchange2010_SP1, label: t("exchange_version_2010_SP1") }, + { value: ExchangeVersion.Exchange2010_SP2, label: t("exchange_version_2010_SP2") }, + { value: ExchangeVersion.Exchange2013, label: t("exchange_version_2013") }, + { value: ExchangeVersion.Exchange2013_SP1, label: t("exchange_version_2013_SP1") }, + { value: ExchangeVersion.Exchange2015, label: t("exchange_version_2015") }, + { value: ExchangeVersion.Exchange2016, label: t("exchange_version_2016") }, + ]; + return ( <>
@@ -111,6 +127,21 @@ export default function ExchangeSetup() { /> )} /> + ( + { + onChange(version?.value); + form.setValue("exchangeVersion", version!.value); + }} + /> + )} + /> Date: Mon, 17 Apr 2023 21:49:24 +0530 Subject: [PATCH 009/146] fix: undo showRecordingsButton (#8262) Signed-off-by: Udit Takkar Co-authored-by: Peer Richelsen --- apps/web/components/booking/BookingListItem.tsx | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/apps/web/components/booking/BookingListItem.tsx b/apps/web/components/booking/BookingListItem.tsx index 04b86a9132..8e22549663 100644 --- a/apps/web/components/booking/BookingListItem.tsx +++ b/apps/web/components/booking/BookingListItem.tsx @@ -258,7 +258,12 @@ function BookingListItem(booking: BookingItemProps) { }; const title = booking.title; - const showRecordingsButtons = booking.isRecorded && isPast && isConfirmed; + // To be used after we run query on legacy bookings + // const showRecordingsButtons = booking.isRecorded && isPast && isConfirmed; + + const showRecordingsButtons = + (booking.location === "integrations:daily" || booking?.location?.trim() === "") && isPast && isConfirmed; + return ( <> Date: Mon, 17 Apr 2023 16:20:34 +0000 Subject: [PATCH 010/146] New Crowdin translations by Github Action --- apps/web/public/static/locales/fr/common.json | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/web/public/static/locales/fr/common.json b/apps/web/public/static/locales/fr/common.json index 60def46eee..3baddec93b 100644 --- a/apps/web/public/static/locales/fr/common.json +++ b/apps/web/public/static/locales/fr/common.json @@ -1319,6 +1319,14 @@ "exchange_authentication_standard": "Authentification de base", "exchange_authentication_ntlm": "Authentification NTLM", "exchange_compression": "Compression GZip", + "exchange_version_2007_SP1": "2007 SP1", + "exchange_version_2010": "2010", + "exchange_version_2010_SP1": "2010 SP1", + "exchange_version_2010_SP2": "2010 SP2", + "exchange_version_2013": "2013", + "exchange_version_2013_SP1": "2013 SP1", + "exchange_version_2015": "2015", + "exchange_version_2016": "2016", "routing_forms_description": "Créez des formulaires pour acheminer les participants vers les bonnes destinations.", "routing_forms_send_email_owner": "Envoyer un e-mail au propriétaire", "routing_forms_send_email_owner_description": "Envoie un e-mail au propriétaire lorsque le formulaire est soumis", From b5c993e153875ffd1d4ae93226c63f73a8774640 Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Mon, 17 Apr 2023 15:54:14 -0400 Subject: [PATCH 011/146] perf: replace `notIn` with `equals` on booking (#8303) Co-authored-by: Peer Richelsen Co-authored-by: Keith Williams --- packages/trpc/server/routers/viewer/bookings.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/trpc/server/routers/viewer/bookings.tsx b/packages/trpc/server/routers/viewer/bookings.tsx index b7848f6129..283e96efb2 100644 --- a/packages/trpc/server/routers/viewer/bookings.tsx +++ b/packages/trpc/server/routers/viewer/bookings.tsx @@ -115,7 +115,7 @@ export const bookingsRouter = router({ OR: [ { recurringEventId: { not: null }, - status: { notIn: [BookingStatus.PENDING, BookingStatus.CANCELLED, BookingStatus.REJECTED] }, + status: { equals: BookingStatus.ACCEPTED }, }, { recurringEventId: { equals: null }, From a0355e276d9cda0100b0a18aa14de822c95c8826 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Mon, 17 Apr 2023 19:55:05 +0000 Subject: [PATCH 012/146] New Crowdin translations by Github Action --- apps/web/public/static/locales/fr/common.json | 1 + 1 file changed, 1 insertion(+) diff --git a/apps/web/public/static/locales/fr/common.json b/apps/web/public/static/locales/fr/common.json index 3baddec93b..90f45e1400 100644 --- a/apps/web/public/static/locales/fr/common.json +++ b/apps/web/public/static/locales/fr/common.json @@ -1319,6 +1319,7 @@ "exchange_authentication_standard": "Authentification de base", "exchange_authentication_ntlm": "Authentification NTLM", "exchange_compression": "Compression GZip", + "exchange_version": "Version d'Exchange", "exchange_version_2007_SP1": "2007 SP1", "exchange_version_2010": "2010", "exchange_version_2010_SP1": "2010 SP1", From 493efabd2e2f9e52f9a1d6b3def2270c04bfd970 Mon Sep 17 00:00:00 2001 From: Udit Takkar <53316345+Udit-takkar@users.noreply.github.com> Date: Tue, 18 Apr 2023 03:52:44 +0530 Subject: [PATCH 013/146] perf: remove sentry (#8334) --- .env.example | 3 - apps/web/.gitignore | 2 - apps/web/lib/csp.ts | 5 +- apps/web/next.config.js | 20 +- apps/web/package.json | 1 - apps/web/pages/_error.tsx | 2 - apps/web/sentry.client.config.js | 16 - apps/web/sentry.properties | 3 - apps/web/sentry.server.config.js | 16 - .../components/confirmDialog.tsx | 2 +- turbo.json | 2 - yarn.lock | 2076 +---------------- 12 files changed, 68 insertions(+), 2080 deletions(-) delete mode 100644 apps/web/sentry.client.config.js delete mode 100644 apps/web/sentry.properties delete mode 100644 apps/web/sentry.server.config.js diff --git a/.env.example b/.env.example index daa0dc0a52..0c369e0dd8 100644 --- a/.env.example +++ b/.env.example @@ -160,9 +160,6 @@ CLOSECOM_API_KEY= # Sendgrid internal sync service SENDGRID_SYNC_API_KEY= -# Sentry -NEXT_PUBLIC_SENTRY_DSN= -SENTRY_IGNORE_API_RESOLUTION_ERROR= # Change your Brand NEXT_PUBLIC_APP_NAME="Cal.com" diff --git a/apps/web/.gitignore b/apps/web/.gitignore index e9c028b5aa..520a11d78c 100644 --- a/apps/web/.gitignore +++ b/apps/web/.gitignore @@ -68,5 +68,3 @@ public/embed # Copied app-store images public/app-store -# Sentry -.sentryclirc diff --git a/apps/web/lib/csp.ts b/apps/web/lib/csp.ts index 120448b3ff..c033ccd031 100644 --- a/apps/web/lib/csp.ts +++ b/apps/web/lib/csp.ts @@ -13,9 +13,6 @@ function getCspPolicy(nonce: string) { // We can remove 'unsafe-inline' from style-src when we add nonces to all style tags // Maybe see how @next-safe/middleware does it if it's supported. const useNonStrictPolicy = CSP_POLICY === "non-strict"; - const SENTRY_ENDPOINT = process.env.NEXT_PUBLIC_SENTRY_DSN - ? new URL(process.env.NEXT_PUBLIC_SENTRY_DSN, "http://base_url").origin - : ""; // We add WEBAPP_URL to img-src because of booking pages, which end up loading images from app.cal.com on cal.com // FIXME: Write a layer to extract out EventType Analytics tracking endpoints and add them to img-src or connect-src as needed. e.g. fathom, Google Analytics and others @@ -36,7 +33,7 @@ function getCspPolicy(nonce: string) { } app.cal.com; font-src 'self'; img-src 'self' ${WEBAPP_URL} https://www.gravatar.com https://img.youtube.com https://eu.ui-avatars.com/api/ data:; - connect-src 'self' ${SENTRY_ENDPOINT} + connect-src 'self' `; } diff --git a/apps/web/next.config.js b/apps/web/next.config.js index 6dcc8610f9..9e860f4a25 100644 --- a/apps/web/next.config.js +++ b/apps/web/next.config.js @@ -1,6 +1,5 @@ require("dotenv").config({ path: "../../.env" }); const CopyWebpackPlugin = require("copy-webpack-plugin"); -const { withSentryConfig } = require("@sentry/nextjs"); const os = require("os"); const { withAxiom } = require("next-axiom"); @@ -318,21 +317,4 @@ const nextConfig = { }, }; -const sentryWebpackPluginOptions = { - silent: true, // Suppresses all logs -}; - -const moduleExports = () => plugins.reduce((acc, next) => next(acc), nextConfig); - -if (process.env.NEXT_PUBLIC_SENTRY_DSN) { - nextConfig.sentry = { - hideSourceMaps: true, - // Prevents Sentry from running on this Edge function, where Sentry doesn't work yet (build whould crash the api route). - excludeServerRoutes: [/\/api\/social\/og\/image\/?/], - }; -} - -// Sentry should be the last thing to export to catch everything right -module.exports = process.env.NEXT_PUBLIC_SENTRY_DSN - ? withSentryConfig(moduleExports, sentryWebpackPluginOptions) - : moduleExports; +module.exports = () => plugins.reduce((acc, next) => next(acc), nextConfig); diff --git a/apps/web/package.json b/apps/web/package.json index eac9ee3237..86b5d4984a 100644 --- a/apps/web/package.json +++ b/apps/web/package.json @@ -57,7 +57,6 @@ "@radix-ui/react-switch": "^1.0.0", "@radix-ui/react-toggle-group": "^1.0.0", "@radix-ui/react-tooltip": "^1.0.0", - "@sentry/nextjs": "^7.20.0", "@stripe/react-stripe-js": "^1.10.0", "@stripe/stripe-js": "^1.35.0", "@tanstack/react-query": "^4.3.9", diff --git a/apps/web/pages/_error.tsx b/apps/web/pages/_error.tsx index 528294e7a5..59869c4697 100644 --- a/apps/web/pages/_error.tsx +++ b/apps/web/pages/_error.tsx @@ -2,7 +2,6 @@ * Typescript class based component for custom-error * @link https://nextjs.org/docs/advanced-features/custom-error-page */ -import * as Sentry from "@sentry/nextjs"; import type { NextPage, NextPageContext } from "next"; import type { ErrorProps } from "next/error"; import NextError from "next/error"; @@ -50,7 +49,6 @@ const CustomError: NextPage = (props) => { */ CustomError.getInitialProps = async (ctx: AugmentedNextPageContext) => { const { res, err, asPath } = ctx; - await Sentry.captureUnderscoreErrorException(ctx); const errorInitialProps = (await NextError.getInitialProps({ res, err, diff --git a/apps/web/sentry.client.config.js b/apps/web/sentry.client.config.js deleted file mode 100644 index 17e9d9aef0..0000000000 --- a/apps/web/sentry.client.config.js +++ /dev/null @@ -1,16 +0,0 @@ -// This file configures the initialization of Sentry on the browser. -// The config you add here will be used whenever a page is visited. -// https://docs.sentry.io/platforms/javascript/guides/nextjs/ -import * as Sentry from "@sentry/nextjs"; - -const SENTRY_DSN = process.env.NEXT_PUBLIC_SENTRY_DSN; - -Sentry.init({ - dsn: SENTRY_DSN, - // Adjust this value in production, or use tracesSampler for greater control - tracesSampleRate: 1.0, - // ... - // Note: if you want to override the automatic release value, do not set a - // `release` value here - use the environment variable `SENTRY_RELEASE`, so - // that it will also get attached to your source maps -}); diff --git a/apps/web/sentry.properties b/apps/web/sentry.properties deleted file mode 100644 index 93228f60da..0000000000 --- a/apps/web/sentry.properties +++ /dev/null @@ -1,3 +0,0 @@ -defaults.url=https://sentry.io/ -defaults.org=calcom -defaults.project=cal \ No newline at end of file diff --git a/apps/web/sentry.server.config.js b/apps/web/sentry.server.config.js deleted file mode 100644 index 3956c7d359..0000000000 --- a/apps/web/sentry.server.config.js +++ /dev/null @@ -1,16 +0,0 @@ -// This file configures the initialization of Sentry on the server. -// The config you add here will be used whenever the server handles a request. -// https://docs.sentry.io/platforms/javascript/guides/nextjs/ -import * as Sentry from "@sentry/nextjs"; - -const SENTRY_DSN = process.env.SENTRY_DSN || process.env.NEXT_PUBLIC_SENTRY_DSN; - -Sentry.init({ - dsn: SENTRY_DSN, - // Adjust this value in production, or use tracesSampler for greater control - tracesSampleRate: 1.0, - // ... - // Note: if you want to override the automatic release value, do not set a - // `release` value here - use the environment variable `SENTRY_RELEASE`, so - // that it will also get attached to your source maps -}); diff --git a/packages/app-store/wipemycalother/components/confirmDialog.tsx b/packages/app-store/wipemycalother/components/confirmDialog.tsx index 2c62aff2da..7ccd8dced1 100644 --- a/packages/app-store/wipemycalother/components/confirmDialog.tsx +++ b/packages/app-store/wipemycalother/components/confirmDialog.tsx @@ -66,7 +66,7 @@ export const ConfirmDialog = (props: IConfirmDialogWipe) => { } } catch (error) { showToast(t("unexpected_error_try_again"), "error"); - // @TODO: notify sentry + // @TODO: notify } setIsLoading(false); }, diff --git a/turbo.json b/turbo.json index ccbc681ecd..9d2009e530 100644 --- a/turbo.json +++ b/turbo.json @@ -221,7 +221,6 @@ "NEXT_PUBLIC_MINUTES_TO_BOOK", "NEXT_PUBLIC_SENDER_ID", "NEXT_PUBLIC_SENDGRID_SENDER_NAME", - "NEXT_PUBLIC_SENTRY_DSN", "NEXT_PUBLIC_STRIPE_PRICING_TABLE_ID", "NEXT_PUBLIC_STRIPE_PRICING_TABLE_PUBLISHABLE_KEY", "NEXT_PUBLIC_SUPPORT_MAIL_ADDRESS", @@ -250,7 +249,6 @@ "SENDGRID_API_KEY", "SENDGRID_EMAIL", "SENDGRID_SYNC_API_KEY", - "SENTRY_DSN", "SLACK_CLIENT_ID", "SLACK_CLIENT_SECRET", "SLACK_SIGNING_SECRET", diff --git a/yarn.lock b/yarn.lock index 9039885949..6109ed1439 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,34 +5,6 @@ __metadata: version: 6 cacheKey: 8 -"@47ng/cloak@npm:^1.1.0": - version: 1.1.0 - resolution: "@47ng/cloak@npm:1.1.0" - dependencies: - "@47ng/codec": ^1.0.1 - "@stablelib/base64": ^1.0.1 - "@stablelib/hex": ^1.0.1 - "@stablelib/utf8": ^1.0.1 - chalk: ^4.1.2 - commander: ^8.3.0 - dotenv: ^10.0.0 - s-ago: ^2.2.0 - bin: - cloak: dist/cli.js - checksum: 7d72c66ff7837368e9ca8f5ba402d72041427eb47c53c340b4640e3352f2956d8673a4a8e97591fb2b9dfe27f3d2765bcd925617273ef2488df2565c77c78299 - languageName: node - linkType: hard - -"@47ng/codec@npm:^1.0.1": - version: 1.1.0 - resolution: "@47ng/codec@npm:1.1.0" - dependencies: - "@stablelib/base64": ^1.0.1 - "@stablelib/hex": ^1.0.1 - checksum: 4f780c4413fe78bbedbaff4135340c0e5f5a30df88f5cffbec51349eb0a1c909728e6c2bbda52506ff8c12653bf39b78c67b78bbe9501b0b9741da0cdaeec6ff - languageName: node - linkType: hard - "@achrinza/event-pubsub@npm:5.0.8": version: 5.0.8 resolution: "@achrinza/event-pubsub@npm:5.0.8" @@ -80,67 +52,6 @@ __metadata: languageName: node linkType: hard -"@apidevtools/json-schema-ref-parser@npm:9.0.9": - version: 9.0.9 - resolution: "@apidevtools/json-schema-ref-parser@npm:9.0.9" - dependencies: - "@jsdevtools/ono": ^7.1.3 - "@types/json-schema": ^7.0.6 - call-me-maybe: ^1.0.1 - js-yaml: ^4.1.0 - checksum: b21f6bdd37d2942c3967ee77569bc74fadd1b922f688daf5ef85057789a2c3a7f4afc473aa2f3a93ec950dabb6ef365f8bd9cf51e4e062a1ee1e59b989f8f9b4 - languageName: node - linkType: hard - -"@apidevtools/openapi-schemas@npm:^2.0.4": - version: 2.1.0 - resolution: "@apidevtools/openapi-schemas@npm:2.1.0" - checksum: 4a8f64935b9049ef21e41fa4b188f39f6bc3f5291cebd451701db1115451ccb246a739e46cc5ce9ecdec781671431db40db7851acdac84a990a45756e0f32de3 - languageName: node - linkType: hard - -"@apidevtools/swagger-methods@npm:^3.0.2": - version: 3.0.2 - resolution: "@apidevtools/swagger-methods@npm:3.0.2" - checksum: d06b1ac5c1956613c4c6be695612ef860cd4e962b93a509ca551735a328a856cae1e33399cac1dcbf8333ba22b231746f3586074769ef0e172cf549ec9e7eaae - languageName: node - linkType: hard - -"@apidevtools/swagger-parser@npm:10.0.2": - version: 10.0.2 - resolution: "@apidevtools/swagger-parser@npm:10.0.2" - dependencies: - "@apidevtools/json-schema-ref-parser": ^9.0.6 - "@apidevtools/openapi-schemas": ^2.0.4 - "@apidevtools/swagger-methods": ^3.0.2 - "@jsdevtools/ono": ^7.1.3 - call-me-maybe: ^1.0.1 - z-schema: ^4.2.3 - peerDependencies: - openapi-types: ">=7" - checksum: fbae8e363c4944c10b9c5702a9b64d04ce2d55b5418d0ca4ef044aeaa92c7f3160ba8d3e335798f7482ab1179d947bdd7393cddf9861d76393789d7559ddf7ba - languageName: node - linkType: hard - -"@auth/core@npm:^0.1.4": - version: 0.1.4 - resolution: "@auth/core@npm:0.1.4" - dependencies: - "@panva/hkdf": 1.0.2 - cookie: 0.5.0 - jose: 4.11.1 - oauth4webapi: 2.0.5 - preact: 10.11.3 - preact-render-to-string: 5.2.3 - peerDependencies: - nodemailer: 6.8.0 - peerDependenciesMeta: - nodemailer: - optional: true - checksum: 64854404ea1883e0deb5535b34bed95cd43fc85094aeaf4f15a79e14045020eb944f844defe857edfc8528a0a024be89cbb2a3069dedef0e9217a74ca6c3eb79 - languageName: node - linkType: hard - "@aws-crypto/ie11-detection@npm:^3.0.0": version: 3.0.0 resolution: "@aws-crypto/ie11-detection@npm:3.0.0" @@ -3889,39 +3800,6 @@ __metadata: languageName: unknown linkType: soft -"@calcom/api@workspace:apps/api": - version: 0.0.0-use.local - resolution: "@calcom/api@workspace:apps/api" - dependencies: - "@calcom/app-store": "*" - "@calcom/core": "*" - "@calcom/dayjs": "*" - "@calcom/emails": "*" - "@calcom/features": "*" - "@calcom/lib": "*" - "@calcom/prisma": "*" - "@calcom/trpc": "*" - "@calcom/tsconfig": "*" - "@calcom/types": "*" - "@sentry/nextjs": ^7.20.0 - babel-jest: ^28.1.0 - bcryptjs: ^2.4.3 - jest: ^28.1.0 - memory-cache: ^0.2.0 - modify-response-middleware: ^1.1.0 - next: ^13.2.1 - next-api-middleware: ^1.0.1 - next-axiom: ^0.16.0 - next-swagger-doc: ^0.3.4 - next-validations: ^0.2.0 - node-mocks-http: ^1.11.0 - typescript: ^4.9.4 - tzdata: ^1.0.30 - uuid: ^8.3.2 - zod: ^3.20.2 - languageName: unknown - linkType: soft - "@calcom/app-store-cli@*, @calcom/app-store-cli@workspace:packages/app-store-cli": version: 0.0.0-use.local resolution: "@calcom/app-store-cli@workspace:packages/app-store-cli" @@ -3980,39 +3858,6 @@ __metadata: languageName: unknown linkType: soft -"@calcom/auth@workspace:apps/auth": - version: 0.0.0-use.local - resolution: "@calcom/auth@workspace:apps/auth" - dependencies: - "@auth/core": ^0.1.4 - "@calcom/app-store": "*" - "@calcom/app-store-cli": "*" - "@calcom/config": "*" - "@calcom/core": "*" - "@calcom/dayjs": "*" - "@calcom/embed-core": "workspace:*" - "@calcom/embed-react": "workspace:*" - "@calcom/embed-snippet": "workspace:*" - "@calcom/features": "*" - "@calcom/lib": "*" - "@calcom/prisma": "*" - "@calcom/trpc": "*" - "@calcom/tsconfig": "*" - "@calcom/types": "*" - "@calcom/ui": "*" - "@types/node": 16.9.1 - "@types/react": 18.0.26 - "@types/react-dom": 18.0.9 - eslint: ^8.34.0 - eslint-config-next: ^13.2.1 - next: ^13.2.1 - next-auth: ^4.20.1 - react: ^18.2.0 - react-dom: ^18.2.0 - typescript: ^4.9.4 - languageName: unknown - linkType: soft - "@calcom/caldavcalendar@workspace:packages/app-store/caldavcalendar": version: 0.0.0-use.local resolution: "@calcom/caldavcalendar@workspace:packages/app-store/caldavcalendar" @@ -4071,43 +3916,6 @@ __metadata: languageName: unknown linkType: soft -"@calcom/console@workspace:apps/console": - version: 0.0.0-use.local - resolution: "@calcom/console@workspace:apps/console" - dependencies: - "@calcom/dayjs": "*" - "@calcom/features": "*" - "@calcom/lib": "*" - "@calcom/tsconfig": "*" - "@calcom/ui": "*" - "@headlessui/react": ^1.5.0 - "@heroicons/react": ^1.0.6 - "@prisma/client": ^4.11.0 - "@tailwindcss/forms": ^0.5.2 - "@types/node": 16.9.1 - "@types/react": 18.0.26 - autoprefixer: ^10.4.12 - chart.js: ^3.7.1 - client-only: ^0.0.1 - eslint: ^8.34.0 - next: ^13.2.1 - next-auth: ^4.20.1 - next-i18next: ^11.3.0 - postcss: ^8.4.18 - prisma: ^4.11.0 - prisma-field-encryption: ^1.4.0 - react: ^18.2.0 - react-chartjs-2: ^4.0.1 - react-dom: ^18.2.0 - react-hook-form: ^7.43.3 - react-live-chat-loader: ^2.7.3 - swr: ^1.2.2 - tailwindcss: ^3.2.1 - typescript: ^4.9.4 - zod: ^3.20.2 - languageName: unknown - linkType: soft - "@calcom/core@*, @calcom/core@workspace:packages/core": version: 0.0.0-use.local resolution: "@calcom/core@workspace:packages/core" @@ -4220,7 +4028,7 @@ __metadata: languageName: unknown linkType: soft -"@calcom/embed-react@workspace:*, @calcom/embed-react@workspace:^, @calcom/embed-react@workspace:packages/embeds/embed-react": +"@calcom/embed-react@workspace:*, @calcom/embed-react@workspace:packages/embeds/embed-react": version: 0.0.0-use.local resolution: "@calcom/embed-react@workspace:packages/embeds/embed-react" dependencies: @@ -4882,7 +4690,6 @@ __metadata: "@radix-ui/react-switch": ^1.0.0 "@radix-ui/react-toggle-group": ^1.0.0 "@radix-ui/react-tooltip": ^1.0.0 - "@sentry/nextjs": ^7.20.0 "@stripe/react-stripe-js": ^1.10.0 "@stripe/stripe-js": ^1.35.0 "@tanstack/react-query": ^4.3.9 @@ -4995,91 +4802,6 @@ __metadata: languageName: unknown linkType: soft -"@calcom/website@workspace:apps/website": - version: 0.0.0-use.local - resolution: "@calcom/website@workspace:apps/website" - dependencies: - "@calcom/app-store": "*" - "@calcom/config": "*" - "@calcom/dayjs": "*" - "@calcom/embed-react": "workspace:^" - "@calcom/features": "*" - "@calcom/lib": "*" - "@calcom/prisma": "*" - "@calcom/tsconfig": "*" - "@calcom/ui": "*" - "@floating-ui/react-dom": ^1.0.0 - "@headlessui/react": ^1.5.0 - "@heroicons/react": ^1.0.6 - "@hookform/resolvers": ^2.9.7 - "@juggle/resize-observer": ^3.4.0 - "@next/bundle-analyzer": ^13.1.6 - "@radix-ui/react-accordion": ^1.0.0 - "@radix-ui/react-navigation-menu": ^1.0.0 - "@radix-ui/react-portal": ^1.0.0 - "@radix-ui/react-slider": ^1.0.0 - "@radix-ui/react-tabs": ^1.0.0 - "@radix-ui/react-tooltip": ^1.0.0 - "@stripe/stripe-js": ^1.35.0 - "@tanstack/react-query": ^4.3.9 - "@typeform/embed-react": ^1.2.4 - "@types/bcryptjs": ^2.4.2 - "@types/debounce": ^1.2.1 - "@types/gtag.js": ^0.0.10 - "@types/micro": 7.3.7 - "@types/node": 16.9.1 - "@types/react": 18.0.26 - "@types/react-gtm-module": ^2.0.1 - "@vercel/analytics": ^0.1.6 - "@vercel/edge-functions-ui": ^0.2.1 - "@vercel/og": ^0.5.0 - autoprefixer: ^10.4.12 - bcryptjs: ^2.4.3 - cobe: ^0.4.1 - concurrently: ^7.6.0 - cross-env: ^7.0.3 - datocms-structured-text-to-plain-text: ^2.0.4 - datocms-structured-text-utils: ^2.0.4 - debounce: ^1.2.1 - env-cmd: ^10.1.0 - eslint: ^8.34.0 - fathom-client: ^3.5.0 - globby: ^13.1.3 - gray-matter: ^4.0.3 - gsap: ^3.11.0 - iframe-resizer-react: ^1.1.0 - keen-slider: ^6.8.0 - lucide-react: ^0.125.0 - micro: ^10.0.1 - next: 13.2.4-canary.5 - next-auth: ^4.20.1 - next-i18next: ^11.3.0 - playwright: ^1.31.2 - postcss: ^8.4.18 - prism-react-renderer: ^1.3.5 - react: ^18.2.0 - react-confetti: ^6.0.1 - react-datocms: ^3.1.0 - react-device-detect: ^2.2.2 - react-dom: ^18.2.0 - react-fast-marquee: ^1.3.5 - react-github-btn: ^1.4.0 - react-hook-form: ^7.43.3 - react-hot-toast: ^2.3.0 - react-live-chat-loader: ^2.8.1 - react-merge-refs: 1.1.0 - react-twemoji: ^0.3.0 - react-use-measure: ^2.1.1 - remark: ^14.0.2 - remark-html: ^14.0.1 - stripe: ^9.16.0 - tailwindcss: ^3.2.1 - typescript: ^4.9.4 - wait-on: ^7.0.1 - zod: ^3.20.2 - languageName: unknown - linkType: soft - "@calcom/whatsapp@workspace:packages/app-store/whatsapp": version: 0.0.0-use.local resolution: "@calcom/whatsapp@workspace:packages/app-store/whatsapp" @@ -6350,10 +6072,10 @@ __metadata: languageName: node linkType: hard -"@floating-ui/core@npm:^1.2.4": - version: 1.2.4 - resolution: "@floating-ui/core@npm:1.2.4" - checksum: 1c163ea1804e2b0a28fda6e32efed0e242d0db8081fd24aab9d1cbb100f94a558709231c483bf74bf09a9204ea6e7845813d43b5322ceb6ee63285308f68f65b +"@floating-ui/core@npm:^1.2.6": + version: 1.2.6 + resolution: "@floating-ui/core@npm:1.2.6" + checksum: e4aa96c435277f1720d4bc939e17a79b1e1eebd589c20b622d3c646a5273590ff889b8c6e126f7be61873cf8c4d7db7d418895986ea19b8b0d0530de32504c3a languageName: node linkType: hard @@ -6367,11 +6089,11 @@ __metadata: linkType: hard "@floating-ui/dom@npm:^1.0.1, @floating-ui/dom@npm:^1.2.1": - version: 1.2.5 - resolution: "@floating-ui/dom@npm:1.2.5" + version: 1.2.6 + resolution: "@floating-ui/dom@npm:1.2.6" dependencies: - "@floating-ui/core": ^1.2.4 - checksum: a21c272a36c7cd7d337eaed82c1f8a81ccc5003d04cefa07591dc7fbb0a24d57a2c097b410593b5416145a68ac10a7a7a745c3cc4f8196268fa002364d28804b + "@floating-ui/core": ^1.2.6 + checksum: 2226c6c244b96ae75ab14cc35bb119c8d7b83a85e2ff04e9d9800cffdb17faf4a7cf82db741dd045242ced56e31c8a08e33c8c512c972309a934d83b1f410441 languageName: node linkType: hard @@ -6388,7 +6110,7 @@ __metadata: languageName: node linkType: hard -"@floating-ui/react-dom@npm:^1.0.0, @floating-ui/react-dom@npm:^1.3.0": +"@floating-ui/react-dom@npm:^1.3.0": version: 1.3.0 resolution: "@floating-ui/react-dom@npm:1.3.0" dependencies: @@ -6526,34 +6248,6 @@ __metadata: languageName: node linkType: hard -"@hapi/hoek@npm:^9.0.0": - version: 9.3.0 - resolution: "@hapi/hoek@npm:9.3.0" - checksum: 4771c7a776242c3c022b168046af4e324d116a9d2e1d60631ee64f474c6e38d1bb07092d898bf95c7bc5d334c5582798a1456321b2e53ca817d4e7c88bc25b43 - languageName: node - linkType: hard - -"@hapi/topo@npm:^5.0.0": - version: 5.1.0 - resolution: "@hapi/topo@npm:5.1.0" - dependencies: - "@hapi/hoek": ^9.0.0 - checksum: 604dfd5dde76d5c334bd03f9001fce69c7ce529883acf92da96f4fe7e51221bf5e5110e964caca287a6a616ba027c071748ab636ff178ad750547fba611d6014 - languageName: node - linkType: hard - -"@headlessui/react@npm:^1.5.0": - version: 1.7.13 - resolution: "@headlessui/react@npm:1.7.13" - dependencies: - client-only: ^0.0.1 - peerDependencies: - react: ^16 || ^17 || ^18 - react-dom: ^16 || ^17 || ^18 - checksum: 132e5fce86978b9a6fd9d669fb556acec783debcd8f510c99226b3b3229dad50a13aeed69fc9af66465fc7029487ecfc46e6226f14218b760d5a309e08c0d059 - languageName: node - linkType: hard - "@heroicons/react@npm:^1.0.6": version: 1.0.6 resolution: "@heroicons/react@npm:1.0.6" @@ -7498,13 +7192,6 @@ __metadata: languageName: node linkType: hard -"@jsdevtools/ono@npm:^7.1.3": - version: 7.1.3 - resolution: "@jsdevtools/ono@npm:7.1.3" - checksum: 2297fcd472ba810bffe8519d2249171132844c7174f3a16634f9260761c8c78bc0428a4190b5b6d72d45673c13918ab9844d706c3ed4ef8f62ab11a2627a08ad - languageName: node - linkType: hard - "@json-rpc-tools/provider@npm:^1.5.5": version: 1.7.6 resolution: "@json-rpc-tools/provider@npm:1.7.6" @@ -7536,13 +7223,6 @@ __metadata: languageName: node linkType: hard -"@juggle/resize-observer@npm:^3.4.0": - version: 3.4.0 - resolution: "@juggle/resize-observer@npm:3.4.0" - checksum: 2505028c05cc2e17639fcad06218b1c4b60f932a4ebb4b41ab546ef8c157031ae377e3f560903801f6d01706dbefd4943b6c4704bf19ed86dfa1c62f1473a570 - languageName: node - linkType: hard - "@lexical/clipboard@npm:0.5.0": version: 0.5.0 resolution: "@lexical/clipboard@npm:0.5.0" @@ -7952,13 +7632,6 @@ __metadata: languageName: node linkType: hard -"@next/env@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/env@npm:13.2.4-canary.5" - checksum: d46767ba464334b8487b671a9b366b25e7c1b6bf262bd66afd62b07b17f52066158fe69b14db3abc8219e1e580cd60e0655af6c71550506770780d1ba28ae92d - languageName: node - linkType: hard - "@next/eslint-plugin-next@npm:13.2.1": version: 13.2.1 resolution: "@next/eslint-plugin-next@npm:13.2.1" @@ -7975,13 +7648,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-android-arm-eabi@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-android-arm-eabi@npm:13.2.4-canary.5" - conditions: os=android & cpu=arm - languageName: node - linkType: hard - "@next/swc-android-arm64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-android-arm64@npm:13.2.3" @@ -7989,13 +7655,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-android-arm64@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-android-arm64@npm:13.2.4-canary.5" - conditions: os=android & cpu=arm64 - languageName: node - linkType: hard - "@next/swc-darwin-arm64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-darwin-arm64@npm:13.2.3" @@ -8003,13 +7662,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-darwin-arm64@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-darwin-arm64@npm:13.2.4-canary.5" - conditions: os=darwin & cpu=arm64 - languageName: node - linkType: hard - "@next/swc-darwin-x64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-darwin-x64@npm:13.2.3" @@ -8017,13 +7669,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-darwin-x64@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-darwin-x64@npm:13.2.4-canary.5" - conditions: os=darwin & cpu=x64 - languageName: node - linkType: hard - "@next/swc-freebsd-x64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-freebsd-x64@npm:13.2.3" @@ -8031,13 +7676,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-freebsd-x64@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-freebsd-x64@npm:13.2.4-canary.5" - conditions: os=freebsd & cpu=x64 - languageName: node - linkType: hard - "@next/swc-linux-arm-gnueabihf@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-arm-gnueabihf@npm:13.2.3" @@ -8045,13 +7683,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-arm-gnueabihf@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-linux-arm-gnueabihf@npm:13.2.4-canary.5" - conditions: os=linux & cpu=arm - languageName: node - linkType: hard - "@next/swc-linux-arm64-gnu@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-arm64-gnu@npm:13.2.3" @@ -8059,13 +7690,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-arm64-gnu@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-linux-arm64-gnu@npm:13.2.4-canary.5" - conditions: os=linux & cpu=arm64 & libc=glibc - languageName: node - linkType: hard - "@next/swc-linux-arm64-musl@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-arm64-musl@npm:13.2.3" @@ -8073,13 +7697,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-arm64-musl@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-linux-arm64-musl@npm:13.2.4-canary.5" - conditions: os=linux & cpu=arm64 & libc=musl - languageName: node - linkType: hard - "@next/swc-linux-x64-gnu@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-x64-gnu@npm:13.2.3" @@ -8087,13 +7704,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-x64-gnu@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-linux-x64-gnu@npm:13.2.4-canary.5" - conditions: os=linux & cpu=x64 & libc=glibc - languageName: node - linkType: hard - "@next/swc-linux-x64-musl@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-x64-musl@npm:13.2.3" @@ -8101,13 +7711,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-linux-x64-musl@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-linux-x64-musl@npm:13.2.4-canary.5" - conditions: os=linux & cpu=x64 & libc=musl - languageName: node - linkType: hard - "@next/swc-win32-arm64-msvc@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-win32-arm64-msvc@npm:13.2.3" @@ -8115,13 +7718,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-win32-arm64-msvc@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-win32-arm64-msvc@npm:13.2.4-canary.5" - conditions: os=win32 & cpu=arm64 - languageName: node - linkType: hard - "@next/swc-win32-ia32-msvc@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-win32-ia32-msvc@npm:13.2.3" @@ -8129,13 +7725,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-win32-ia32-msvc@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-win32-ia32-msvc@npm:13.2.4-canary.5" - conditions: os=win32 & cpu=ia32 - languageName: node - linkType: hard - "@next/swc-win32-x64-msvc@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-win32-x64-msvc@npm:13.2.3" @@ -8143,13 +7732,6 @@ __metadata: languageName: node linkType: hard -"@next/swc-win32-x64-msvc@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "@next/swc-win32-x64-msvc@npm:13.2.4-canary.5" - conditions: os=win32 & cpu=x64 - languageName: node - linkType: hard - "@node-ipc/js-queue@npm:2.0.3": version: 2.0.3 resolution: "@node-ipc/js-queue@npm:2.0.3" @@ -8295,13 +7877,6 @@ __metadata: languageName: node linkType: hard -"@panva/hkdf@npm:1.0.2": - version: 1.0.2 - resolution: "@panva/hkdf@npm:1.0.2" - checksum: 75183b4d5ea816ef516dcea70985c610683579a9e2ac540c2d59b9a3ed27eedaff830a43a1c43c1683556a457c92ac66e09109ee995ab173090e4042c4c4bb03 - languageName: node - linkType: hard - "@panva/hkdf@npm:^1.0.2": version: 1.0.4 resolution: "@panva/hkdf@npm:1.0.4" @@ -8417,17 +7992,6 @@ __metadata: languageName: node linkType: hard -"@prisma/debug@npm:4.12.0": - version: 4.12.0 - resolution: "@prisma/debug@npm:4.12.0" - dependencies: - "@types/debug": 4.1.7 - debug: 4.3.4 - strip-ansi: 6.0.1 - checksum: 0ae182634f4a25231ff946768e1da1f694b5141d21c92cb2a142580de30d67ebd1595f8575a4c63356740e415d5d64829449a4710d8421e7147016ea0acb2643 - languageName: node - linkType: hard - "@prisma/engines-version@npm:4.11.0-57.8fde8fef4033376662cad983758335009d522acb": version: 4.11.0-57.8fde8fef4033376662cad983758335009d522acb resolution: "@prisma/engines-version@npm:4.11.0-57.8fde8fef4033376662cad983758335009d522acb" @@ -8442,18 +8006,6 @@ __metadata: languageName: node linkType: hard -"@prisma/generator-helper@npm:^4.0.0": - version: 4.12.0 - resolution: "@prisma/generator-helper@npm:4.12.0" - dependencies: - "@prisma/debug": 4.12.0 - "@types/cross-spawn": 6.0.2 - chalk: 4.1.2 - cross-spawn: 7.0.3 - checksum: b844fcf736c922ce39e6aa1081b7c133b921ceb5d272f51296cf7afc3128ca6085ef1594ce63045ef47a462c56e5e37b9a1094a36d5dd484f77017d6f227641f - languageName: node - linkType: hard - "@prisma/generator-helper@npm:~3.8.1": version: 3.8.1 resolution: "@prisma/generator-helper@npm:3.8.1" @@ -8502,27 +8054,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-accordion@npm:^1.0.0": - version: 1.1.1 - resolution: "@radix-ui/react-accordion@npm:1.1.1" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.0 - "@radix-ui/react-collapsible": 1.0.2 - "@radix-ui/react-collection": 1.0.2 - "@radix-ui/react-compose-refs": 1.0.0 - "@radix-ui/react-context": 1.0.0 - "@radix-ui/react-direction": 1.0.0 - "@radix-ui/react-id": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-use-controllable-state": 1.0.0 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: a666da8abca778a150e2cb6d2c0e19fa32912b2cd9aca04359a7a50f238d30b056d46a3119f93376da5ee964262a7fe1174f16e34096d9f51d6639beb9f0e8cd - languageName: node - linkType: hard - "@radix-ui/react-arrow@npm:1.0.0": version: 1.0.0 resolution: "@radix-ui/react-arrow@npm:1.0.0" @@ -8565,26 +8096,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-collapsible@npm:1.0.2": - version: 1.0.2 - resolution: "@radix-ui/react-collapsible@npm:1.0.2" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.0 - "@radix-ui/react-compose-refs": 1.0.0 - "@radix-ui/react-context": 1.0.0 - "@radix-ui/react-id": 1.0.0 - "@radix-ui/react-presence": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-use-controllable-state": 1.0.0 - "@radix-ui/react-use-layout-effect": 1.0.0 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: a0fcfd3aad5159e1fb6fc54fd09210d7de9c1ee1e19739a5a82af81d3f2233e4e5eb204da326f32e2f2a4740aa4c3b42530b61e36b7ced9f857801809d1d3527 - languageName: node - linkType: hard - "@radix-ui/react-collapsible@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-collapsible@npm:1.0.0" @@ -8636,22 +8147,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-collection@npm:1.0.2": - version: 1.0.2 - resolution: "@radix-ui/react-collection@npm:1.0.2" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-compose-refs": 1.0.0 - "@radix-ui/react-context": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-slot": 1.0.1 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: f7d92f52c7f92b53c055370a5cbf077eea54366706eec9100973737577d841c0cc76a2a577fec67dd85b2853d03c20c4810058f0f511821052358439017e9e5d - languageName: node - linkType: hard - "@radix-ui/react-compose-refs@npm:0.1.0": version: 0.1.0 resolution: "@radix-ui/react-compose-refs@npm:0.1.0" @@ -8784,23 +8279,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-dismissable-layer@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-dismissable-layer@npm:1.0.3" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.0 - "@radix-ui/react-compose-refs": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-use-callback-ref": 1.0.0 - "@radix-ui/react-use-escape-keydown": 1.0.2 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: cb2a38a65dd129d1fd58436bedee765f46f6a6edc2ec15d534a1499c10f768ae06ad874704e030c85869b3ee4b61103076a116dfdb7e0c761a8c8cdc30a5c951 - languageName: node - linkType: hard - "@radix-ui/react-dropdown-menu@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-dropdown-menu@npm:1.0.0" @@ -8960,32 +8438,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-navigation-menu@npm:^1.0.0": - version: 1.1.2 - resolution: "@radix-ui/react-navigation-menu@npm:1.1.2" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.0 - "@radix-ui/react-collection": 1.0.2 - "@radix-ui/react-compose-refs": 1.0.0 - "@radix-ui/react-context": 1.0.0 - "@radix-ui/react-direction": 1.0.0 - "@radix-ui/react-dismissable-layer": 1.0.3 - "@radix-ui/react-id": 1.0.0 - "@radix-ui/react-presence": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-use-callback-ref": 1.0.0 - "@radix-ui/react-use-controllable-state": 1.0.0 - "@radix-ui/react-use-layout-effect": 1.0.0 - "@radix-ui/react-use-previous": 1.0.0 - "@radix-ui/react-visually-hidden": 1.0.2 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 2c321a10acf532cfead8f63c1eca9acb742fb94de3d67c8c8e2614845086376995e78cb3d31ac1bc4a915e961e5c19d60b52106c1c9196c9789d4da3e831fd5b - languageName: node - linkType: hard - "@radix-ui/react-popover@npm:^1.0.2": version: 1.0.2 resolution: "@radix-ui/react-popover@npm:1.0.2" @@ -9147,19 +8599,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-primitive@npm:1.0.2": - version: 1.0.2 - resolution: "@radix-ui/react-primitive@npm:1.0.2" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-slot": 1.0.1 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 070b1770749eb629425ef959c4cdbd86957b83c5286ae4423e55ab1a89fa286a51f5aeee44e3a13eb6ca44771415ac1acbaeb0ba03013b49ecb5253e1a5a8996 - languageName: node - linkType: hard - "@radix-ui/react-radio-group@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-radio-group@npm:1.0.0" @@ -9204,27 +8643,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-roving-focus@npm:1.0.3": - version: 1.0.3 - resolution: "@radix-ui/react-roving-focus@npm:1.0.3" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.0 - "@radix-ui/react-collection": 1.0.2 - "@radix-ui/react-compose-refs": 1.0.0 - "@radix-ui/react-context": 1.0.0 - "@radix-ui/react-direction": 1.0.0 - "@radix-ui/react-id": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-use-callback-ref": 1.0.0 - "@radix-ui/react-use-controllable-state": 1.0.0 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 08f33c7cd2962b5603a83c67e54f4b1d43f89138bc598644bde551845a302da2fc32f53cad712aa2b17915b2c598fc36244d88fbc5f01986ea93d788faf32101 - languageName: node - linkType: hard - "@radix-ui/react-select@npm:^0.1.1": version: 0.1.1 resolution: "@radix-ui/react-select@npm:0.1.1" @@ -9334,26 +8752,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-tabs@npm:^1.0.0": - version: 1.0.3 - resolution: "@radix-ui/react-tabs@npm:1.0.3" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/primitive": 1.0.0 - "@radix-ui/react-context": 1.0.0 - "@radix-ui/react-direction": 1.0.0 - "@radix-ui/react-id": 1.0.0 - "@radix-ui/react-presence": 1.0.0 - "@radix-ui/react-primitive": 1.0.2 - "@radix-ui/react-roving-focus": 1.0.3 - "@radix-ui/react-use-controllable-state": 1.0.0 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 603b06a1c071fec7b01cf82c3058aff239079b14f7d7988b559b9877bcd4e3f23d287b8cf38ebef6bb6b0c4f238a80f67525aa5fc9db519fbf1b70777a40f0ec - languageName: node - linkType: hard - "@radix-ui/react-toggle-group@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-toggle-group@npm:1.0.0" @@ -9599,19 +8997,6 @@ __metadata: languageName: node linkType: hard -"@radix-ui/react-visually-hidden@npm:1.0.2": - version: 1.0.2 - resolution: "@radix-ui/react-visually-hidden@npm:1.0.2" - dependencies: - "@babel/runtime": ^7.13.10 - "@radix-ui/react-primitive": 1.0.2 - peerDependencies: - react: ^16.8 || ^17.0 || ^18.0 - react-dom: ^16.8 || ^17.0 || ^18.0 - checksum: 67c4a55cfad9a8ff519a9b4ce24d2cc9d78c34d08a128a85de1a0a41228fdeb961eaeb4e50ca0d2080c5e31cef6f6e703cb06786579b44e5c66af161b941adb6 - languageName: node - linkType: hard - "@radix-ui/rect@npm:1.0.0": version: 1.0.0 resolution: "@radix-ui/rect@npm:1.0.0" @@ -9793,30 +9178,6 @@ __metadata: languageName: node linkType: hard -"@rollup/plugin-sucrase@npm:4.0.4": - version: 4.0.4 - resolution: "@rollup/plugin-sucrase@npm:4.0.4" - dependencies: - "@rollup/pluginutils": ^4.1.1 - sucrase: ^3.20.0 - peerDependencies: - rollup: ^2.53.1 - checksum: ccb01d7eb35014497518a42e242dbebfeb721584ad547cf3121b80f99e13110975f19a4fe7d5537a8d82227400501caa396ff9d809af8904c6aa885530f3a6b3 - languageName: node - linkType: hard - -"@rollup/plugin-virtual@npm:3.0.0": - version: 3.0.0 - resolution: "@rollup/plugin-virtual@npm:3.0.0" - peerDependencies: - rollup: ^1.20.0||^2.0.0||^3.0.0 - peerDependenciesMeta: - rollup: - optional: true - checksum: 2335cabee21718fda145caada23132d0255293009207bb6014b47aaefccf25cc6a7cf239c74f54be1ad93b07bb7dd4ba83ca2507c8dbb730876cb83d706bae90 - languageName: node - linkType: hard - "@rollup/pluginutils@npm:^3.1.0": version: 3.1.0 resolution: "@rollup/pluginutils@npm:3.1.0" @@ -9830,7 +9191,7 @@ __metadata: languageName: node linkType: hard -"@rollup/pluginutils@npm:^4.1.1, @rollup/pluginutils@npm:^4.2.1": +"@rollup/pluginutils@npm:^4.2.1": version: 4.2.1 resolution: "@rollup/pluginutils@npm:4.2.1" dependencies: @@ -9876,155 +9237,6 @@ __metadata: languageName: node linkType: hard -"@sentry/browser@npm:7.20.0": - version: 7.20.0 - resolution: "@sentry/browser@npm:7.20.0" - dependencies: - "@sentry/core": 7.20.0 - "@sentry/types": 7.20.0 - "@sentry/utils": 7.20.0 - tslib: ^1.9.3 - checksum: 740903325b83d6e1776040424eec2223a32a1fe2e785b9c3903ae985096f2ce0cc3bc8da0868b05fbac36e5d41518b997948df6a6135454809b9f2a673f6ca6f - languageName: node - linkType: hard - -"@sentry/cli@npm:^1.74.6": - version: 1.74.6 - resolution: "@sentry/cli@npm:1.74.6" - dependencies: - https-proxy-agent: ^5.0.0 - mkdirp: ^0.5.5 - node-fetch: ^2.6.7 - npmlog: ^4.1.2 - progress: ^2.0.3 - proxy-from-env: ^1.1.0 - which: ^2.0.2 - bin: - sentry-cli: bin/sentry-cli - checksum: 3d1ef94d5505ed23858503228b59ae1ed401774e27466d7a47eba47be3855e9706f12292d4a0a6135303a5916791620e0d3a184d2fda9e28f2d26ccd347b36fb - languageName: node - linkType: hard - -"@sentry/core@npm:7.20.0": - version: 7.20.0 - resolution: "@sentry/core@npm:7.20.0" - dependencies: - "@sentry/types": 7.20.0 - "@sentry/utils": 7.20.0 - tslib: ^1.9.3 - checksum: 3998605dff85a56f83efaae747567b76941d4b6de9a30202f280d50ad38fb176ed8560067f122238fb1170c133dfc9a063ae71ee66b6ebd639977b44f3f8311c - languageName: node - linkType: hard - -"@sentry/integrations@npm:7.20.0": - version: 7.20.0 - resolution: "@sentry/integrations@npm:7.20.0" - dependencies: - "@sentry/types": 7.20.0 - "@sentry/utils": 7.20.0 - localforage: ^1.8.1 - tslib: ^1.9.3 - checksum: 9e364567481d5f0788af43e1feef03d9cfc58c4c83532c6eecf40f6a8586e72302b6f8c0fa77a392c9ee4aece50ab4de4aa6b9a7f72dc7e7712884e5de476374 - languageName: node - linkType: hard - -"@sentry/nextjs@npm:^7.20.0": - version: 7.20.0 - resolution: "@sentry/nextjs@npm:7.20.0" - dependencies: - "@rollup/plugin-sucrase": 4.0.4 - "@rollup/plugin-virtual": 3.0.0 - "@sentry/core": 7.20.0 - "@sentry/integrations": 7.20.0 - "@sentry/node": 7.20.0 - "@sentry/react": 7.20.0 - "@sentry/tracing": 7.20.0 - "@sentry/types": 7.20.0 - "@sentry/utils": 7.20.0 - "@sentry/webpack-plugin": 1.20.0 - chalk: 3.0.0 - rollup: 2.78.0 - tslib: ^1.9.3 - peerDependencies: - next: ^10.0.8 || ^11.0 || ^12.0 || ^13.0 - react: 15.x || 16.x || 17.x || 18.x - webpack: ">= 4.0.0" - peerDependenciesMeta: - webpack: - optional: true - checksum: e80ba8f7412de4e8c14bf7b72909ad585194cd62170cabf4f0dd325919d926df116732f43b69453a7d82bd0df717b7c5ea4bcbbdebc82cde8ebb690cee118176 - languageName: node - linkType: hard - -"@sentry/node@npm:7.20.0": - version: 7.20.0 - resolution: "@sentry/node@npm:7.20.0" - dependencies: - "@sentry/core": 7.20.0 - "@sentry/types": 7.20.0 - "@sentry/utils": 7.20.0 - cookie: ^0.4.1 - https-proxy-agent: ^5.0.0 - lru_map: ^0.3.3 - tslib: ^1.9.3 - checksum: b88709bb3e432ec987a1745c4cf567cc89dce009db2bec192743f9d4493cceab5c7d4f09b9133e359309fee37d29a70823467cfeaf21602d5dc7b01999e2a662 - languageName: node - linkType: hard - -"@sentry/react@npm:7.20.0": - version: 7.20.0 - resolution: "@sentry/react@npm:7.20.0" - dependencies: - "@sentry/browser": 7.20.0 - "@sentry/types": 7.20.0 - "@sentry/utils": 7.20.0 - hoist-non-react-statics: ^3.3.2 - tslib: ^1.9.3 - peerDependencies: - react: 15.x || 16.x || 17.x || 18.x - checksum: bb1506e4e7c3848dbe57b8520cd0bdfce6d97e137035a7dff5d4c6f8a318324fbe874aae3b0d11d15d42c60fc8f8791b65ae72a242e163445a026f2880812d4c - languageName: node - linkType: hard - -"@sentry/tracing@npm:7.20.0": - version: 7.20.0 - resolution: "@sentry/tracing@npm:7.20.0" - dependencies: - "@sentry/core": 7.20.0 - "@sentry/types": 7.20.0 - "@sentry/utils": 7.20.0 - tslib: ^1.9.3 - checksum: 12a13c374b113081faffedf772fee36e4a0d5f9f06c0d11023d18bb836002d6394532751e4254b43eb9c6b44e69894533be46a8180fa734feb711f82af485e30 - languageName: node - linkType: hard - -"@sentry/types@npm:7.20.0": - version: 7.20.0 - resolution: "@sentry/types@npm:7.20.0" - checksum: eb012cb9cd83b2747ffb256e9d1f783c5508b54f78e45a2714090bd6d44e472b5f8655c4614e9cf4da042b0ec277675cf9dd2ab7d864e04e58d1b67c43289ff9 - languageName: node - linkType: hard - -"@sentry/utils@npm:7.20.0": - version: 7.20.0 - resolution: "@sentry/utils@npm:7.20.0" - dependencies: - "@sentry/types": 7.20.0 - tslib: ^1.9.3 - checksum: 510753d5afce22a521f5780ab87767ed1496eb24bad6adda14848abef69dac8aa3d3168d8bc861ddf7d7af4f7476b70e1d84405991ec5b000008743d63ad3820 - languageName: node - linkType: hard - -"@sentry/webpack-plugin@npm:1.20.0": - version: 1.20.0 - resolution: "@sentry/webpack-plugin@npm:1.20.0" - dependencies: - "@sentry/cli": ^1.74.6 - webpack-sources: ^2.0.0 || ^3.0.0 - checksum: d582026c3686f287ddc23de4e64c6f03afc2a73a84ec5a8fd3eded56a45683094bf132f4c624a35386fff872eb518771109d5c0b91a2cf79da0aff035c5bb05b - languageName: node - linkType: hard - "@shuding/opentype.js@npm:1.4.0-beta.0": version: 1.4.0-beta.0 resolution: "@shuding/opentype.js@npm:1.4.0-beta.0" @@ -10037,29 +9249,6 @@ __metadata: languageName: node linkType: hard -"@sideway/address@npm:^4.1.3": - version: 4.1.4 - resolution: "@sideway/address@npm:4.1.4" - dependencies: - "@hapi/hoek": ^9.0.0 - checksum: b9fca2a93ac2c975ba12e0a6d97853832fb1f4fb02393015e012b47fa916a75ca95102d77214b2a29a2784740df2407951af8c5dde054824c65577fd293c4cdb - languageName: node - linkType: hard - -"@sideway/formula@npm:^3.0.1": - version: 3.0.1 - resolution: "@sideway/formula@npm:3.0.1" - checksum: e4beeebc9dbe2ff4ef0def15cec0165e00d1612e3d7cea0bc9ce5175c3263fc2c818b679bd558957f49400ee7be9d4e5ac90487e1625b4932e15c4aa7919c57a - languageName: node - linkType: hard - -"@sideway/pinpoint@npm:^2.0.0": - version: 2.0.0 - resolution: "@sideway/pinpoint@npm:2.0.0" - checksum: 0f4491e5897fcf5bf02c46f5c359c56a314e90ba243f42f0c100437935daa2488f20482f0f77186bd6bf43345095a95d8143ecf8b1f4d876a7bc0806aba9c3d2 - languageName: node - linkType: hard - "@sinclair/typebox@npm:^0.24.1": version: 0.24.19 resolution: "@sinclair/typebox@npm:0.24.19" @@ -10151,27 +9340,13 @@ __metadata: languageName: node linkType: hard -"@stablelib/base64@npm:^1.0.0, @stablelib/base64@npm:^1.0.1": +"@stablelib/base64@npm:^1.0.0": version: 1.0.1 resolution: "@stablelib/base64@npm:1.0.1" checksum: 3ef4466d1d6889ac3fc67407bc21aa079953981c322eeca3b29f426d05506c63011faab1bfc042d7406e0677a94de6c9d2db2ce079afdd1eccae90031bfb5859 languageName: node linkType: hard -"@stablelib/hex@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/hex@npm:1.0.1" - checksum: 557f1c5d6b42963deee7627d4be1ae3542607851c5561e9419c42682d09562ebd3a06e2d92e088c52213a71ed121ec38221abfc5acd9e65707a77ecee3c96915 - languageName: node - linkType: hard - -"@stablelib/utf8@npm:^1.0.1": - version: 1.0.1 - resolution: "@stablelib/utf8@npm:1.0.1" - checksum: 098d9446f38a641a8ee265a7fc3467fefd561fc46ca65e1216c1df7a9b4d004e616347ce79f4b83d62e944f0f91d6be4af029ad0b027a20c3271951921ebfac5 - languageName: node - linkType: hard - "@storybook/addon-actions@npm:6.5.13, @storybook/addon-actions@npm:^6.5.13": version: 6.5.13 resolution: "@storybook/addon-actions@npm:6.5.13" @@ -12170,25 +11345,6 @@ __metadata: languageName: node linkType: hard -"@typeform/embed-react@npm:^1.2.4": - version: 1.21.0 - resolution: "@typeform/embed-react@npm:1.21.0" - dependencies: - "@typeform/embed": 1.38.0 - fast-deep-equal: ^3.1.3 - peerDependencies: - react: ">=16.8.0" - checksum: 1d91cb797dfe7b27e08798f7a571f34724a8f56bf9c89a8ed2a454820efce2de4db44fd4a18f446573784c28f79478f269c1719500e1b332e7ea34ea77ffa185 - languageName: node - linkType: hard - -"@typeform/embed@npm:1.38.0": - version: 1.38.0 - resolution: "@typeform/embed@npm:1.38.0" - checksum: 41115134e5cee28f5e031181b4525c7885d23707699cf183921110262717c7544bfd101428267410b812914c235687783e373ce98e37bdc447d72f8177663597 - languageName: node - linkType: hard - "@types/accept-language-parser@npm:1.5.2": version: 1.5.2 resolution: "@types/accept-language-parser@npm:1.5.2" @@ -12401,13 +11557,6 @@ __metadata: languageName: node linkType: hard -"@types/debounce@npm:^1.2.1": - version: 1.2.1 - resolution: "@types/debounce@npm:1.2.1" - checksum: bea6d414acefbee50adfe87cee10f8a855d033e4778567ab03bdc3cb2648b6bf9237ca53f4ee76fe4be75f77f86d4688411499626fe409bc870f53631d24231f - languageName: node - linkType: hard - "@types/debug@npm:4.1.7, @types/debug@npm:^4.0.0": version: 4.1.7 resolution: "@types/debug@npm:4.1.7" @@ -12567,13 +11716,6 @@ __metadata: languageName: node linkType: hard -"@types/gtag.js@npm:^0.0.10": - version: 0.0.10 - resolution: "@types/gtag.js@npm:0.0.10" - checksum: 5c18ffdc64418887763ec1a564e73c9fbf222ff3eece1fbc35a182fdd884e7884bb7708f67e6e4939f157bb9f2cb7a4aff42be7834527e35c5aac4f98783164c - languageName: node - linkType: hard - "@types/hast@npm:^2.0.0": version: 2.3.4 resolution: "@types/hast@npm:2.3.4" @@ -12697,7 +11839,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.6, @types/json-schema@npm:^7.0.7, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.7, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.11 resolution: "@types/json-schema@npm:7.0.11" checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d @@ -12902,7 +12044,7 @@ __metadata: languageName: node linkType: hard -"@types/parse5@npm:^6.0.0, @types/parse5@npm:^6.0.3": +"@types/parse5@npm:^6.0.3": version: 6.0.3 resolution: "@types/parse5@npm:6.0.3" checksum: ddb59ee4144af5dfcc508a8dcf32f37879d11e12559561e65788756b95b33e6f03ea027d88e1f5408f9b7bfb656bf630ace31a2169edf44151daaf8dd58df1b7 @@ -12980,13 +12122,6 @@ __metadata: languageName: node linkType: hard -"@types/react-gtm-module@npm:^2.0.1": - version: 2.0.1 - resolution: "@types/react-gtm-module@npm:2.0.1" - checksum: cd57eece80d80453e79b16c977e13d51dc22c19af69a16ac6ea1eda01ab471f4dbe46ce80ce04ef13a0ecd0082372addec4c2e394978d1ce7fe86dbda4dfb922 - languageName: node - linkType: hard - "@types/react-phone-number-input@npm:^3.0.14": version: 3.0.14 resolution: "@types/react-phone-number-input@npm:3.0.14" @@ -13527,15 +12662,6 @@ __metadata: languageName: node linkType: hard -"@vercel/analytics@npm:^0.1.6": - version: 0.1.11 - resolution: "@vercel/analytics@npm:0.1.11" - peerDependencies: - react: ^16.8||^17||^18 - checksum: 05b8180ac6e23ebe7c09d74c43f8ee78c408cd0b6546e676389cbf4fba44dfeeae3648c9b52e2421be64fe3aeee8b026e6ea4bdfc0589fb5780670f2b090a167 - languageName: node - linkType: hard - "@vercel/edge-config@npm:^0.1.1": version: 0.1.1 resolution: "@vercel/edge-config@npm:0.1.1" @@ -14340,7 +13466,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:^1.3.7, accepts@npm:~1.3.5, accepts@npm:~1.3.8": +"accepts@npm:~1.3.5, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -14798,7 +13924,7 @@ __metadata: languageName: node linkType: hard -"aproba@npm:^1.0.3, aproba@npm:^1.1.1": +"aproba@npm:^1.1.1": version: 1.2.0 resolution: "aproba@npm:1.2.0" checksum: 0fca141966559d195072ed047658b6e6c4fe92428c385dd38e288eacfc55807e7b4989322f030faff32c0f46bb0bc10f1e0ac32ec22d25315a1e5bbc0ebb76dc @@ -14841,16 +13967,6 @@ __metadata: languageName: node linkType: hard -"are-we-there-yet@npm:~1.1.2": - version: 1.1.7 - resolution: "are-we-there-yet@npm:1.1.7" - dependencies: - delegates: ^1.0.0 - readable-stream: ^2.0.6 - checksum: 70d251719c969b2745bfe5ddf3ebaefa846a636e90a6d5212573676af5d6670e15457761d4725731e19cbebdce42c4ab0cbedf23ab047f2a08274985aa10a3c7 - languageName: node - linkType: hard - "arg@npm:1.0.0": version: 1.0.0 resolution: "arg@npm:1.0.0" @@ -14972,13 +14088,6 @@ __metadata: languageName: node linkType: hard -"array-flatten@npm:^3.0.0": - version: 3.0.0 - resolution: "array-flatten@npm:3.0.0" - checksum: ad00c51ca70cf837501fb6da823ba39bc6a86b43d0b76d840daa02fe0f8e68e94ad5bc2d0d038053118b879aaca8ea6168c32c7387a2fa5b118ad28db4f1f863 - languageName: node - linkType: hard - "array-includes@npm:^3.0.3, array-includes@npm:^3.1.5": version: 3.1.5 resolution: "array-includes@npm:3.1.5" @@ -15750,7 +14859,7 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.0.2, base64-js@npm:^1.1.2, base64-js@npm:^1.3.0, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": +"base64-js@npm:^1.0.2, base64-js@npm:^1.3.0, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 @@ -16117,15 +15226,6 @@ __metadata: languageName: node linkType: hard -"brotli@npm:^1.3.2": - version: 1.3.3 - resolution: "brotli@npm:1.3.3" - dependencies: - base64-js: ^1.1.2 - checksum: 2c97329f4ccb8e4332cedd2f63b85c2e15ffb305b1cbf046df86201434caf93cb7992ca73c0f7053b6a1417f595069ec7783c26e01510cefc10035a0f466e594 - languageName: node - linkType: hard - "browser-assert@npm:^1.2.1": version: 1.2.1 resolution: "browser-assert@npm:1.2.1" @@ -16853,16 +15953,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:3.0.0, chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" - dependencies: - ansi-styles: ^4.1.0 - supports-color: ^7.1.0 - checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 - languageName: node - linkType: hard - "chalk@npm:4.1.1": version: 4.1.1 resolution: "chalk@npm:4.1.1" @@ -16907,6 +15997,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:^3.0.0": + version: 3.0.0 + resolution: "chalk@npm:3.0.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 + languageName: node + linkType: hard + "change-case@npm:^2.3.0": version: 2.3.1 resolution: "change-case@npm:2.3.1" @@ -17008,13 +16108,6 @@ __metadata: languageName: node linkType: hard -"chart.js@npm:^3.7.1": - version: 3.9.1 - resolution: "chart.js@npm:3.9.1" - checksum: 9ab0c0ac01215af0b3f020f2e313030fd6e347b48ed17d5484ee9c4e8ead45e78ae71bea16c397621c386b409ce0b14bf17f9f6c2492cd15b56c0f433efdfff6 - languageName: node - linkType: hard - "check-more-types@npm:2.24.0": version: 2.24.0 resolution: "check-more-types@npm:2.24.0" @@ -17208,16 +16301,6 @@ __metadata: languageName: node linkType: hard -"cleye@npm:1.2.1": - version: 1.2.1 - resolution: "cleye@npm:1.2.1" - dependencies: - terminal-columns: ^1.4.1 - type-flag: ^2.1.0 - checksum: 80ccfe7aba18d61bcf30248a7fd55848df50c1eb4215bad8b661716335ae1bca504e649e7b0204976c1d1c104cab0e8d4141d9e9b4333ec3696de11c9ed4a3b7 - languageName: node - linkType: hard - "cli-boxes@npm:^2.2.0, cli-boxes@npm:^2.2.1": version: 2.2.1 resolution: "cli-boxes@npm:2.2.1" @@ -17297,7 +16380,7 @@ __metadata: languageName: node linkType: hard -"client-only@npm:0.0.1, client-only@npm:^0.0.1": +"client-only@npm:0.0.1": version: 0.0.1 resolution: "client-only@npm:0.0.1" checksum: 0c16bf660dadb90610553c1d8946a7fdfb81d624adea073b8440b7d795d5b5b08beb3c950c6a2cf16279365a3265158a236876d92bce16423c485c322d7dfaf8 @@ -17436,15 +16519,6 @@ __metadata: languageName: node linkType: hard -"cobe@npm:^0.4.1": - version: 0.4.2 - resolution: "cobe@npm:0.4.2" - dependencies: - phenomenon: ^1.6.0 - checksum: 4c11dd8cf3c6614a2ff2f6eacca5283278c6db06c2e441011aa90f58c66d045e66ef98a5e4b9d0282d58ee22f5b87d965538aa4c6064ed97f436f3e4cd9ee3ed - languageName: node - linkType: hard - "code-block-writer@npm:^11.0.0": version: 11.0.0 resolution: "code-block-writer@npm:11.0.0" @@ -17463,13 +16537,6 @@ __metadata: languageName: node linkType: hard -"code-point-at@npm:^1.0.0": - version: 1.1.0 - resolution: "code-point-at@npm:1.1.0" - checksum: 17d5666611f9b16d64fdf48176d9b7fb1c7d1c1607a189f7e600040a11a6616982876af148230336adb7d8fe728a559f743a4e29db3747e3b1a32fa7f4529681 - languageName: node - linkType: hard - "coffeescript@npm:^1.10.0": version: 1.12.7 resolution: "coffeescript@npm:1.12.7" @@ -17589,13 +16656,6 @@ __metadata: languageName: node linkType: hard -"commander@npm:6.2.0": - version: 6.2.0 - resolution: "commander@npm:6.2.0" - checksum: 59baef90f07ba8ae941e9d41a0a15be721d69e948ff833c218d936ffbbe2141580ce1ae2b1103c41436c30eefd1eb7bc3285de8936cd283fb78409f54a93f45a - languageName: node - linkType: hard - "commander@npm:9.1.0": version: 9.1.0 resolution: "commander@npm:9.1.0" @@ -17603,7 +16663,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.7.1, commander@npm:^2.8.1, commander@npm:^2.9.0": +"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.8.1, commander@npm:^2.9.0": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e @@ -17740,26 +16800,6 @@ __metadata: languageName: node linkType: hard -"concurrently@npm:^7.6.0": - version: 7.6.0 - resolution: "concurrently@npm:7.6.0" - dependencies: - chalk: ^4.1.0 - date-fns: ^2.29.1 - lodash: ^4.17.21 - rxjs: ^7.0.0 - shell-quote: ^1.7.3 - spawn-command: ^0.0.2-1 - supports-color: ^8.1.0 - tree-kill: ^1.2.2 - yargs: ^17.3.1 - bin: - conc: dist/bin/concurrently.js - concurrently: dist/bin/concurrently.js - checksum: f705c9a7960f1b16559ca64958043faeeef6385c0bf30a03d1375e15ab2d96dba4f8166f1bbbb1c85e8da35ca0ce3c353875d71dff2aa132b2357bb533b3332e - languageName: node - linkType: hard - "console-browserify@npm:^1.1.0": version: 1.2.0 resolution: "console-browserify@npm:1.2.0" @@ -17767,7 +16807,7 @@ __metadata: languageName: node linkType: hard -"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0, console-control-strings@npm:~1.1.0": +"console-control-strings@npm:^1.0.0, console-control-strings@npm:^1.1.0": version: 1.1.0 resolution: "console-control-strings@npm:1.1.0" checksum: 8755d76787f94e6cf79ce4666f0c5519906d7f5b02d4b884cf41e11dcd759ed69c57da0670afd9236d229a46e0f9cf519db0cd829c6dca820bb5a5c3def584ed @@ -17791,7 +16831,7 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.4, content-disposition@npm:^0.5.2, content-disposition@npm:^0.5.3": +"content-disposition@npm:0.5.4, content-disposition@npm:^0.5.2": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" dependencies: @@ -17841,7 +16881,7 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.4.2, cookie@npm:^0.4.1, cookie@npm:^0.4.2": +"cookie@npm:0.4.2, cookie@npm:^0.4.2": version: 0.4.2 resolution: "cookie@npm:0.4.2" checksum: a00833c998bedf8e787b4c342defe5fa419abd96b32f4464f718b91022586b8f1bafbddd499288e75c037642493c83083da426c6a9080d309e3bd90fd11baa9b @@ -18116,18 +17156,6 @@ __metadata: languageName: node linkType: hard -"cross-env@npm:^7.0.3": - version: 7.0.3 - resolution: "cross-env@npm:7.0.3" - dependencies: - cross-spawn: ^7.0.1 - bin: - cross-env: src/bin/cross-env.js - cross-env-shell: src/bin/cross-env-shell.js - checksum: 26f2f3ea2ab32617f57effb70d329c2070d2f5630adc800985d8b30b56e8bf7f5f439dd3a0358b79cee6f930afc23cf8e23515f17ccfb30092c6b62c6b630a79 - languageName: node - linkType: hard - "cross-fetch@npm:3.1.5, cross-fetch@npm:^3.1.4, cross-fetch@npm:^3.1.5": version: 3.1.5 resolution: "cross-fetch@npm:3.1.5" @@ -18137,7 +17165,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -18538,48 +17566,13 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:^2.28.0, date-fns@npm:^2.29.1, date-fns@npm:^2.29.3": +"date-fns@npm:^2.28.0, date-fns@npm:^2.29.3": version: 2.29.3 resolution: "date-fns@npm:2.29.3" checksum: e01cf5b62af04e05dfff921bb9c9933310ed0e1ae9a81eb8653452e64dc841acf7f6e01e1a5ae5644d0337e9a7f936175fd2cb6819dc122fdd9c5e86c56be484 languageName: node linkType: hard -"datocms-listen@npm:^0.1.9": - version: 0.1.14 - resolution: "datocms-listen@npm:0.1.14" - checksum: 220309b8c35179160c2992b4f266cba10093984c51c16f459cc404962c8f5d859d596da42d70e3193190c227e31ac7406f2e2944830a35673be2757f895bfa93 - languageName: node - linkType: hard - -"datocms-structured-text-generic-html-renderer@npm:^2.0.1, datocms-structured-text-generic-html-renderer@npm:^2.0.4": - version: 2.0.4 - resolution: "datocms-structured-text-generic-html-renderer@npm:2.0.4" - dependencies: - datocms-structured-text-utils: ^2.0.4 - checksum: 58831e7bbcf8b8a18eb79af482898ba59b22ca18a52fafd9e855dce91933c26d0ae5ba53f002b1f34f4ebc106eb679232f3d00c560a4921b648a1787546f32b2 - languageName: node - linkType: hard - -"datocms-structured-text-to-plain-text@npm:^2.0.4": - version: 2.0.4 - resolution: "datocms-structured-text-to-plain-text@npm:2.0.4" - dependencies: - datocms-structured-text-generic-html-renderer: ^2.0.4 - datocms-structured-text-utils: ^2.0.4 - checksum: 24b36817849e6f8959bcdb3082f25487584d0f376765c0f1f94f3b549c10502220ea1c4936e6b323cc68d84da75488ce94d68528d9acecb835f3e5bcfb76a84a - languageName: node - linkType: hard - -"datocms-structured-text-utils@npm:^2.0.1, datocms-structured-text-utils@npm:^2.0.4": - version: 2.0.4 - resolution: "datocms-structured-text-utils@npm:2.0.4" - dependencies: - array-flatten: ^3.0.0 - checksum: 9e10d4faae0c47eebeee028cb0e8c459ecea6fb3dc4950ed0ab310d9b7f18d8ee014071142a42098b20c77264b60a2dd928e9a6462ae4ffea50a70d867f82f34 - languageName: node - linkType: hard - "dayjs-business-days2@npm:1.1.0": version: 1.1.0 resolution: "dayjs-business-days2@npm:1.1.0" @@ -18603,13 +17596,6 @@ __metadata: languageName: node linkType: hard -"debounce@npm:^1.2.1": - version: 1.2.1 - resolution: "debounce@npm:1.2.1" - checksum: 682a89506d9e54fb109526f4da255c5546102fbb8e3ae75eef3b04effaf5d4853756aee97475cd4650641869794e44f410eeb20ace2b18ea592287ab2038519e - languageName: node - linkType: hard - "debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -18935,7 +17921,7 @@ __metadata: languageName: node linkType: hard -"depd@npm:^1.1.0, depd@npm:~1.1.2": +"depd@npm:~1.1.2": version: 1.1.2 resolution: "depd@npm:1.1.2" checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 @@ -18949,7 +17935,7 @@ __metadata: languageName: node linkType: hard -"dequal@npm:^2.0.2, dequal@npm:^2.0.3": +"dequal@npm:^2.0.3": version: 2.0.3 resolution: "dequal@npm:2.0.3" checksum: 8679b850e1a3d0ebbc46ee780d5df7b478c23f335887464023a631d1b9af051ad4a6595a44220f9ff8ff95a8ddccf019b5ad778a976fd7bbf77383d36f412f90 @@ -19123,15 +18109,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:3.0.0, doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: ^2.0.2 - checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce - languageName: node - linkType: hard - "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -19141,6 +18118,15 @@ __metadata: languageName: node linkType: hard +"doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: ^2.0.2 + checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce + languageName: node + linkType: hard + "dom-accessibility-api@npm:^0.5.9": version: 0.5.14 resolution: "dom-accessibility-api@npm:0.5.14" @@ -19361,13 +18347,6 @@ __metadata: languageName: node linkType: hard -"dotenv@npm:^10.0.0": - version: 10.0.0 - resolution: "dotenv@npm:10.0.0" - checksum: f412c5fe8c24fbe313d302d2500e247ba8a1946492db405a4de4d30dd0eb186a88a43f13c958c5a7de303938949c4231c56994f97d05c4bc1f22478d631b4005 - languageName: node - linkType: hard - "dotenv@npm:^16.0.0, dotenv@npm:^16.0.1": version: 16.0.1 resolution: "dotenv@npm:16.0.1" @@ -21686,13 +20665,6 @@ __metadata: languageName: node linkType: hard -"fathom-client@npm:^3.5.0": - version: 3.5.0 - resolution: "fathom-client@npm:3.5.0" - checksum: 16299bd50dc6bcc716a0d6c81fdad65272ff4f08d68695b64b00e19a04de14771c96ddc1205ce7c4220eddd0d3cf70c65ee9c8fb32b8b776ef155faf61e44479 - languageName: node - linkType: hard - "fault@npm:^1.0.0": version: 1.0.4 resolution: "fault@npm:1.0.4" @@ -22276,7 +21248,7 @@ __metadata: languageName: node linkType: hard -"fresh@npm:0.5.2, fresh@npm:^0.5.2": +"fresh@npm:0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 @@ -22329,17 +21301,6 @@ __metadata: languageName: node linkType: hard -"fs-extra@npm:^8.0.1": - version: 8.1.0 - resolution: "fs-extra@npm:8.1.0" - dependencies: - graceful-fs: ^4.2.0 - jsonfile: ^4.0.0 - universalify: ^0.1.0 - checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 - languageName: node - linkType: hard - "fs-extra@npm:^9.0.0, fs-extra@npm:^9.0.1": version: 9.1.0 resolution: "fs-extra@npm:9.1.0" @@ -22528,22 +21489,6 @@ __metadata: languageName: node linkType: hard -"gauge@npm:~2.7.3": - version: 2.7.4 - resolution: "gauge@npm:2.7.4" - dependencies: - aproba: ^1.0.3 - console-control-strings: ^1.0.0 - has-unicode: ^2.0.0 - object-assign: ^4.1.0 - signal-exit: ^3.0.0 - string-width: ^1.0.1 - strip-ansi: ^3.0.1 - wide-align: ^1.1.0 - checksum: a89b53cee65579b46832e050b5f3a79a832cc422c190de79c6b8e2e15296ab92faddde6ddf2d376875cbba2b043efa99b9e1ed8124e7365f61b04e3cee9d40ee - languageName: node - linkType: hard - "gaxios@npm:^4.0.0": version: 4.3.2 resolution: "gaxios@npm:4.3.2" @@ -22741,13 +21686,6 @@ __metadata: languageName: node linkType: hard -"github-buttons@npm:^2.22.0": - version: 2.27.0 - resolution: "github-buttons@npm:2.27.0" - checksum: 1954e04fc7e65a5c14b9c0726b486015deee648c9de62f7f0d4267bbd548090f57137d33e1755490736b10578c4fc7bf149fe64c296d7634a1bfc3707e25e96b - languageName: node - linkType: hard - "github-slugger@npm:^1.0.0, github-slugger@npm:^1.3.0": version: 1.4.0 resolution: "github-slugger@npm:1.4.0" @@ -22988,19 +21926,6 @@ __metadata: languageName: node linkType: hard -"globby@npm:^13.1.3": - version: 13.1.4 - resolution: "globby@npm:13.1.4" - dependencies: - dir-glob: ^3.0.1 - fast-glob: ^3.2.11 - ignore: ^5.2.0 - merge2: ^1.4.1 - slash: ^4.0.0 - checksum: e8bc13879972082d590cd1b0e27080d90d2e12fff7eeb2cee9329c29115ace14cc5b9f899e3d6beb136ba826307a727016658919a6f383e1511d698acee81741 - languageName: node - linkType: hard - "globby@npm:^9.2.0": version: 9.2.0 resolution: "globby@npm:9.2.0" @@ -23203,13 +22128,6 @@ __metadata: languageName: node linkType: hard -"gsap@npm:^3.11.0": - version: 3.11.5 - resolution: "gsap@npm:3.11.5" - checksum: 0d62c9405ed9703f8c65e6190b648d9691fa84bd03bcde0d286cd29d80c5865c22aa57a128b33299c0c15d41473e83f13be1645700325f3821dd912a3022350d - languageName: node - linkType: hard - "gtoken@npm:^5.0.4": version: 5.3.2 resolution: "gtoken@npm:5.3.2" @@ -23366,7 +22284,7 @@ __metadata: languageName: node linkType: hard -"has-unicode@npm:^2.0.0, has-unicode@npm:^2.0.1": +"has-unicode@npm:^2.0.1": version: 2.0.1 resolution: "has-unicode@npm:2.0.1" checksum: 1eab07a7436512db0be40a710b29b5dc21fa04880b7f63c9980b706683127e3c1b57cb80ea96d47991bdae2dfe479604f6a1ba410106ee1046a41d1bd0814400 @@ -23471,21 +22389,6 @@ __metadata: languageName: node linkType: hard -"hast-util-from-parse5@npm:^7.0.0": - version: 7.1.2 - resolution: "hast-util-from-parse5@npm:7.1.2" - dependencies: - "@types/hast": ^2.0.0 - "@types/unist": ^2.0.0 - hastscript: ^7.0.0 - property-information: ^6.0.0 - vfile: ^5.0.0 - vfile-location: ^4.0.0 - web-namespaces: ^2.0.0 - checksum: 7b4ed5b508b1352127c6719f7b0c0880190cf9859fe54ccaf7c9228ecf623d36cef3097910b3874d2fe1aac6bf4cf45d3cc2303daac3135a05e9ade6534ddddb - languageName: node - linkType: hard - "hast-util-parse-selector@npm:^2.0.0": version: 2.2.5 resolution: "hast-util-parse-selector@npm:2.2.5" @@ -23493,15 +22396,6 @@ __metadata: languageName: node linkType: hard -"hast-util-parse-selector@npm:^3.0.0": - version: 3.1.1 - resolution: "hast-util-parse-selector@npm:3.1.1" - dependencies: - "@types/hast": ^2.0.0 - checksum: 511d373465f60dd65e924f88bf0954085f4fb6e3a2b062a4b5ac43b93cbfd36a8dce6234b5d1e3e63499d936375687e83fc5da55628b22bd6b581b5ee167d1c4 - languageName: node - linkType: hard - "hast-util-raw@npm:6.0.1": version: 6.0.1 resolution: "hast-util-raw@npm:6.0.1" @@ -23520,34 +22414,6 @@ __metadata: languageName: node linkType: hard -"hast-util-raw@npm:^7.0.0": - version: 7.2.3 - resolution: "hast-util-raw@npm:7.2.3" - dependencies: - "@types/hast": ^2.0.0 - "@types/parse5": ^6.0.0 - hast-util-from-parse5: ^7.0.0 - hast-util-to-parse5: ^7.0.0 - html-void-elements: ^2.0.0 - parse5: ^6.0.0 - unist-util-position: ^4.0.0 - unist-util-visit: ^4.0.0 - vfile: ^5.0.0 - web-namespaces: ^2.0.0 - zwitch: ^2.0.0 - checksum: 21857eea3ffb8fd92d2d9be7793b56d0b2c40db03c4cfa14828855ae41d7c584917aa83efb7157220b2e41e25e95f81f24679ac342c35145e5f1c1d39015f81f - languageName: node - linkType: hard - -"hast-util-sanitize@npm:^4.0.0": - version: 4.1.0 - resolution: "hast-util-sanitize@npm:4.1.0" - dependencies: - "@types/hast": ^2.0.0 - checksum: 4f1786d6556bae6485a657a3e77e7e71b573fd20e4e2d70678e0f445eb8fe3dc6c4441cda6d18b89a79b53e2c03b6232eb6c470ecd478737050724ea09398603 - languageName: node - linkType: hard - "hast-util-to-estree@npm:^2.0.0": version: 2.0.2 resolution: "hast-util-to-estree@npm:2.0.2" @@ -23570,25 +22436,6 @@ __metadata: languageName: node linkType: hard -"hast-util-to-html@npm:^8.0.0": - version: 8.0.4 - resolution: "hast-util-to-html@npm:8.0.4" - dependencies: - "@types/hast": ^2.0.0 - "@types/unist": ^2.0.0 - ccount: ^2.0.0 - comma-separated-tokens: ^2.0.0 - hast-util-raw: ^7.0.0 - hast-util-whitespace: ^2.0.0 - html-void-elements: ^2.0.0 - property-information: ^6.0.0 - space-separated-tokens: ^2.0.0 - stringify-entities: ^4.0.0 - zwitch: ^2.0.4 - checksum: 8f2ae071df2ced5afb4f19f76af8fd3a2f837dc47bcc1c0e0c1578d29dafcd28738f9617505d13c4a2adf13d70e043143e2ad8f130d5554ab4fc11bfa8f74094 - languageName: node - linkType: hard - "hast-util-to-parse5@npm:^6.0.0": version: 6.0.0 resolution: "hast-util-to-parse5@npm:6.0.0" @@ -23602,20 +22449,6 @@ __metadata: languageName: node linkType: hard -"hast-util-to-parse5@npm:^7.0.0": - version: 7.1.0 - resolution: "hast-util-to-parse5@npm:7.1.0" - dependencies: - "@types/hast": ^2.0.0 - comma-separated-tokens: ^2.0.0 - property-information: ^6.0.0 - space-separated-tokens: ^2.0.0 - web-namespaces: ^2.0.0 - zwitch: ^2.0.0 - checksum: 3a7f2175a3db599bbae7e49ba73d3e5e688e5efca7590ff50130ba108ad649f728402815d47db49146f6b94c14c934bf119915da9f6964e38802c122bcc8af6b - languageName: node - linkType: hard - "hast-util-whitespace@npm:^2.0.0": version: 2.0.0 resolution: "hast-util-whitespace@npm:2.0.0" @@ -23636,19 +22469,6 @@ __metadata: languageName: node linkType: hard -"hastscript@npm:^7.0.0": - version: 7.2.0 - resolution: "hastscript@npm:7.2.0" - dependencies: - "@types/hast": ^2.0.0 - comma-separated-tokens: ^2.0.0 - hast-util-parse-selector: ^3.0.0 - property-information: ^6.0.0 - space-separated-tokens: ^2.0.0 - checksum: 928a21576ff7b9a8c945e7940bcbf2d27f770edb4279d4d04b33dc90753e26ca35c1172d626f54afebd377b2afa32331e399feb3eb0f7b91a399dca5927078ae - languageName: node - linkType: hard - "he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" @@ -23795,13 +22615,6 @@ __metadata: languageName: node linkType: hard -"html-void-elements@npm:^2.0.0": - version: 2.0.1 - resolution: "html-void-elements@npm:2.0.1" - checksum: 06d41f13b9d5d6e0f39861c4bec9a9196fa4906d56cd5cf6cf54ad2e52a85bf960cca2bf9600026bde16c8331db171bedba5e5a35e2e43630c8f1d497b2fb658 - languageName: node - linkType: hard - "html-webpack-plugin@npm:^4.0.0": version: 4.5.2 resolution: "html-webpack-plugin@npm:4.5.2" @@ -24197,20 +23010,6 @@ __metadata: languageName: node linkType: hard -"immediate@npm:~3.0.5": - version: 3.0.6 - resolution: "immediate@npm:3.0.6" - checksum: f9b3486477555997657f70318cc8d3416159f208bec4cca3ff3442fd266bc23f50f0c9bd8547e1371a6b5e82b821ec9a7044a4f7b944798b25aa3cc6d5e63e62 - languageName: node - linkType: hard - -"immer@npm:^9.0.15": - version: 9.0.21 - resolution: "immer@npm:9.0.21" - checksum: 70e3c274165995352f6936695f0ef4723c52c92c92dd0e9afdfe008175af39fa28e76aafb3a2ca9d57d1fb8f796efc4dd1e1cc36f18d33fa5b74f3dfb0375432 - languageName: node - linkType: hard - "immutable@npm:^3.8.2, immutable@npm:^3.x.x": version: 3.8.2 resolution: "immutable@npm:3.8.2" @@ -24794,15 +23593,6 @@ __metadata: languageName: node linkType: hard -"is-fullwidth-code-point@npm:^1.0.0": - version: 1.0.0 - resolution: "is-fullwidth-code-point@npm:1.0.0" - dependencies: - number-is-nan: ^1.0.0 - checksum: 4d46a7465a66a8aebcc5340d3b63a56602133874af576a9ca42c6f0f4bd787a743605771c5f246db77da96605fefeffb65fc1dbe862dcc7328f4b4d03edf5a57 - languageName: node - linkType: hard - "is-fullwidth-code-point@npm:^2.0.0": version: 2.0.0 resolution: "is-fullwidth-code-point@npm:2.0.0" @@ -26042,26 +24832,6 @@ __metadata: languageName: node linkType: hard -"joi@npm:^17.7.0": - version: 17.9.1 - resolution: "joi@npm:17.9.1" - dependencies: - "@hapi/hoek": ^9.0.0 - "@hapi/topo": ^5.0.0 - "@sideway/address": ^4.1.3 - "@sideway/formula": ^3.0.1 - "@sideway/pinpoint": ^2.0.0 - checksum: 055df3841e00d7ed065ef1cc3330cf69097ab2ffec3083d8b1d6edfd2e25504bf2983f5249d6f0459bcad99fe21bb0c9f6f1cc03569713af27cd5eb00ee7bb7d - languageName: node - linkType: hard - -"jose@npm:4.11.1": - version: 4.11.1 - resolution: "jose@npm:4.11.1" - checksum: cd15cba258d0fd20f6168631ce2e94fda8442df80e43c1033c523915cecdf390a1cc8efe0eab0c2d65935ca973d791c668aea80724d2aa9c2879d4e70f3081d7 - languageName: node - linkType: hard - "jose@npm:4.12.0": version: 4.12.0 resolution: "jose@npm:4.12.0" @@ -26438,19 +25208,6 @@ __metadata: languageName: node linkType: hard -"jsonfile@npm:^5.0.0": - version: 5.0.0 - resolution: "jsonfile@npm:5.0.0" - dependencies: - graceful-fs: ^4.1.6 - universalify: ^0.1.2 - dependenciesMeta: - graceful-fs: - optional: true - checksum: e0ecff572dba34153a66e3a3bc5c6cb01a2c1d2cf4a2c19b6728dcfcab39d94be9cca4a0fc86a17ff2c815f2aeb43768ac75545780dbea4009433fdc32aa14d1 - languageName: node - linkType: hard - "jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" @@ -26613,13 +25370,6 @@ __metadata: languageName: node linkType: hard -"keen-slider@npm:^6.8.0": - version: 6.8.5 - resolution: "keen-slider@npm:6.8.5" - checksum: 1ef25cde02636068a0c66de994eb1e5ac1935a1a1f28e5cf4dcbf2c9cf2b802e0e23bdcd97dd9a9ae93de335ccc990379ab21bda75637fe04e86cbb7d799e23a - languageName: node - linkType: hard - "keypress@npm:~0.2.1": version: 0.2.1 resolution: "keypress@npm:0.2.1" @@ -26783,15 +25533,6 @@ __metadata: languageName: node linkType: hard -"lie@npm:3.1.1": - version: 3.1.1 - resolution: "lie@npm:3.1.1" - dependencies: - immediate: ~3.0.5 - checksum: 6da9f2121d2dbd15f1eca44c0c7e211e66a99c7b326ec8312645f3648935bc3a658cf0e9fa7b5f10144d9e2641500b4f55bd32754607c3de945b5f443e50ddd1 - languageName: node - linkType: hard - "lilconfig@npm:2.0.5, lilconfig@npm:^2.0.5": version: 2.0.5 resolution: "lilconfig@npm:2.0.5" @@ -26998,15 +25739,6 @@ __metadata: languageName: node linkType: hard -"localforage@npm:^1.8.1": - version: 1.10.0 - resolution: "localforage@npm:1.10.0" - dependencies: - lie: 3.1.1 - checksum: f2978b434dafff9bcb0d9498de57d97eba165402419939c944412e179cab1854782830b5ec196212560b22712d1dd03918939f59cf1d4fc1d756fca7950086cf - languageName: node - linkType: hard - "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -27143,13 +25875,6 @@ __metadata: languageName: node linkType: hard -"lodash.mergewith@npm:^4.6.2": - version: 4.6.2 - resolution: "lodash.mergewith@npm:4.6.2" - checksum: a6db2a9339752411f21b956908c404ec1e088e783a65c8b29e30ae5b3b6384f82517662d6f425cc97c2070b546cc2c7daaa8d33f78db7b6e9be06cd834abdeb8 - languageName: node - linkType: hard - "lodash.once@npm:^4.0.0, lodash.once@npm:^4.1.1": version: 4.1.1 resolution: "lodash.once@npm:4.1.1" @@ -27386,22 +26111,6 @@ __metadata: languageName: node linkType: hard -"lru_map@npm:^0.3.3": - version: 0.3.3 - resolution: "lru_map@npm:0.3.3" - checksum: ca9dd43c65ed7a4f117c548028101c5b6855e10923ea9d1f635af53ad20c5868ff428c364d454a7b57fe391b89c704982275410c3c5099cca5aeee00d76e169a - languageName: node - linkType: hard - -"lucide-react@npm:^0.125.0": - version: 0.125.0 - resolution: "lucide-react@npm:0.125.0" - peerDependencies: - react: ^16.5.1 || ^17.0.0 || ^18.0.0 - checksum: 6d86330fd4316a42624d537cc07adc3c51c18a699a02ef3abbd221c3140ae5ac5685396e1f5cb20f5f5ba80fa100523a5a6811c22a51bd13bbfdf65546cfffdf - languageName: node - linkType: hard - "lucide-react@npm:^0.130.0": version: 0.130.1 resolution: "lucide-react@npm:0.130.1" @@ -27848,23 +26557,6 @@ __metadata: languageName: node linkType: hard -"mdast-util-to-hast@npm:^11.0.0": - version: 11.3.0 - resolution: "mdast-util-to-hast@npm:11.3.0" - dependencies: - "@types/hast": ^2.0.0 - "@types/mdast": ^3.0.0 - "@types/mdurl": ^1.0.0 - mdast-util-definitions: ^5.0.0 - mdurl: ^1.0.0 - unist-builder: ^3.0.0 - unist-util-generated: ^2.0.0 - unist-util-position: ^4.0.0 - unist-util-visit: ^4.0.0 - checksum: a968d034613aa5cfb44b9c03d8e61a08bb563bfde3a233fb3d83a28857357e2beef56b6767bab2867d3c3796dc5dd796af4d03fb83e3133aeb7f4187b5cc9327 - languageName: node - linkType: hard - "mdast-util-to-hast@npm:^12.1.0": version: 12.1.1 resolution: "mdast-util-to-hast@npm:12.1.1" @@ -28084,7 +26776,7 @@ __metadata: languageName: node linkType: hard -"merge-descriptors@npm:1.0.1, merge-descriptors@npm:^1.0.1": +"merge-descriptors@npm:1.0.1": version: 1.0.1 resolution: "merge-descriptors@npm:1.0.1" checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 @@ -28726,13 +27418,6 @@ __metadata: languageName: node linkType: hard -"minimist@npm:^1.2.7": - version: 1.2.8 - resolution: "minimist@npm:1.2.8" - checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 - languageName: node - linkType: hard - "minipass-collect@npm:^1.0.2": version: 1.0.2 resolution: "minipass-collect@npm:1.0.2" @@ -28936,15 +27621,6 @@ __metadata: languageName: node linkType: hard -"modify-response-middleware@npm:^1.1.0": - version: 1.1.0 - resolution: "modify-response-middleware@npm:1.1.0" - dependencies: - brotli: ^1.3.2 - checksum: eeee5c14ae9492f8b3949b10786af35e7ff362c1f54ef2015ee4db770492b1ba41ec8b5ffd08dee6401346c94bffff663ef93187c3487913cd3a79df10379081 - languageName: node - linkType: hard - "module-alias@npm:^2.2.2": version: 2.2.2 resolution: "module-alias@npm:2.2.2" @@ -29316,17 +27992,6 @@ __metadata: languageName: node linkType: hard -"next-api-middleware@npm:^1.0.1": - version: 1.0.1 - resolution: "next-api-middleware@npm:1.0.1" - dependencies: - debug: ^4.3.2 - peerDependencies: - next: ">=10" - checksum: c370494616edaef7f8a4efa33c35fe18b1b15405c74f3d77f6475efa5b792346fffd87679affb5936c2fc604bfcd4e64a8e679049a8fc432bf8426eada48c9fc - languageName: node - linkType: hard - "next-auth@npm:^4.20.1": version: 4.20.1 resolution: "next-auth@npm:4.20.1" @@ -29405,21 +28070,6 @@ __metadata: languageName: node linkType: hard -"next-swagger-doc@npm:^0.3.4": - version: 0.3.6 - resolution: "next-swagger-doc@npm:0.3.6" - dependencies: - cleye: 1.2.1 - isarray: 2.0.5 - swagger-jsdoc: 6.2.5 - peerDependencies: - next: ">=9" - bin: - next-swagger-doc-cli: dist/cli.js - checksum: b9e11ecda6327e4a881a61f17b96407d9a260a532467b3552eb4bdb874c48889fc437db437395c121c80b33ba3be87cbff00f34c6f103259df78588227c83a2e - languageName: node - linkType: hard - "next-themes@npm:^0.0.8": version: 0.0.8 resolution: "next-themes@npm:0.0.8" @@ -29459,86 +28109,6 @@ __metadata: languageName: node linkType: hard -"next-validations@npm:^0.2.0": - version: 0.2.1 - resolution: "next-validations@npm:0.2.1" - peerDependencies: - next: "*" - checksum: f0af51cd0e07e5ece3353b290f36c36f859436b465071a0765cc0dcea630ecccaaa217cf992e174b9f357a6ca24ea65c85084bb0c4bc2029d4b2ac93c1a66ca2 - languageName: node - linkType: hard - -"next@npm:13.2.4-canary.5": - version: 13.2.4-canary.5 - resolution: "next@npm:13.2.4-canary.5" - dependencies: - "@next/env": 13.2.4-canary.5 - "@next/swc-android-arm-eabi": 13.2.4-canary.5 - "@next/swc-android-arm64": 13.2.4-canary.5 - "@next/swc-darwin-arm64": 13.2.4-canary.5 - "@next/swc-darwin-x64": 13.2.4-canary.5 - "@next/swc-freebsd-x64": 13.2.4-canary.5 - "@next/swc-linux-arm-gnueabihf": 13.2.4-canary.5 - "@next/swc-linux-arm64-gnu": 13.2.4-canary.5 - "@next/swc-linux-arm64-musl": 13.2.4-canary.5 - "@next/swc-linux-x64-gnu": 13.2.4-canary.5 - "@next/swc-linux-x64-musl": 13.2.4-canary.5 - "@next/swc-win32-arm64-msvc": 13.2.4-canary.5 - "@next/swc-win32-ia32-msvc": 13.2.4-canary.5 - "@next/swc-win32-x64-msvc": 13.2.4-canary.5 - "@swc/helpers": 0.4.14 - caniuse-lite: ^1.0.30001406 - postcss: 8.4.14 - styled-jsx: 5.1.1 - peerDependencies: - "@opentelemetry/api": ^1.4.0 - fibers: ">= 3.1.0" - node-sass: ^6.0.0 || ^7.0.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - dependenciesMeta: - "@next/swc-android-arm-eabi": - optional: true - "@next/swc-android-arm64": - optional: true - "@next/swc-darwin-arm64": - optional: true - "@next/swc-darwin-x64": - optional: true - "@next/swc-freebsd-x64": - optional: true - "@next/swc-linux-arm-gnueabihf": - optional: true - "@next/swc-linux-arm64-gnu": - optional: true - "@next/swc-linux-arm64-musl": - optional: true - "@next/swc-linux-x64-gnu": - optional: true - "@next/swc-linux-x64-musl": - optional: true - "@next/swc-win32-arm64-msvc": - optional: true - "@next/swc-win32-ia32-msvc": - optional: true - "@next/swc-win32-x64-msvc": - optional: true - peerDependenciesMeta: - "@opentelemetry/api": - optional: true - fibers: - optional: true - node-sass: - optional: true - sass: - optional: true - bin: - next: dist/bin/next - checksum: 47616f1ebbf0e716ca67313d247d56f646e1f663dcfc99125a0e882ed74a6ebc2c776a7e05438b4e928d38d8dae42933c5b314dfb8e4c0a566edd0e26647335a - languageName: node - linkType: hard - "next@npm:^13.2.1": version: 13.2.3 resolution: "next@npm:13.2.3" @@ -29793,24 +28363,6 @@ __metadata: languageName: node linkType: hard -"node-mocks-http@npm:^1.11.0": - version: 1.12.2 - resolution: "node-mocks-http@npm:1.12.2" - dependencies: - accepts: ^1.3.7 - content-disposition: ^0.5.3 - depd: ^1.1.0 - fresh: ^0.5.2 - merge-descriptors: ^1.0.1 - methods: ^1.1.2 - mime: ^1.3.4 - parseurl: ^1.3.3 - range-parser: ^1.2.0 - type-is: ^1.6.18 - checksum: 39e50b7146bd37fd56a0588ee3df46fd310f76395d52e9b8889545910aca6cc8e8a41de3cdd3e103903d4bbfc556e67624fcbe934c0bd3b0cca6ee1358a0f440 - languageName: node - linkType: hard - "node-releases@npm:^2.0.2": version: 2.0.2 resolution: "node-releases@npm:2.0.2" @@ -29965,18 +28517,6 @@ __metadata: languageName: node linkType: hard -"npmlog@npm:^4.1.2": - version: 4.1.2 - resolution: "npmlog@npm:4.1.2" - dependencies: - are-we-there-yet: ~1.1.2 - console-control-strings: ~1.1.0 - gauge: ~2.7.3 - set-blocking: ~2.0.0 - checksum: edbda9f95ec20957a892de1839afc6fb735054c3accf6fbefe767bac9a639fd5cea2baeac6bd2bcd50a85cb54924d57d9886c81c7fbc2332c2ddd19227504192 - languageName: node - linkType: hard - "npmlog@npm:^5.0.1": version: 5.0.1 resolution: "npmlog@npm:5.0.1" @@ -30017,13 +28557,6 @@ __metadata: languageName: node linkType: hard -"number-is-nan@npm:^1.0.0": - version: 1.0.1 - resolution: "number-is-nan@npm:1.0.1" - checksum: 13656bc9aa771b96cef209ffca31c31a03b507ca6862ba7c3f638a283560620d723d52e626d57892c7fff475f4c36ac07f0600f14544692ff595abff214b9ffb - languageName: node - linkType: hard - "number-to-bn@npm:1.7.0": version: 1.7.0 resolution: "number-to-bn@npm:1.7.0" @@ -30048,13 +28581,6 @@ __metadata: languageName: node linkType: hard -"oauth4webapi@npm:2.0.5": - version: 2.0.5 - resolution: "oauth4webapi@npm:2.0.5" - checksum: 32d0cb7b1cca42d51dfb88075ca2d69fe33172a807e8ea50e317d17cab3bc80588ab8ebcb7eb4600c371a70af4674595b4b341daf6f3a655f1efa1ab715bb6c9 - languageName: node - linkType: hard - "oauth@npm:^0.9.15": version: 0.9.15 resolution: "oauth@npm:0.9.15" @@ -30115,13 +28641,6 @@ __metadata: languageName: node linkType: hard -"object-path@npm:^0.11.8": - version: 0.11.8 - resolution: "object-path@npm:0.11.8" - checksum: 684ccf0fb6b82f067dc81e2763481606692b8485bec03eb2a64e086a44dbea122b2b9ef44423a08e09041348fe4b4b67bd59985598f1652f67df95f0618f5968 - languageName: node - linkType: hard - "object-visit@npm:^1.0.0": version: 1.0.1 resolution: "object-visit@npm:1.0.1" @@ -30913,7 +29432,7 @@ __metadata: languageName: node linkType: hard -"parseurl@npm:^1.3.3, parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": +"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 @@ -31194,13 +29713,6 @@ __metadata: languageName: node linkType: hard -"phenomenon@npm:^1.6.0": - version: 1.6.0 - resolution: "phenomenon@npm:1.6.0" - checksum: e05ca8223a9df42c5cee02c082103ef96a349424fec18a8478d2171060a63095e21bef394529263c64d8082aff43204a0fa1355211fd7ac2a338c2839fffbca3 - languageName: node - linkType: hard - "phin@npm:^2.9.1": version: 2.9.3 resolution: "phin@npm:2.9.3" @@ -31361,26 +29873,6 @@ __metadata: languageName: node linkType: hard -"playwright-core@npm:1.32.3": - version: 1.32.3 - resolution: "playwright-core@npm:1.32.3" - bin: - playwright: cli.js - checksum: 7ea091c41a7d1bb97b445bc541a85b123ffcf167bcc00fb7e13e9079f06c92f59fd27caf9d1c1d7e0054f2b5765d1a16d198833c2be7266cebb9dbb916cd90f4 - languageName: node - linkType: hard - -"playwright@npm:^1.31.2": - version: 1.32.3 - resolution: "playwright@npm:1.32.3" - dependencies: - playwright-core: 1.32.3 - bin: - playwright: cli.js - checksum: 9627771a131ab96a26d702757e89dcf09a228f0038c43a14f982cc59a2eca672cb27c9d92c324ddc2c44457b82d77c30b3562b386601969e0456b52dba5df176 - languageName: node - linkType: hard - "pngjs@npm:^3.0.0, pngjs@npm:^3.3.0, pngjs@npm:^3.3.3": version: 3.4.0 resolution: "pngjs@npm:3.4.0" @@ -31720,17 +30212,6 @@ __metadata: languageName: node linkType: hard -"preact-render-to-string@npm:5.2.3": - version: 5.2.3 - resolution: "preact-render-to-string@npm:5.2.3" - dependencies: - pretty-format: ^3.8.0 - peerDependencies: - preact: ">=10" - checksum: 6e46288d8956adde35b9fe3a21aecd9dea29751b40f0f155dea62f3896f27cb8614d457b32f48d33909d2da81135afcca6c55077520feacd7d15164d1371fb44 - languageName: node - linkType: hard - "preact-render-to-string@npm:^5.1.19": version: 5.2.6 resolution: "preact-render-to-string@npm:5.2.6" @@ -31742,13 +30223,6 @@ __metadata: languageName: node linkType: hard -"preact@npm:10.11.3, preact@npm:^10.6.3": - version: 10.11.3 - resolution: "preact@npm:10.11.3" - checksum: 9387115aa0581e8226309e6456e9856f17dfc0e3d3e63f774de80f3d462a882ba7c60914c05942cb51d51e23e120dcfe904b8d392d46f29ad15802941fe7a367 - languageName: node - linkType: hard - "preact@npm:10.4.1": version: 10.4.1 resolution: "preact@npm:10.4.1" @@ -31763,6 +30237,13 @@ __metadata: languageName: node linkType: hard +"preact@npm:^10.6.3": + version: 10.11.3 + resolution: "preact@npm:10.11.3" + checksum: 9387115aa0581e8226309e6456e9856f17dfc0e3d3e63f774de80f3d462a882ba7c60914c05942cb51d51e23e120dcfe904b8d392d46f29ad15802941fe7a367 + languageName: node + linkType: hard + "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -31948,33 +30429,6 @@ __metadata: languageName: node linkType: hard -"prism-react-renderer@npm:^1.3.5": - version: 1.3.5 - resolution: "prism-react-renderer@npm:1.3.5" - peerDependencies: - react: ">=0.14.9" - checksum: c18806dcbc4c0b4fd6fd15bd06b4f7c0a6da98d93af235c3e970854994eb9b59e23315abb6cfc29e69da26d36709a47e25da85ab27fed81b6812f0a52caf6dfa - languageName: node - linkType: hard - -"prisma-field-encryption@npm:^1.4.0": - version: 1.4.1 - resolution: "prisma-field-encryption@npm:1.4.1" - dependencies: - "@47ng/cloak": ^1.1.0 - "@prisma/generator-helper": ^4.0.0 - debug: ^4.3.4 - immer: ^9.0.15 - object-path: ^0.11.8 - zod: ^3.17.3 - peerDependencies: - "@prisma/client": ^3.8.0 || ^4 - bin: - prisma-field-encryption: dist/generator/main.js - checksum: cf059abc1c39ae9252494aaf6ce2bfa0f415583b8cd11b9d84eeadfbb504e00f61570b0e3158ba4b7d52daf91353ffe92766a717c03b9965c421cc08ed49c303 - languageName: node - linkType: hard - "prisma@npm:^4.11.0": version: 4.11.0 resolution: "prisma@npm:4.11.0" @@ -32022,7 +30476,7 @@ __metadata: languageName: node linkType: hard -"progress@npm:^2.0.0, progress@npm:^2.0.3": +"progress@npm:^2.0.0": version: 2.0.3 resolution: "progress@npm:2.0.3" checksum: f67403fe7b34912148d9252cb7481266a354bd99ce82c835f79070643bb3c6583d10dbcfda4d41e04bbc1d8437e9af0fb1e1f2135727878f5308682a579429b7 @@ -32460,7 +30914,7 @@ __metadata: languageName: node linkType: hard -"range-parser@npm:^1.2.0, range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": +"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 @@ -32569,16 +31023,6 @@ __metadata: languageName: node linkType: hard -"react-chartjs-2@npm:^4.0.1": - version: 4.3.1 - resolution: "react-chartjs-2@npm:4.3.1" - peerDependencies: - chart.js: ^3.5.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - checksum: 574d12cc43b9b4a0f1e04cc692982e16ef7083c03da2a8a9fc2180fe9bcadc793008f81d8f4eec5465925eff84c95d7c523cb74376858b363ae75a83bb3c2a5d - languageName: node - linkType: hard - "react-colorful@npm:^5.6.0": version: 5.6.0 resolution: "react-colorful@npm:5.6.0" @@ -32589,17 +31033,6 @@ __metadata: languageName: node linkType: hard -"react-confetti@npm:^6.0.1": - version: 6.1.0 - resolution: "react-confetti@npm:6.1.0" - dependencies: - tween-functions: ^1.2.0 - peerDependencies: - react: ^16.3.0 || ^17.0.1 || ^18.0.0 - checksum: 24b6975df144d2bf09d8e1c95ddc49e547775f911efaa8d96b49e522659d931539e9d9e48cc0db3a01f3a671be7e3824e6e728db85096f5527db5d1c69ebb153 - languageName: node - linkType: hard - "react-copy-to-clipboard@npm:5.0.4": version: 5.0.4 resolution: "react-copy-to-clipboard@npm:5.0.4" @@ -32633,23 +31066,6 @@ __metadata: languageName: node linkType: hard -"react-datocms@npm:^3.1.0": - version: 3.1.4 - resolution: "react-datocms@npm:3.1.4" - dependencies: - datocms-listen: ^0.1.9 - datocms-structured-text-generic-html-renderer: ^2.0.1 - datocms-structured-text-utils: ^2.0.1 - react-intersection-observer: ^8.33.1 - react-string-replace: ^1.1.0 - universal-base64: ^2.1.0 - use-deep-compare-effect: ^1.6.1 - peerDependencies: - react: ">= 16.12.0" - checksum: 54aba12aef4937175c2011548a8a576c96c8d8a596e84d191826910624c1d596e76a49782689dc236388a10803b02e700ac820cb7500cca7fd147a81f6c544c3 - languageName: node - linkType: hard - "react-debounce-input@npm:=3.2.4": version: 3.2.4 resolution: "react-debounce-input@npm:3.2.4" @@ -32662,18 +31078,6 @@ __metadata: languageName: node linkType: hard -"react-device-detect@npm:^2.2.2": - version: 2.2.3 - resolution: "react-device-detect@npm:2.2.3" - dependencies: - ua-parser-js: ^1.0.33 - peerDependencies: - react: ">= 0.14.0" - react-dom: ">= 0.14.0" - checksum: 42d9b3182b9d2495bf0d7914c9f370da51d8bdb853a3eba2acaf433894ae760386a075ba103185be825b33d42f50d85ef462087f261656d433f4c74dab23861f - languageName: node - linkType: hard - "react-devtools-core@npm:^4.19.1": version: 4.24.6 resolution: "react-devtools-core@npm:4.24.6" @@ -32779,16 +31183,6 @@ __metadata: languageName: node linkType: hard -"react-fast-marquee@npm:^1.3.5": - version: 1.3.5 - resolution: "react-fast-marquee@npm:1.3.5" - peerDependencies: - react: ">= 16.8.0 || 18.0.0" - react-dom: ">= 16.8.0 || 18.0.0" - checksum: 95301d63faa858ac0e8c2ab32e1e864ed49d8b36e96216960af0ac797bc30fe11c7747b9c3bed3728f5371e57a93277a064fd433c6f8e1a24a9a32bbf1d354e8 - languageName: node - linkType: hard - "react-feather@npm:^2.0.10": version: 2.0.10 resolution: "react-feather@npm:2.0.10" @@ -32814,17 +31208,6 @@ __metadata: languageName: node linkType: hard -"react-github-btn@npm:^1.4.0": - version: 1.4.0 - resolution: "react-github-btn@npm:1.4.0" - dependencies: - github-buttons: ^2.22.0 - peerDependencies: - react: ">=16.3.0" - checksum: 33a416ad76ab4cc9238ac5cf5cfcab636bb2127c48fb30805385350fd3a3c2aa0aaeb78f6c726c52a0d3d133ca469be35d4b3d188c8e40c735c7ff458d2c8c3c - languageName: node - linkType: hard - "react-hook-form@npm:^7.43.3": version: 7.43.3 resolution: "react-hook-form@npm:7.43.3" @@ -32918,15 +31301,6 @@ __metadata: languageName: node linkType: hard -"react-intersection-observer@npm:^8.33.1": - version: 8.34.0 - resolution: "react-intersection-observer@npm:8.34.0" - peerDependencies: - react: ^15.0.0 || ^16.0.0 || ^17.0.0|| ^18.0.0 - checksum: 7713fecfd1512c7f5a60f9f0bf15403b8f8bbd4110bcafaeaea6de36a0e0eb60368c3638f99e9c97b75ad8fc787ea48c241dcb5c694f821d7f2976f709082cc5 - languageName: node - linkType: hard - "react-intl@npm:^5.25.1": version: 5.25.1 resolution: "react-intl@npm:5.25.1" @@ -32988,16 +31362,7 @@ __metadata: languageName: node linkType: hard -"react-live-chat-loader@npm:^2.8.1": - version: 2.8.1 - resolution: "react-live-chat-loader@npm:2.8.1" - peerDependencies: - react: ^16.14.0 || ^17.0.0 || ^18.0.0 - checksum: 784648dc5c8e56ad11517433b2685c4e562efde6116d03444d2e8a0f87076860712800551698f82e980939ed3ac305947b78a514187ae2d5a1a0fc0a659c5c22 - languageName: node - linkType: hard - -"react-merge-refs@npm:1.1.0, react-merge-refs@npm:^1.0.0": +"react-merge-refs@npm:^1.0.0": version: 1.1.0 resolution: "react-merge-refs@npm:1.1.0" checksum: 90884352999002d868ab9f1bcfe3222fb0f2178ed629f1da7e98e5a9b02a2c96b4aa72800db92aabd69d2483211b4be57a2088e89a11a0b660e7ada744d4ddf7 @@ -33251,13 +31616,6 @@ __metadata: languageName: node linkType: hard -"react-string-replace@npm:^1.1.0": - version: 1.1.0 - resolution: "react-string-replace@npm:1.1.0" - checksum: 5df67fbdb49cacdc9f4488d4bc3dedef1f85d6156b3626d9b4b6c317ec8cc534494def078ab0b2df7aea8fa3cbcecd8d3f76a161f04bf8b29869daccf33785ec - languageName: node - linkType: hard - "react-style-singleton@npm:^2.1.0": version: 2.1.1 resolution: "react-style-singleton@npm:2.1.1" @@ -33366,20 +31724,6 @@ __metadata: languageName: node linkType: hard -"react-twemoji@npm:^0.3.0": - version: 0.3.0 - resolution: "react-twemoji@npm:0.3.0" - dependencies: - lodash.isequal: ^4.5.0 - prop-types: ^15.7.2 - twemoji: ^13.0.1 - peerDependencies: - react: ^16.4.2 - react-dom: ^16.4.2 - checksum: d4e56477c28c0ad65b98a062a2e9a1777b808a16c05dfa35d77d84fea26f7d1e884d2e30f95a8f14c94c31330d3d4f53a4fd0bfce917bc4be9fb21d34a05db8a - languageName: node - linkType: hard - "react-use-intercom@npm:1.5.1": version: 1.5.1 resolution: "react-use-intercom@npm:1.5.1" @@ -33390,18 +31734,6 @@ __metadata: languageName: node linkType: hard -"react-use-measure@npm:^2.1.1": - version: 2.1.1 - resolution: "react-use-measure@npm:2.1.1" - dependencies: - debounce: ^1.2.1 - peerDependencies: - react: ">=16.13" - react-dom: ">=16.13" - checksum: b8e8939229d463c3c505f7b617925c0228efae0cd6f651371f463846417b06c9170be57df51293a61027c41770f8a090fdb8a08717c4e36290ccb496e0318f1f - languageName: node - linkType: hard - "react-virtual@npm:^2.8.2": version: 2.10.4 resolution: "react-virtual@npm:2.10.4" @@ -33509,7 +31841,7 @@ __metadata: languageName: node linkType: hard -"readable-stream@npm:1 || 2, readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.0.6, readable-stream@npm:^2.1.0, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.0, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6": +"readable-stream@npm:1 || 2, readable-stream@npm:^2.0.0, readable-stream@npm:^2.0.1, readable-stream@npm:^2.0.2, readable-stream@npm:^2.0.5, readable-stream@npm:^2.1.0, readable-stream@npm:^2.1.5, readable-stream@npm:^2.2.2, readable-stream@npm:^2.3.0, readable-stream@npm:^2.3.3, readable-stream@npm:^2.3.5, readable-stream@npm:^2.3.6, readable-stream@npm:~2.3.6": version: 2.3.7 resolution: "readable-stream@npm:2.3.7" dependencies: @@ -33827,19 +32159,6 @@ __metadata: languageName: node linkType: hard -"remark-html@npm:^14.0.1": - version: 14.0.1 - resolution: "remark-html@npm:14.0.1" - dependencies: - "@types/mdast": ^3.0.0 - hast-util-sanitize: ^4.0.0 - hast-util-to-html: ^8.0.0 - mdast-util-to-hast: ^11.0.0 - unified: ^10.0.0 - checksum: 5d689b05dc6b4f24e08ece07aabca98685949198a8b6ceacb2fbf7fba8f45f55cea5623caddfd92aaf6e6f082bc1c93797dfb82dc48a6f6e1c5263947a4779c9 - languageName: node - linkType: hard - "remark-mdx@npm:1.6.22": version: 1.6.22 resolution: "remark-mdx@npm:1.6.22" @@ -34393,20 +32712,6 @@ __metadata: languageName: node linkType: hard -"rollup@npm:2.78.0": - version: 2.78.0 - resolution: "rollup@npm:2.78.0" - dependencies: - fsevents: ~2.3.2 - dependenciesMeta: - fsevents: - optional: true - bin: - rollup: dist/bin/rollup - checksum: 01b5a7ae082d2a14201c973ee973099f0899cc87b65063d5ca5a77c05eeefb3b51e14b1346cf1a0fc879ac2cbb87239d4f960917bfc30b7c52f5dce50a7f56e7 - languageName: node - linkType: hard - "rollup@npm:>=2.59.0 <2.78.0": version: 2.77.3 resolution: "rollup@npm:2.77.3" @@ -34511,15 +32816,6 @@ __metadata: languageName: node linkType: hard -"rxjs@npm:^7.0.0, rxjs@npm:^7.8.0": - version: 7.8.0 - resolution: "rxjs@npm:7.8.0" - dependencies: - tslib: ^2.1.0 - checksum: 61b4d4fd323c1043d8d6ceb91f24183b28bcf5def4f01ca111511d5c6b66755bc5578587fe714ef5d67cf4c9f2e26f4490d4e1d8cabf9bd5967687835e9866a2 - languageName: node - linkType: hard - "rxjs@npm:^7.5.5": version: 7.5.5 resolution: "rxjs@npm:7.5.5" @@ -34529,13 +32825,6 @@ __metadata: languageName: node linkType: hard -"s-ago@npm:^2.2.0": - version: 2.2.0 - resolution: "s-ago@npm:2.2.0" - checksum: f665fef44d9d88322ce5a798ca3c49b40f96231ddc7bd46dc23c883e98215675aa422985760d45d3779faa3c0bc94edb2a50630bf15f54c239d11963e53d998c - languageName: node - linkType: hard - "sade@npm:^1.7.3": version: 1.8.1 resolution: "sade@npm:1.8.1" @@ -35055,7 +33344,7 @@ __metadata: languageName: node linkType: hard -"set-blocking@npm:^2.0.0, set-blocking@npm:~2.0.0": +"set-blocking@npm:^2.0.0": version: 2.0.0 resolution: "set-blocking@npm:2.0.0" checksum: 6e65a05f7cf7ebdf8b7c75b101e18c0b7e3dff4940d480efed8aad3a36a4005140b660fa1d804cb8bce911cac290441dc728084a30504d3516ac2ff7ad607b02 @@ -35162,13 +33451,6 @@ __metadata: languageName: node linkType: hard -"shell-quote@npm:^1.7.3": - version: 1.8.1 - resolution: "shell-quote@npm:1.8.1" - checksum: 5f01201f4ef504d4c6a9d0d283fa17075f6770bfbe4c5850b074974c68062f37929ca61700d95ad2ac8822e14e8c4b990ca0e6e9272e64befd74ce5e19f0736b - languageName: node - linkType: hard - "short-uuid@npm:^4.2.0": version: 4.2.0 resolution: "short-uuid@npm:4.2.0" @@ -35505,13 +33787,6 @@ __metadata: languageName: node linkType: hard -"spawn-command@npm:^0.0.2-1": - version: 0.0.2 - resolution: "spawn-command@npm:0.0.2" - checksum: e35c5d28177b4d461d33c88cc11f6f3a5079e2b132c11e1746453bbb7a0c0b8a634f07541a2a234fa4758239d88203b758def509161b651e81958894c0b4b64b - languageName: node - linkType: hard - "spdx-correct@npm:^3.0.0": version: 3.1.1 resolution: "spdx-correct@npm:3.1.1" @@ -35936,17 +34211,6 @@ __metadata: languageName: node linkType: hard -"string-width@npm:^1.0.1": - version: 1.0.2 - resolution: "string-width@npm:1.0.2" - dependencies: - code-point-at: ^1.0.0 - is-fullwidth-code-point: ^1.0.0 - strip-ansi: ^3.0.0 - checksum: 5c79439e95bc3bd7233a332c5f5926ab2ee90b23816ed4faa380ce3b2576d7800b0a5bb15ae88ed28737acc7ea06a518c2eef39142dd727adad0e45c776cd37e - languageName: node - linkType: hard - "string-width@npm:^1.0.2 || 2 || 3 || 4, string-width@npm:^4.0.0, string-width@npm:^4.1.0, string-width@npm:^4.2.0, string-width@npm:^4.2.2, string-width@npm:^4.2.3": version: 4.2.3 resolution: "string-width@npm:4.2.3" @@ -36364,23 +34628,6 @@ __metadata: languageName: node linkType: hard -"sucrase@npm:^3.20.0": - version: 3.28.0 - resolution: "sucrase@npm:3.28.0" - dependencies: - commander: ^4.0.0 - glob: 7.1.6 - lines-and-columns: ^1.1.6 - mz: ^2.7.0 - pirates: ^4.0.1 - ts-interface-checker: ^0.1.9 - bin: - sucrase: bin/sucrase - sucrase-node: bin/sucrase-node - checksum: 6a2369c140cee674988ebcf83538f38b11270e47ebaffc811baabe1db3fc586f1a357d4bbc66388a6b99054ba06a08f31b44b764e777abbd457b9e29332b12d0 - languageName: node - linkType: hard - "sucrase@npm:^3.29.0": version: 3.31.0 resolution: "sucrase@npm:3.31.0" @@ -36467,7 +34714,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0, supports-color@npm:^8.1.0": +"supports-color@npm:^8.0.0": version: 8.1.1 resolution: "supports-color@npm:8.1.1" dependencies: @@ -36555,31 +34802,6 @@ __metadata: languageName: node linkType: hard -"swagger-jsdoc@npm:6.2.5": - version: 6.2.5 - resolution: "swagger-jsdoc@npm:6.2.5" - dependencies: - commander: 6.2.0 - doctrine: 3.0.0 - glob: 7.1.6 - lodash.mergewith: ^4.6.2 - swagger-parser: 10.0.2 - yaml: 2.0.0-1 - bin: - swagger-jsdoc: bin/swagger-jsdoc.js - checksum: 8ad468bce4934fdca4e5a857fda9cbf98f305b73ffa0ca3ebb5dc34e8c53452c01684010bfa487f17179b860b6b3291e7e5b14433007ca79109dfc7a10441864 - languageName: node - linkType: hard - -"swagger-parser@npm:10.0.2": - version: 10.0.2 - resolution: "swagger-parser@npm:10.0.2" - dependencies: - "@apidevtools/swagger-parser": 10.0.2 - checksum: 02aa7d6caa5dde20fe93f00928a7803b11099a7cffa70c1750b89add23e8dfb220ee5354d3f691dce91300f25dd155060be9a28ed7772d6aa4ff4ab3f5a36db0 - languageName: node - linkType: hard - "swagger-ui-react@npm:4.11.1": version: 4.11.1 resolution: "swagger-ui-react@npm:4.11.1" @@ -36653,15 +34875,6 @@ __metadata: languageName: node linkType: hard -"swr@npm:^1.2.2": - version: 1.3.0 - resolution: "swr@npm:1.3.0" - peerDependencies: - react: ^16.11.0 || ^17.0.0 || ^18.0.0 - checksum: e7a184f0d560e9c8be85c023cc8e65e56a88a6ed46f9394b301b07f838edca23d2e303685319a4fcd620b81d447a7bcb489c7fa0a752c259f91764903c690cdb - languageName: node - linkType: hard - "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -36923,13 +35136,6 @@ __metadata: languageName: node linkType: hard -"terminal-columns@npm:^1.4.1": - version: 1.4.1 - resolution: "terminal-columns@npm:1.4.1" - checksum: 54a3d625963fa9cb2110bd2af982f31865438c7cf3dfe95d8e9c453c3cd67b7352fa4a78e8b31dc6f4955ccd9fe2ab8ac8224c5b1db61c6226364a12150739bc - languageName: node - linkType: hard - "terminal-link@npm:^2.0.0": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" @@ -37407,15 +35613,6 @@ __metadata: languageName: node linkType: hard -"tree-kill@npm:^1.2.2": - version: 1.2.2 - resolution: "tree-kill@npm:1.2.2" - bin: - tree-kill: cli.js - checksum: 49117f5f410d19c84b0464d29afb9642c863bc5ba40fcb9a245d474c6d5cc64d1b177a6e6713129eb346b40aebb9d4631d967517f9fbe8251c35b21b13cd96c7 - languageName: node - linkType: hard - "trim-newlines@npm:^1.0.0": version: 1.0.0 resolution: "trim-newlines@npm:1.0.0" @@ -37809,13 +36006,6 @@ __metadata: languageName: node linkType: hard -"tween-functions@npm:^1.2.0": - version: 1.2.0 - resolution: "tween-functions@npm:1.2.0" - checksum: 880708d680eff5c347ddcb9f922ad121703a91c78ce308ed309073e73a794b633eb0b80589a839365803f150515ad34c9646809ae8a0e90f09e62686eefb1ab6 - languageName: node - linkType: hard - "tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": version: 0.14.5 resolution: "tweetnacl@npm:0.14.5" @@ -37830,25 +36020,6 @@ __metadata: languageName: node linkType: hard -"twemoji-parser@npm:13.1.0": - version: 13.1.0 - resolution: "twemoji-parser@npm:13.1.0" - checksum: 8046ce003c03dd92d68c2648cfbfa39c659fca4f05c10da8d14957985dc3c0c680f3ecf2de8245dc1ddffedc5b2a675f2032053e1e77cc7474301a88fe192ad3 - languageName: node - linkType: hard - -"twemoji@npm:^13.0.1": - version: 13.1.1 - resolution: "twemoji@npm:13.1.1" - dependencies: - fs-extra: ^8.0.1 - jsonfile: ^5.0.0 - twemoji-parser: 13.1.0 - universalify: ^0.1.2 - checksum: f60a8785ad6eb1a673c4f1bccb00a852ead13639db9f763c0e3e9dee6e3e67d88f1d2b481bcee34c35570ab060918b30b6ee68aa65ea1042ad35cd83212a102a - languageName: node - linkType: hard - "twilio@npm:^3.80.1": version: 3.80.1 resolution: "twilio@npm:3.80.1" @@ -37949,14 +36120,7 @@ __metadata: languageName: node linkType: hard -"type-flag@npm:^2.1.0": - version: 2.2.0 - resolution: "type-flag@npm:2.2.0" - checksum: 728218708795c84b81a4923049b357be1ad12880e15f39940cba89472664b590368d3383f254246876edbd2eb01872b4675be62570088d7377f052420f5e9c9a - languageName: node - linkType: hard - -"type-is@npm:^1.6.18, type-is@npm:~1.6.18": +"type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" dependencies: @@ -38098,20 +36262,6 @@ __metadata: languageName: node linkType: hard -"tzdata@npm:^1.0.30": - version: 1.0.38 - resolution: "tzdata@npm:1.0.38" - checksum: 866abff1316bd1311057f5de9da702c78a27f3bba213aa6986e8e4d22d0d25b554dda2330e6d853e2c34566270bb327babe467ad9a5f069ad466f09571872800 - languageName: node - linkType: hard - -"ua-parser-js@npm:^1.0.33": - version: 1.0.35 - resolution: "ua-parser-js@npm:1.0.35" - checksum: 02370d38a0c8b586f2503d1c3bbba5cbc0b97d407282f9023201a99e4c03eae4357a2800fdf50cf80d73ec25c0b0cc5bfbaa03975b0add4043d6e4c86712c9c1 - languageName: node - linkType: hard - "uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": version: 1.0.6 resolution: "uc.micro@npm:1.0.6" @@ -38496,13 +36646,6 @@ __metadata: languageName: node linkType: hard -"universal-base64@npm:^2.1.0": - version: 2.1.0 - resolution: "universal-base64@npm:2.1.0" - checksum: 03bc6f7de04aee83038c26038cd2639f470fd9665f99b3613934c4ccde5d59047d45e34ea4c843ac582da83ea1b050bf8defba8eb390e566f0be314646ddbc9b - languageName: node - linkType: hard - "universalify@npm:^0.1.0, universalify@npm:^0.1.2": version: 0.1.2 resolution: "universalify@npm:0.1.2" @@ -38742,18 +36885,6 @@ __metadata: languageName: node linkType: hard -"use-deep-compare-effect@npm:^1.6.1": - version: 1.8.1 - resolution: "use-deep-compare-effect@npm:1.8.1" - dependencies: - "@babel/runtime": ^7.12.5 - dequal: ^2.0.2 - peerDependencies: - react: ">=16.13" - checksum: 2b9b6291df3f772f44d259b352e5d998963ccee0db2efeb76bb05525d928064aeeb69bb0dee5a5e428fea7cf3db67c097a770ebd30caa080662b565f6ef02b2e - languageName: node - linkType: hard - "use-isomorphic-layout-effect@npm:^1.1.1, use-isomorphic-layout-effect@npm:^1.1.2": version: 1.1.2 resolution: "use-isomorphic-layout-effect@npm:1.1.2" @@ -38991,13 +37122,6 @@ __metadata: languageName: node linkType: hard -"validator@npm:^13.6.0": - version: 13.9.0 - resolution: "validator@npm:13.9.0" - checksum: e2c936f041f61faa42bafd17c6faddf939498666cd82e88d733621c286893730b008959f4cb12ab3e236148a4f3805c30b85e3dcf5e0efd8b0cbcd36c02bfc0c - languageName: node - linkType: hard - "varint@npm:^5.0.0": version: 5.0.2 resolution: "varint@npm:5.0.2" @@ -39030,16 +37154,6 @@ __metadata: languageName: node linkType: hard -"vfile-location@npm:^4.0.0": - version: 4.1.0 - resolution: "vfile-location@npm:4.1.0" - dependencies: - "@types/unist": ^2.0.0 - vfile: ^5.0.0 - checksum: c894e8e5224170d1f85288f4a1d1ebcee0780823ea2b49d881648ab360ebf01b37ecb09b1c4439a75f9a51f31a9f9742cd045e987763e367c352a1ef7c50d446 - languageName: node - linkType: hard - "vfile-message@npm:^2.0.0": version: 2.0.4 resolution: "vfile-message@npm:2.0.4" @@ -39223,21 +37337,6 @@ __metadata: languageName: node linkType: hard -"wait-on@npm:^7.0.1": - version: 7.0.1 - resolution: "wait-on@npm:7.0.1" - dependencies: - axios: ^0.27.2 - joi: ^17.7.0 - lodash: ^4.17.21 - minimist: ^1.2.7 - rxjs: ^7.8.0 - bin: - wait-on: bin/wait-on - checksum: 1e8a17d8ee6436f71d3ab82781ce31267481fcd7bbccde49b0f8124871e6e40a1acac3401f04f775ba6203853a5813352fa131620fc139914351f3b2894d573f - languageName: node - linkType: hard - "walker@npm:^1.0.7, walker@npm:^1.0.8, walker@npm:~1.0.5": version: 1.0.8 resolution: "walker@npm:1.0.8" @@ -39315,13 +37414,6 @@ __metadata: languageName: node linkType: hard -"web-namespaces@npm:^2.0.0": - version: 2.0.1 - resolution: "web-namespaces@npm:2.0.1" - checksum: b6d9f02f1a43d0ef0848a812d89c83801d5bbad57d8bb61f02eb6d7eb794c3736f6cc2e1191664bb26136594c8218ac609f4069722c6f56d9fc2d808fa9271c6 - languageName: node - linkType: hard - "web-streams-polyfill@npm:4.0.0-beta.1": version: 4.0.0-beta.1 resolution: "web-streams-polyfill@npm:4.0.0-beta.1" @@ -39713,7 +37805,7 @@ __metadata: languageName: node linkType: hard -"webpack-sources@npm:^2.0.0 || ^3.0.0, webpack-sources@npm:^3.2.3": +"webpack-sources@npm:^3.2.3": version: 3.2.3 resolution: "webpack-sources@npm:3.2.3" checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 @@ -40000,7 +38092,7 @@ __metadata: languageName: node linkType: hard -"wide-align@npm:^1.1.0, wide-align@npm:^1.1.2, wide-align@npm:^1.1.5": +"wide-align@npm:^1.1.2, wide-align@npm:^1.1.5": version: 1.1.5 resolution: "wide-align@npm:1.1.5" dependencies: @@ -40434,13 +38526,6 @@ __metadata: languageName: node linkType: hard -"yaml@npm:2.0.0-1": - version: 2.0.0-1 - resolution: "yaml@npm:2.0.0-1" - checksum: ccfbd1424dbf205a8828593faa91dfd40bd21e3fb575e257280d3526ade9508f3ea0acbe7605abc81bac6b4d6729ddb5b3de6bd818232f48480fd1eda8d7fd4c - languageName: node - linkType: hard - "yaml@npm:^1.10.0, yaml@npm:^1.10.2, yaml@npm:^1.7.2": version: 1.10.2 resolution: "yaml@npm:1.10.2" @@ -40633,23 +38718,6 @@ __metadata: languageName: node linkType: hard -"z-schema@npm:^4.2.3": - version: 4.2.4 - resolution: "z-schema@npm:4.2.4" - dependencies: - commander: ^2.7.1 - lodash.get: ^4.4.2 - lodash.isequal: ^4.5.0 - validator: ^13.6.0 - dependenciesMeta: - commander: - optional: true - bin: - z-schema: bin/z-schema - checksum: 9afc0b8d4f75122fbbac8835b0398fc6ab3cfa3f68792e4e86edcd9be1e9ae9d982368a8ae25a4eeea6aad3ab35a24379b76e1525b105c23169c4f93b3185004 - languageName: node - linkType: hard - "zenscroll@npm:^4.0.2": version: 4.0.2 resolution: "zenscroll@npm:4.0.2" @@ -40677,13 +38745,6 @@ __metadata: languageName: node linkType: hard -"zod@npm:^3.17.3": - version: 3.21.4 - resolution: "zod@npm:3.21.4" - checksum: f185ba87342ff16f7a06686767c2b2a7af41110c7edf7c1974095d8db7a73792696bcb4a00853de0d2edeb34a5b2ea6a55871bc864227dace682a0a28de33e1f - languageName: node - linkType: hard - "zod@npm:^3.20.2": version: 3.20.2 resolution: "zod@npm:3.20.2" @@ -40738,10 +38799,3 @@ __metadata: checksum: 8edd7af8375f12f64d8dbef815af32cd77bd9237d0b013210ba4e3aef25fdc460fe264cd0a19deabe9f86ef0c607240ebac1a336bf4a70bf06ef53e0652de116 languageName: node linkType: hard - -"zwitch@npm:^2.0.4": - version: 2.0.4 - resolution: "zwitch@npm:2.0.4" - checksum: f22ec5fc2d5f02c423c93d35cdfa83573a3a3bd98c66b927c368ea4d0e7252a500df2a90a6b45522be536a96a73404393c958e945fdba95e6832c200791702b6 - languageName: node - linkType: hard From 4482ffc66bc773f7e05372177b6c87c51c08d541 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Mon, 17 Apr 2023 22:23:34 +0000 Subject: [PATCH 014/146] New Crowdin translations by Github Action --- apps/web/public/static/locales/pt/common.json | 10 +++++----- apps/web/public/static/locales/zh-TW/common.json | 2 +- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/apps/web/public/static/locales/pt/common.json b/apps/web/public/static/locales/pt/common.json index d7a991a945..86df0a1346 100644 --- a/apps/web/public/static/locales/pt/common.json +++ b/apps/web/public/static/locales/pt/common.json @@ -1590,14 +1590,14 @@ "recommended_next_steps": "Próximos passos recomendados", "create_a_managed_event": "Criar um tipo de evento gerido", "meetings_are_better_with_the_right": "Os eventos são melhores com os elementos certos da equipa. Convide-os agora.", - "create_a_one_one_template": "Crie um modelo um-para-um para um tipo de evento e distribua-o a vários membros.", + "create_a_one_one_template": "Crie um modelo de um-para-um para um tipo de evento e distribua-o a vários membros.", "collective_or_roundrobin": "Coletiva ou rotativa", "book_your_team_members": "Associe os elementos da sua equipa a eventos coletivos ou rode pela equipa com utilização de uma distribuição equilibrada para obter a pessoa certa.", - "event_no_longer_attending_subject": "Já não irá participar em {{title}} a {{date}}", + "event_no_longer_attending_subject": "Já não irá participar em {{title}} em {{date}}", "no_longer_attending": "Você já não vai estar presente neste evento", - "attendee_no_longer_attending_subject": "Um participante não irá estar presente em {{title}} a {{date}}", + "attendee_no_longer_attending_subject": "Um participante não irá estar presente em {{title}} em {{date}}", "attendee_no_longer_attending": "Um participante já não irá participar no seu evento", - "attendee_no_longer_attending_subtitle": "{{name}} cancelou. Isto significa que existe uma nova vaga para este horário", + "attendee_no_longer_attending_subtitle": "{{name}} cancelou. Isto significa que existe uma nova disponibilidade para este horário", "create_event_on": "Criar evento em", "default_app_link_title": "Definir uma ligação predefinida de aplicação", "default_app_link_description": "Ao definir uma ligação predefinida da aplicação, permite que todos os tipos de eventos recém-criados utilizem a ligação de aplicação que definiu.", @@ -1617,7 +1617,7 @@ "form_builder_field_already_exists": "Já existe um campo com este nome", "form_builder_field_add_subtitle": "Personalize as questões colocadas na página da reserva", "get_started_zapier_templates": "Comece a utilizar os modelos Zapier", - "team_is_unpublished": "{{team}} não está publicado", + "team_is_unpublished": "A equipa {{team}} ainda não está publicada", "team_is_unpublished_description": "Esta ligação de equipa não está disponível neste momento. Por favor, entre em contacto com o responsável pela equipa ou solicite-lhes a respetiva publicação.", "team_member": "Membro da equipa", "a_routing_form": "Um formulário de encaminhamento", diff --git a/apps/web/public/static/locales/zh-TW/common.json b/apps/web/public/static/locales/zh-TW/common.json index bf66cb166f..486b4e838e 100644 --- a/apps/web/public/static/locales/zh-TW/common.json +++ b/apps/web/public/static/locales/zh-TW/common.json @@ -1647,7 +1647,7 @@ "app_is_connected": "已連結 {{dependencyName}}", "requires_app": "需要 {{dependencyName}}", "verification_code": "驗證碼", - "can_you_try_again": "您可以使用不同的時間再試一次嗎?", + "can_you_try_again": "您可以再試試其他時間嗎?", "verify": "驗證", "select_all": "全部選擇", "default_conferencing_bulk_title": "大量更新現有活動類型", From a23a9ad15acaf998f1fe8876e95969d660ae21cf Mon Sep 17 00:00:00 2001 From: zomars Date: Mon, 17 Apr 2023 15:26:17 -0700 Subject: [PATCH 015/146] Reverts PR checks limit --- .github/workflows/pr.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/pr.yml b/.github/workflows/pr.yml index 6a9d968c05..16f119312b 100644 --- a/.github/workflows/pr.yml +++ b/.github/workflows/pr.yml @@ -2,7 +2,6 @@ name: PR Update on: pull_request_target: - types: [ready_for_review, review_requested] branches: - main paths-ignore: From 667d42d5da7bf98f2d797ad0dec69b0e267b9c01 Mon Sep 17 00:00:00 2001 From: zomars Date: Mon, 17 Apr 2023 15:46:43 -0700 Subject: [PATCH 016/146] Update yarn.lock --- yarn.lock | 2031 +++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 1979 insertions(+), 52 deletions(-) diff --git a/yarn.lock b/yarn.lock index 6109ed1439..9f86ec4ba6 100644 --- a/yarn.lock +++ b/yarn.lock @@ -5,6 +5,34 @@ __metadata: version: 6 cacheKey: 8 +"@47ng/cloak@npm:^1.1.0": + version: 1.1.0 + resolution: "@47ng/cloak@npm:1.1.0" + dependencies: + "@47ng/codec": ^1.0.1 + "@stablelib/base64": ^1.0.1 + "@stablelib/hex": ^1.0.1 + "@stablelib/utf8": ^1.0.1 + chalk: ^4.1.2 + commander: ^8.3.0 + dotenv: ^10.0.0 + s-ago: ^2.2.0 + bin: + cloak: dist/cli.js + checksum: 7d72c66ff7837368e9ca8f5ba402d72041427eb47c53c340b4640e3352f2956d8673a4a8e97591fb2b9dfe27f3d2765bcd925617273ef2488df2565c77c78299 + languageName: node + linkType: hard + +"@47ng/codec@npm:^1.0.1": + version: 1.1.0 + resolution: "@47ng/codec@npm:1.1.0" + dependencies: + "@stablelib/base64": ^1.0.1 + "@stablelib/hex": ^1.0.1 + checksum: 4f780c4413fe78bbedbaff4135340c0e5f5a30df88f5cffbec51349eb0a1c909728e6c2bbda52506ff8c12653bf39b78c67b78bbe9501b0b9741da0cdaeec6ff + languageName: node + linkType: hard + "@achrinza/event-pubsub@npm:5.0.8": version: 5.0.8 resolution: "@achrinza/event-pubsub@npm:5.0.8" @@ -52,6 +80,67 @@ __metadata: languageName: node linkType: hard +"@apidevtools/json-schema-ref-parser@npm:9.0.9": + version: 9.0.9 + resolution: "@apidevtools/json-schema-ref-parser@npm:9.0.9" + dependencies: + "@jsdevtools/ono": ^7.1.3 + "@types/json-schema": ^7.0.6 + call-me-maybe: ^1.0.1 + js-yaml: ^4.1.0 + checksum: b21f6bdd37d2942c3967ee77569bc74fadd1b922f688daf5ef85057789a2c3a7f4afc473aa2f3a93ec950dabb6ef365f8bd9cf51e4e062a1ee1e59b989f8f9b4 + languageName: node + linkType: hard + +"@apidevtools/openapi-schemas@npm:^2.0.4": + version: 2.1.0 + resolution: "@apidevtools/openapi-schemas@npm:2.1.0" + checksum: 4a8f64935b9049ef21e41fa4b188f39f6bc3f5291cebd451701db1115451ccb246a739e46cc5ce9ecdec781671431db40db7851acdac84a990a45756e0f32de3 + languageName: node + linkType: hard + +"@apidevtools/swagger-methods@npm:^3.0.2": + version: 3.0.2 + resolution: "@apidevtools/swagger-methods@npm:3.0.2" + checksum: d06b1ac5c1956613c4c6be695612ef860cd4e962b93a509ca551735a328a856cae1e33399cac1dcbf8333ba22b231746f3586074769ef0e172cf549ec9e7eaae + languageName: node + linkType: hard + +"@apidevtools/swagger-parser@npm:10.0.2": + version: 10.0.2 + resolution: "@apidevtools/swagger-parser@npm:10.0.2" + dependencies: + "@apidevtools/json-schema-ref-parser": ^9.0.6 + "@apidevtools/openapi-schemas": ^2.0.4 + "@apidevtools/swagger-methods": ^3.0.2 + "@jsdevtools/ono": ^7.1.3 + call-me-maybe: ^1.0.1 + z-schema: ^4.2.3 + peerDependencies: + openapi-types: ">=7" + checksum: fbae8e363c4944c10b9c5702a9b64d04ce2d55b5418d0ca4ef044aeaa92c7f3160ba8d3e335798f7482ab1179d947bdd7393cddf9861d76393789d7559ddf7ba + languageName: node + linkType: hard + +"@auth/core@npm:^0.1.4": + version: 0.1.4 + resolution: "@auth/core@npm:0.1.4" + dependencies: + "@panva/hkdf": 1.0.2 + cookie: 0.5.0 + jose: 4.11.1 + oauth4webapi: 2.0.5 + preact: 10.11.3 + preact-render-to-string: 5.2.3 + peerDependencies: + nodemailer: 6.8.0 + peerDependenciesMeta: + nodemailer: + optional: true + checksum: 64854404ea1883e0deb5535b34bed95cd43fc85094aeaf4f15a79e14045020eb944f844defe857edfc8528a0a024be89cbb2a3069dedef0e9217a74ca6c3eb79 + languageName: node + linkType: hard + "@aws-crypto/ie11-detection@npm:^3.0.0": version: 3.0.0 resolution: "@aws-crypto/ie11-detection@npm:3.0.0" @@ -3800,6 +3889,39 @@ __metadata: languageName: unknown linkType: soft +"@calcom/api@workspace:apps/api": + version: 0.0.0-use.local + resolution: "@calcom/api@workspace:apps/api" + dependencies: + "@calcom/app-store": "*" + "@calcom/core": "*" + "@calcom/dayjs": "*" + "@calcom/emails": "*" + "@calcom/features": "*" + "@calcom/lib": "*" + "@calcom/prisma": "*" + "@calcom/trpc": "*" + "@calcom/tsconfig": "*" + "@calcom/types": "*" + "@sentry/nextjs": ^7.20.0 + babel-jest: ^28.1.0 + bcryptjs: ^2.4.3 + jest: ^28.1.0 + memory-cache: ^0.2.0 + modify-response-middleware: ^1.1.0 + next: ^13.2.1 + next-api-middleware: ^1.0.1 + next-axiom: ^0.16.0 + next-swagger-doc: ^0.3.4 + next-validations: ^0.2.0 + node-mocks-http: ^1.11.0 + typescript: ^4.9.4 + tzdata: ^1.0.30 + uuid: ^8.3.2 + zod: ^3.20.2 + languageName: unknown + linkType: soft + "@calcom/app-store-cli@*, @calcom/app-store-cli@workspace:packages/app-store-cli": version: 0.0.0-use.local resolution: "@calcom/app-store-cli@workspace:packages/app-store-cli" @@ -3858,6 +3980,39 @@ __metadata: languageName: unknown linkType: soft +"@calcom/auth@workspace:apps/auth": + version: 0.0.0-use.local + resolution: "@calcom/auth@workspace:apps/auth" + dependencies: + "@auth/core": ^0.1.4 + "@calcom/app-store": "*" + "@calcom/app-store-cli": "*" + "@calcom/config": "*" + "@calcom/core": "*" + "@calcom/dayjs": "*" + "@calcom/embed-core": "workspace:*" + "@calcom/embed-react": "workspace:*" + "@calcom/embed-snippet": "workspace:*" + "@calcom/features": "*" + "@calcom/lib": "*" + "@calcom/prisma": "*" + "@calcom/trpc": "*" + "@calcom/tsconfig": "*" + "@calcom/types": "*" + "@calcom/ui": "*" + "@types/node": 16.9.1 + "@types/react": 18.0.26 + "@types/react-dom": 18.0.9 + eslint: ^8.34.0 + eslint-config-next: ^13.2.1 + next: ^13.2.1 + next-auth: ^4.20.1 + react: ^18.2.0 + react-dom: ^18.2.0 + typescript: ^4.9.4 + languageName: unknown + linkType: soft + "@calcom/caldavcalendar@workspace:packages/app-store/caldavcalendar": version: 0.0.0-use.local resolution: "@calcom/caldavcalendar@workspace:packages/app-store/caldavcalendar" @@ -3916,6 +4071,43 @@ __metadata: languageName: unknown linkType: soft +"@calcom/console@workspace:apps/console": + version: 0.0.0-use.local + resolution: "@calcom/console@workspace:apps/console" + dependencies: + "@calcom/dayjs": "*" + "@calcom/features": "*" + "@calcom/lib": "*" + "@calcom/tsconfig": "*" + "@calcom/ui": "*" + "@headlessui/react": ^1.5.0 + "@heroicons/react": ^1.0.6 + "@prisma/client": ^4.11.0 + "@tailwindcss/forms": ^0.5.2 + "@types/node": 16.9.1 + "@types/react": 18.0.26 + autoprefixer: ^10.4.12 + chart.js: ^3.7.1 + client-only: ^0.0.1 + eslint: ^8.34.0 + next: ^13.2.1 + next-auth: ^4.20.1 + next-i18next: ^11.3.0 + postcss: ^8.4.18 + prisma: ^4.11.0 + prisma-field-encryption: ^1.4.0 + react: ^18.2.0 + react-chartjs-2: ^4.0.1 + react-dom: ^18.2.0 + react-hook-form: ^7.43.3 + react-live-chat-loader: ^2.7.3 + swr: ^1.2.2 + tailwindcss: ^3.2.1 + typescript: ^4.9.4 + zod: ^3.20.2 + languageName: unknown + linkType: soft + "@calcom/core@*, @calcom/core@workspace:packages/core": version: 0.0.0-use.local resolution: "@calcom/core@workspace:packages/core" @@ -4028,7 +4220,7 @@ __metadata: languageName: unknown linkType: soft -"@calcom/embed-react@workspace:*, @calcom/embed-react@workspace:packages/embeds/embed-react": +"@calcom/embed-react@workspace:*, @calcom/embed-react@workspace:^, @calcom/embed-react@workspace:packages/embeds/embed-react": version: 0.0.0-use.local resolution: "@calcom/embed-react@workspace:packages/embeds/embed-react" dependencies: @@ -4802,6 +4994,91 @@ __metadata: languageName: unknown linkType: soft +"@calcom/website@workspace:apps/website": + version: 0.0.0-use.local + resolution: "@calcom/website@workspace:apps/website" + dependencies: + "@calcom/app-store": "*" + "@calcom/config": "*" + "@calcom/dayjs": "*" + "@calcom/embed-react": "workspace:^" + "@calcom/features": "*" + "@calcom/lib": "*" + "@calcom/prisma": "*" + "@calcom/tsconfig": "*" + "@calcom/ui": "*" + "@floating-ui/react-dom": ^1.0.0 + "@headlessui/react": ^1.5.0 + "@heroicons/react": ^1.0.6 + "@hookform/resolvers": ^2.9.7 + "@juggle/resize-observer": ^3.4.0 + "@next/bundle-analyzer": ^13.1.6 + "@radix-ui/react-accordion": ^1.0.0 + "@radix-ui/react-navigation-menu": ^1.0.0 + "@radix-ui/react-portal": ^1.0.0 + "@radix-ui/react-slider": ^1.0.0 + "@radix-ui/react-tabs": ^1.0.0 + "@radix-ui/react-tooltip": ^1.0.0 + "@stripe/stripe-js": ^1.35.0 + "@tanstack/react-query": ^4.3.9 + "@typeform/embed-react": ^1.2.4 + "@types/bcryptjs": ^2.4.2 + "@types/debounce": ^1.2.1 + "@types/gtag.js": ^0.0.10 + "@types/micro": 7.3.7 + "@types/node": 16.9.1 + "@types/react": 18.0.26 + "@types/react-gtm-module": ^2.0.1 + "@vercel/analytics": ^0.1.6 + "@vercel/edge-functions-ui": ^0.2.1 + "@vercel/og": ^0.5.0 + autoprefixer: ^10.4.12 + bcryptjs: ^2.4.3 + cobe: ^0.4.1 + concurrently: ^7.6.0 + cross-env: ^7.0.3 + datocms-structured-text-to-plain-text: ^2.0.4 + datocms-structured-text-utils: ^2.0.4 + debounce: ^1.2.1 + env-cmd: ^10.1.0 + eslint: ^8.34.0 + fathom-client: ^3.5.0 + globby: ^13.1.3 + gray-matter: ^4.0.3 + gsap: ^3.11.0 + iframe-resizer-react: ^1.1.0 + keen-slider: ^6.8.0 + lucide-react: ^0.125.0 + micro: ^10.0.1 + next: 13.2.4-canary.5 + next-auth: ^4.20.1 + next-i18next: ^11.3.0 + playwright: ^1.31.2 + postcss: ^8.4.18 + prism-react-renderer: ^1.3.5 + react: ^18.2.0 + react-confetti: ^6.0.1 + react-datocms: ^3.1.0 + react-device-detect: ^2.2.2 + react-dom: ^18.2.0 + react-fast-marquee: ^1.3.5 + react-github-btn: ^1.4.0 + react-hook-form: ^7.43.3 + react-hot-toast: ^2.3.0 + react-live-chat-loader: ^2.8.1 + react-merge-refs: 1.1.0 + react-twemoji: ^0.3.0 + react-use-measure: ^2.1.1 + remark: ^14.0.2 + remark-html: ^14.0.1 + stripe: ^9.16.0 + tailwindcss: ^3.2.1 + typescript: ^4.9.4 + wait-on: ^7.0.1 + zod: ^3.20.2 + languageName: unknown + linkType: soft + "@calcom/whatsapp@workspace:packages/app-store/whatsapp": version: 0.0.0-use.local resolution: "@calcom/whatsapp@workspace:packages/app-store/whatsapp" @@ -6110,7 +6387,7 @@ __metadata: languageName: node linkType: hard -"@floating-ui/react-dom@npm:^1.3.0": +"@floating-ui/react-dom@npm:^1.0.0, @floating-ui/react-dom@npm:^1.3.0": version: 1.3.0 resolution: "@floating-ui/react-dom@npm:1.3.0" dependencies: @@ -6248,6 +6525,34 @@ __metadata: languageName: node linkType: hard +"@hapi/hoek@npm:^9.0.0": + version: 9.3.0 + resolution: "@hapi/hoek@npm:9.3.0" + checksum: 4771c7a776242c3c022b168046af4e324d116a9d2e1d60631ee64f474c6e38d1bb07092d898bf95c7bc5d334c5582798a1456321b2e53ca817d4e7c88bc25b43 + languageName: node + linkType: hard + +"@hapi/topo@npm:^5.0.0": + version: 5.1.0 + resolution: "@hapi/topo@npm:5.1.0" + dependencies: + "@hapi/hoek": ^9.0.0 + checksum: 604dfd5dde76d5c334bd03f9001fce69c7ce529883acf92da96f4fe7e51221bf5e5110e964caca287a6a616ba027c071748ab636ff178ad750547fba611d6014 + languageName: node + linkType: hard + +"@headlessui/react@npm:^1.5.0": + version: 1.7.14 + resolution: "@headlessui/react@npm:1.7.14" + dependencies: + client-only: ^0.0.1 + peerDependencies: + react: ^16 || ^17 || ^18 + react-dom: ^16 || ^17 || ^18 + checksum: 9122114d7a618877a8da2ada000422ce82e6af47195e414076fa5cf45687709479eb30b0df414eed52079be6e5904151bc92e4acfafbdde2592c608f015c490e + languageName: node + linkType: hard + "@heroicons/react@npm:^1.0.6": version: 1.0.6 resolution: "@heroicons/react@npm:1.0.6" @@ -7135,6 +7440,13 @@ __metadata: languageName: node linkType: hard +"@jridgewell/sourcemap-codec@npm:^1.4.13": + version: 1.4.15 + resolution: "@jridgewell/sourcemap-codec@npm:1.4.15" + checksum: b881c7e503db3fc7f3c1f35a1dd2655a188cc51a3612d76efc8a6eb74728bef5606e6758ee77423e564092b4a518aba569bbb21c9bac5ab7a35b0c6ae7e344c8 + languageName: node + linkType: hard + "@jridgewell/trace-mapping@npm:0.3.9": version: 0.3.9 resolution: "@jridgewell/trace-mapping@npm:0.3.9" @@ -7192,6 +7504,13 @@ __metadata: languageName: node linkType: hard +"@jsdevtools/ono@npm:^7.1.3": + version: 7.1.3 + resolution: "@jsdevtools/ono@npm:7.1.3" + checksum: 2297fcd472ba810bffe8519d2249171132844c7174f3a16634f9260761c8c78bc0428a4190b5b6d72d45673c13918ab9844d706c3ed4ef8f62ab11a2627a08ad + languageName: node + linkType: hard + "@json-rpc-tools/provider@npm:^1.5.5": version: 1.7.6 resolution: "@json-rpc-tools/provider@npm:1.7.6" @@ -7223,6 +7542,13 @@ __metadata: languageName: node linkType: hard +"@juggle/resize-observer@npm:^3.4.0": + version: 3.4.0 + resolution: "@juggle/resize-observer@npm:3.4.0" + checksum: 2505028c05cc2e17639fcad06218b1c4b60f932a4ebb4b41ab546ef8c157031ae377e3f560903801f6d01706dbefd4943b6c4704bf19ed86dfa1c62f1473a570 + languageName: node + linkType: hard + "@lexical/clipboard@npm:0.5.0": version: 0.5.0 resolution: "@lexical/clipboard@npm:0.5.0" @@ -7632,6 +7958,13 @@ __metadata: languageName: node linkType: hard +"@next/env@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/env@npm:13.2.4-canary.5" + checksum: d46767ba464334b8487b671a9b366b25e7c1b6bf262bd66afd62b07b17f52066158fe69b14db3abc8219e1e580cd60e0655af6c71550506770780d1ba28ae92d + languageName: node + linkType: hard + "@next/eslint-plugin-next@npm:13.2.1": version: 13.2.1 resolution: "@next/eslint-plugin-next@npm:13.2.1" @@ -7648,6 +7981,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-android-arm-eabi@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-android-arm-eabi@npm:13.2.4-canary.5" + conditions: os=android & cpu=arm + languageName: node + linkType: hard + "@next/swc-android-arm64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-android-arm64@npm:13.2.3" @@ -7655,6 +7995,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-android-arm64@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-android-arm64@npm:13.2.4-canary.5" + conditions: os=android & cpu=arm64 + languageName: node + linkType: hard + "@next/swc-darwin-arm64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-darwin-arm64@npm:13.2.3" @@ -7662,6 +8009,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-darwin-arm64@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-darwin-arm64@npm:13.2.4-canary.5" + conditions: os=darwin & cpu=arm64 + languageName: node + linkType: hard + "@next/swc-darwin-x64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-darwin-x64@npm:13.2.3" @@ -7669,6 +8023,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-darwin-x64@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-darwin-x64@npm:13.2.4-canary.5" + conditions: os=darwin & cpu=x64 + languageName: node + linkType: hard + "@next/swc-freebsd-x64@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-freebsd-x64@npm:13.2.3" @@ -7676,6 +8037,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-freebsd-x64@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-freebsd-x64@npm:13.2.4-canary.5" + conditions: os=freebsd & cpu=x64 + languageName: node + linkType: hard + "@next/swc-linux-arm-gnueabihf@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-arm-gnueabihf@npm:13.2.3" @@ -7683,6 +8051,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-arm-gnueabihf@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-linux-arm-gnueabihf@npm:13.2.4-canary.5" + conditions: os=linux & cpu=arm + languageName: node + linkType: hard + "@next/swc-linux-arm64-gnu@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-arm64-gnu@npm:13.2.3" @@ -7690,6 +8065,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-arm64-gnu@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-linux-arm64-gnu@npm:13.2.4-canary.5" + conditions: os=linux & cpu=arm64 & libc=glibc + languageName: node + linkType: hard + "@next/swc-linux-arm64-musl@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-arm64-musl@npm:13.2.3" @@ -7697,6 +8079,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-arm64-musl@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-linux-arm64-musl@npm:13.2.4-canary.5" + conditions: os=linux & cpu=arm64 & libc=musl + languageName: node + linkType: hard + "@next/swc-linux-x64-gnu@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-x64-gnu@npm:13.2.3" @@ -7704,6 +8093,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-x64-gnu@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-linux-x64-gnu@npm:13.2.4-canary.5" + conditions: os=linux & cpu=x64 & libc=glibc + languageName: node + linkType: hard + "@next/swc-linux-x64-musl@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-linux-x64-musl@npm:13.2.3" @@ -7711,6 +8107,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-linux-x64-musl@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-linux-x64-musl@npm:13.2.4-canary.5" + conditions: os=linux & cpu=x64 & libc=musl + languageName: node + linkType: hard + "@next/swc-win32-arm64-msvc@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-win32-arm64-msvc@npm:13.2.3" @@ -7718,6 +8121,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-win32-arm64-msvc@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-win32-arm64-msvc@npm:13.2.4-canary.5" + conditions: os=win32 & cpu=arm64 + languageName: node + linkType: hard + "@next/swc-win32-ia32-msvc@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-win32-ia32-msvc@npm:13.2.3" @@ -7725,6 +8135,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-win32-ia32-msvc@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-win32-ia32-msvc@npm:13.2.4-canary.5" + conditions: os=win32 & cpu=ia32 + languageName: node + linkType: hard + "@next/swc-win32-x64-msvc@npm:13.2.3": version: 13.2.3 resolution: "@next/swc-win32-x64-msvc@npm:13.2.3" @@ -7732,6 +8149,13 @@ __metadata: languageName: node linkType: hard +"@next/swc-win32-x64-msvc@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "@next/swc-win32-x64-msvc@npm:13.2.4-canary.5" + conditions: os=win32 & cpu=x64 + languageName: node + linkType: hard + "@node-ipc/js-queue@npm:2.0.3": version: 2.0.3 resolution: "@node-ipc/js-queue@npm:2.0.3" @@ -7877,6 +8301,13 @@ __metadata: languageName: node linkType: hard +"@panva/hkdf@npm:1.0.2": + version: 1.0.2 + resolution: "@panva/hkdf@npm:1.0.2" + checksum: 75183b4d5ea816ef516dcea70985c610683579a9e2ac540c2d59b9a3ed27eedaff830a43a1c43c1683556a457c92ac66e09109ee995ab173090e4042c4c4bb03 + languageName: node + linkType: hard + "@panva/hkdf@npm:^1.0.2": version: 1.0.4 resolution: "@panva/hkdf@npm:1.0.4" @@ -7992,6 +8423,17 @@ __metadata: languageName: node linkType: hard +"@prisma/debug@npm:4.12.0": + version: 4.12.0 + resolution: "@prisma/debug@npm:4.12.0" + dependencies: + "@types/debug": 4.1.7 + debug: 4.3.4 + strip-ansi: 6.0.1 + checksum: 0ae182634f4a25231ff946768e1da1f694b5141d21c92cb2a142580de30d67ebd1595f8575a4c63356740e415d5d64829449a4710d8421e7147016ea0acb2643 + languageName: node + linkType: hard + "@prisma/engines-version@npm:4.11.0-57.8fde8fef4033376662cad983758335009d522acb": version: 4.11.0-57.8fde8fef4033376662cad983758335009d522acb resolution: "@prisma/engines-version@npm:4.11.0-57.8fde8fef4033376662cad983758335009d522acb" @@ -8006,6 +8448,18 @@ __metadata: languageName: node linkType: hard +"@prisma/generator-helper@npm:^4.0.0": + version: 4.12.0 + resolution: "@prisma/generator-helper@npm:4.12.0" + dependencies: + "@prisma/debug": 4.12.0 + "@types/cross-spawn": 6.0.2 + chalk: 4.1.2 + cross-spawn: 7.0.3 + checksum: b844fcf736c922ce39e6aa1081b7c133b921ceb5d272f51296cf7afc3128ca6085ef1594ce63045ef47a462c56e5e37b9a1094a36d5dd484f77017d6f227641f + languageName: node + linkType: hard + "@prisma/generator-helper@npm:~3.8.1": version: 3.8.1 resolution: "@prisma/generator-helper@npm:3.8.1" @@ -8054,6 +8508,27 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-accordion@npm:^1.0.0": + version: 1.1.1 + resolution: "@radix-ui/react-accordion@npm:1.1.1" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.0 + "@radix-ui/react-collapsible": 1.0.2 + "@radix-ui/react-collection": 1.0.2 + "@radix-ui/react-compose-refs": 1.0.0 + "@radix-ui/react-context": 1.0.0 + "@radix-ui/react-direction": 1.0.0 + "@radix-ui/react-id": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-use-controllable-state": 1.0.0 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: a666da8abca778a150e2cb6d2c0e19fa32912b2cd9aca04359a7a50f238d30b056d46a3119f93376da5ee964262a7fe1174f16e34096d9f51d6639beb9f0e8cd + languageName: node + linkType: hard + "@radix-ui/react-arrow@npm:1.0.0": version: 1.0.0 resolution: "@radix-ui/react-arrow@npm:1.0.0" @@ -8096,6 +8571,26 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-collapsible@npm:1.0.2": + version: 1.0.2 + resolution: "@radix-ui/react-collapsible@npm:1.0.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.0 + "@radix-ui/react-compose-refs": 1.0.0 + "@radix-ui/react-context": 1.0.0 + "@radix-ui/react-id": 1.0.0 + "@radix-ui/react-presence": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-use-controllable-state": 1.0.0 + "@radix-ui/react-use-layout-effect": 1.0.0 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: a0fcfd3aad5159e1fb6fc54fd09210d7de9c1ee1e19739a5a82af81d3f2233e4e5eb204da326f32e2f2a4740aa4c3b42530b61e36b7ced9f857801809d1d3527 + languageName: node + linkType: hard + "@radix-ui/react-collapsible@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-collapsible@npm:1.0.0" @@ -8147,6 +8642,22 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-collection@npm:1.0.2": + version: 1.0.2 + resolution: "@radix-ui/react-collection@npm:1.0.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-compose-refs": 1.0.0 + "@radix-ui/react-context": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-slot": 1.0.1 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: f7d92f52c7f92b53c055370a5cbf077eea54366706eec9100973737577d841c0cc76a2a577fec67dd85b2853d03c20c4810058f0f511821052358439017e9e5d + languageName: node + linkType: hard + "@radix-ui/react-compose-refs@npm:0.1.0": version: 0.1.0 resolution: "@radix-ui/react-compose-refs@npm:0.1.0" @@ -8279,6 +8790,23 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-dismissable-layer@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-dismissable-layer@npm:1.0.3" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.0 + "@radix-ui/react-compose-refs": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-use-callback-ref": 1.0.0 + "@radix-ui/react-use-escape-keydown": 1.0.2 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: cb2a38a65dd129d1fd58436bedee765f46f6a6edc2ec15d534a1499c10f768ae06ad874704e030c85869b3ee4b61103076a116dfdb7e0c761a8c8cdc30a5c951 + languageName: node + linkType: hard + "@radix-ui/react-dropdown-menu@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-dropdown-menu@npm:1.0.0" @@ -8438,6 +8966,32 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-navigation-menu@npm:^1.0.0": + version: 1.1.2 + resolution: "@radix-ui/react-navigation-menu@npm:1.1.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.0 + "@radix-ui/react-collection": 1.0.2 + "@radix-ui/react-compose-refs": 1.0.0 + "@radix-ui/react-context": 1.0.0 + "@radix-ui/react-direction": 1.0.0 + "@radix-ui/react-dismissable-layer": 1.0.3 + "@radix-ui/react-id": 1.0.0 + "@radix-ui/react-presence": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-use-callback-ref": 1.0.0 + "@radix-ui/react-use-controllable-state": 1.0.0 + "@radix-ui/react-use-layout-effect": 1.0.0 + "@radix-ui/react-use-previous": 1.0.0 + "@radix-ui/react-visually-hidden": 1.0.2 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: 2c321a10acf532cfead8f63c1eca9acb742fb94de3d67c8c8e2614845086376995e78cb3d31ac1bc4a915e961e5c19d60b52106c1c9196c9789d4da3e831fd5b + languageName: node + linkType: hard + "@radix-ui/react-popover@npm:^1.0.2": version: 1.0.2 resolution: "@radix-ui/react-popover@npm:1.0.2" @@ -8599,6 +9153,19 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-primitive@npm:1.0.2": + version: 1.0.2 + resolution: "@radix-ui/react-primitive@npm:1.0.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-slot": 1.0.1 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: 070b1770749eb629425ef959c4cdbd86957b83c5286ae4423e55ab1a89fa286a51f5aeee44e3a13eb6ca44771415ac1acbaeb0ba03013b49ecb5253e1a5a8996 + languageName: node + linkType: hard + "@radix-ui/react-radio-group@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-radio-group@npm:1.0.0" @@ -8643,6 +9210,27 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-roving-focus@npm:1.0.3": + version: 1.0.3 + resolution: "@radix-ui/react-roving-focus@npm:1.0.3" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.0 + "@radix-ui/react-collection": 1.0.2 + "@radix-ui/react-compose-refs": 1.0.0 + "@radix-ui/react-context": 1.0.0 + "@radix-ui/react-direction": 1.0.0 + "@radix-ui/react-id": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-use-callback-ref": 1.0.0 + "@radix-ui/react-use-controllable-state": 1.0.0 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: 08f33c7cd2962b5603a83c67e54f4b1d43f89138bc598644bde551845a302da2fc32f53cad712aa2b17915b2c598fc36244d88fbc5f01986ea93d788faf32101 + languageName: node + linkType: hard + "@radix-ui/react-select@npm:^0.1.1": version: 0.1.1 resolution: "@radix-ui/react-select@npm:0.1.1" @@ -8752,6 +9340,26 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-tabs@npm:^1.0.0": + version: 1.0.3 + resolution: "@radix-ui/react-tabs@npm:1.0.3" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/primitive": 1.0.0 + "@radix-ui/react-context": 1.0.0 + "@radix-ui/react-direction": 1.0.0 + "@radix-ui/react-id": 1.0.0 + "@radix-ui/react-presence": 1.0.0 + "@radix-ui/react-primitive": 1.0.2 + "@radix-ui/react-roving-focus": 1.0.3 + "@radix-ui/react-use-controllable-state": 1.0.0 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: 603b06a1c071fec7b01cf82c3058aff239079b14f7d7988b559b9877bcd4e3f23d287b8cf38ebef6bb6b0c4f238a80f67525aa5fc9db519fbf1b70777a40f0ec + languageName: node + linkType: hard + "@radix-ui/react-toggle-group@npm:^1.0.0": version: 1.0.0 resolution: "@radix-ui/react-toggle-group@npm:1.0.0" @@ -8997,6 +9605,19 @@ __metadata: languageName: node linkType: hard +"@radix-ui/react-visually-hidden@npm:1.0.2": + version: 1.0.2 + resolution: "@radix-ui/react-visually-hidden@npm:1.0.2" + dependencies: + "@babel/runtime": ^7.13.10 + "@radix-ui/react-primitive": 1.0.2 + peerDependencies: + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + checksum: 67c4a55cfad9a8ff519a9b4ce24d2cc9d78c34d08a128a85de1a0a41228fdeb961eaeb4e50ca0d2080c5e31cef6f6e703cb06786579b44e5c66af161b941adb6 + languageName: node + linkType: hard + "@radix-ui/rect@npm:1.0.0": version: 1.0.0 resolution: "@radix-ui/rect@npm:1.0.0" @@ -9165,6 +9786,25 @@ __metadata: languageName: node linkType: hard +"@rollup/plugin-commonjs@npm:24.0.0": + version: 24.0.0 + resolution: "@rollup/plugin-commonjs@npm:24.0.0" + dependencies: + "@rollup/pluginutils": ^5.0.1 + commondir: ^1.0.1 + estree-walker: ^2.0.2 + glob: ^8.0.3 + is-reference: 1.2.1 + magic-string: ^0.27.0 + peerDependencies: + rollup: ^2.68.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: e2a1bf295bbb45ab56747f7ce636d4b94046bfecc758a64c7276823b80271e0ba1196642c232aa61d1b1a98abeaddad45486c7227ec19a97d19d16f7661d49a6 + languageName: node + linkType: hard + "@rollup/plugin-inject@npm:^4.0.0": version: 4.0.4 resolution: "@rollup/plugin-inject@npm:4.0.4" @@ -9201,6 +9841,22 @@ __metadata: languageName: node linkType: hard +"@rollup/pluginutils@npm:^5.0.1": + version: 5.0.2 + resolution: "@rollup/pluginutils@npm:5.0.2" + dependencies: + "@types/estree": ^1.0.0 + estree-walker: ^2.0.2 + picomatch: ^2.3.1 + peerDependencies: + rollup: ^1.20.0||^2.0.0||^3.0.0 + peerDependenciesMeta: + rollup: + optional: true + checksum: edea15e543bebc7dcac3b0ac8bc7b8e8e6dbd46e2864dbe5dd28072de1fbd5b0e10d545a610c0edaa178e8a7ac432e2a2a52e547ece1308471412caba47db8ce + languageName: node + linkType: hard + "@rushstack/eslint-patch@npm:^1.1.3": version: 1.1.3 resolution: "@rushstack/eslint-patch@npm:1.1.3" @@ -9237,6 +9893,167 @@ __metadata: languageName: node linkType: hard +"@sentry-internal/tracing@npm:7.48.0": + version: 7.48.0 + resolution: "@sentry-internal/tracing@npm:7.48.0" + dependencies: + "@sentry/core": 7.48.0 + "@sentry/types": 7.48.0 + "@sentry/utils": 7.48.0 + tslib: ^1.9.3 + checksum: 61e9d1c5f34db9a23ae8f34b6d479e9929e968fa63e4d0d2da92cf49f4a6d82b992161b781278296112a8851920d75a9e538134014c63f7e3d7de2b3d3e6fc4a + languageName: node + linkType: hard + +"@sentry/browser@npm:7.48.0": + version: 7.48.0 + resolution: "@sentry/browser@npm:7.48.0" + dependencies: + "@sentry-internal/tracing": 7.48.0 + "@sentry/core": 7.48.0 + "@sentry/replay": 7.48.0 + "@sentry/types": 7.48.0 + "@sentry/utils": 7.48.0 + tslib: ^1.9.3 + checksum: 582199f54122fe8f9631fc5ab3910b82a4965b6f3b72572c5e497bf225b5bd38542a0576a01d4ccf2b47e8ac9995fbf2942fab702770f2ac33dbbb0c5ce9bda1 + languageName: node + linkType: hard + +"@sentry/cli@npm:^1.74.6": + version: 1.75.0 + resolution: "@sentry/cli@npm:1.75.0" + dependencies: + https-proxy-agent: ^5.0.0 + mkdirp: ^0.5.5 + node-fetch: ^2.6.7 + progress: ^2.0.3 + proxy-from-env: ^1.1.0 + which: ^2.0.2 + bin: + sentry-cli: bin/sentry-cli + checksum: d5b130bb45bc96d0f738801343455e6a113d1cc9e16166f0d6bfa022809b557159f010677d2dc05adcdfa7f8ad23c401182b6daef720fa2a0bad82fa6e3b2148 + languageName: node + linkType: hard + +"@sentry/core@npm:7.48.0": + version: 7.48.0 + resolution: "@sentry/core@npm:7.48.0" + dependencies: + "@sentry/types": 7.48.0 + "@sentry/utils": 7.48.0 + tslib: ^1.9.3 + checksum: cc4d0ada638a6da4b56f1824c419ef1aea7867cb1079d647cf9397752e86215fcad2dd7eebdf9893dedab64cfa3473435ed89e2afdc6eb8d68041b836b3e605a + languageName: node + linkType: hard + +"@sentry/integrations@npm:7.48.0": + version: 7.48.0 + resolution: "@sentry/integrations@npm:7.48.0" + dependencies: + "@sentry/types": 7.48.0 + "@sentry/utils": 7.48.0 + localforage: ^1.8.1 + tslib: ^1.9.3 + checksum: f3347e0c5b696cc14c91a5e8c63130c2c0d3971bbbe725d5e4e423fa65bda31bd56c3c0cd6ad5a667ea98a79a7a3f584c7b44cf7bad5a17dc81df7ec98c5e398 + languageName: node + linkType: hard + +"@sentry/nextjs@npm:^7.20.0": + version: 7.48.0 + resolution: "@sentry/nextjs@npm:7.48.0" + dependencies: + "@rollup/plugin-commonjs": 24.0.0 + "@sentry/core": 7.48.0 + "@sentry/integrations": 7.48.0 + "@sentry/node": 7.48.0 + "@sentry/react": 7.48.0 + "@sentry/types": 7.48.0 + "@sentry/utils": 7.48.0 + "@sentry/webpack-plugin": 1.20.0 + chalk: 3.0.0 + rollup: 2.78.0 + stacktrace-parser: ^0.1.10 + tslib: ^1.9.3 + peerDependencies: + next: ^10.0.8 || ^11.0 || ^12.0 || ^13.0 + react: 16.x || 17.x || 18.x + webpack: ">= 4.0.0" + peerDependenciesMeta: + webpack: + optional: true + checksum: 4ded73f7e130fdc48be19b2ee1c648883c5dcbbdaefa33af47384531b3ed4e15ae7c8c23ae16a809df83788793e1f4eccdee089c2b5d5a7c7ca8d4c2dca7202b + languageName: node + linkType: hard + +"@sentry/node@npm:7.48.0": + version: 7.48.0 + resolution: "@sentry/node@npm:7.48.0" + dependencies: + "@sentry-internal/tracing": 7.48.0 + "@sentry/core": 7.48.0 + "@sentry/types": 7.48.0 + "@sentry/utils": 7.48.0 + cookie: ^0.4.1 + https-proxy-agent: ^5.0.0 + lru_map: ^0.3.3 + tslib: ^1.9.3 + checksum: de9bbdd84d56a7851006a1c61c6ec08877fb7332bad83bfc4a3f5ca172a46b2d34cd084844531ac37de25fc317347820f182fd82e60aa54b4bb5046f848888ec + languageName: node + linkType: hard + +"@sentry/react@npm:7.48.0": + version: 7.48.0 + resolution: "@sentry/react@npm:7.48.0" + dependencies: + "@sentry/browser": 7.48.0 + "@sentry/types": 7.48.0 + "@sentry/utils": 7.48.0 + hoist-non-react-statics: ^3.3.2 + tslib: ^1.9.3 + peerDependencies: + react: 15.x || 16.x || 17.x || 18.x + checksum: 3ba6723ffc3c2236e322237d265cd8520d93ed7b7a793dd69d8c2bbf290db7c2ad68cf946f33af0d95481b3dd4c6ca485285cfcff1b8276da96cd3c810273249 + languageName: node + linkType: hard + +"@sentry/replay@npm:7.48.0": + version: 7.48.0 + resolution: "@sentry/replay@npm:7.48.0" + dependencies: + "@sentry/core": 7.48.0 + "@sentry/types": 7.48.0 + "@sentry/utils": 7.48.0 + checksum: e5ba2051966ea02b9d634132219a76cf020399bef87cc64105e31b620a1831661c69e46136198df751f18eff55ef5aff4b70178a37a08f5d334a258d1de6bb21 + languageName: node + linkType: hard + +"@sentry/types@npm:7.48.0": + version: 7.48.0 + resolution: "@sentry/types@npm:7.48.0" + checksum: a2378f3ccfe0d3c28031c48edb4516e4fd77d5e709f2b758dffc4e0c98a83983a9c2f1022d2a719b14a0db9427a53f689ccae6df24644389e461152e44da1ae0 + languageName: node + linkType: hard + +"@sentry/utils@npm:7.48.0": + version: 7.48.0 + resolution: "@sentry/utils@npm:7.48.0" + dependencies: + "@sentry/types": 7.48.0 + tslib: ^1.9.3 + checksum: 879a2866897684b5af43fdf2946bc37f6e5d7dd4310d3cc838a3f9b59dc3ed39084e8cf90ebf5cc699946b7c280653d6bff9cf695b43203f033aee08781b787a + languageName: node + linkType: hard + +"@sentry/webpack-plugin@npm:1.20.0": + version: 1.20.0 + resolution: "@sentry/webpack-plugin@npm:1.20.0" + dependencies: + "@sentry/cli": ^1.74.6 + webpack-sources: ^2.0.0 || ^3.0.0 + checksum: d582026c3686f287ddc23de4e64c6f03afc2a73a84ec5a8fd3eded56a45683094bf132f4c624a35386fff872eb518771109d5c0b91a2cf79da0aff035c5bb05b + languageName: node + linkType: hard + "@shuding/opentype.js@npm:1.4.0-beta.0": version: 1.4.0-beta.0 resolution: "@shuding/opentype.js@npm:1.4.0-beta.0" @@ -9249,6 +10066,29 @@ __metadata: languageName: node linkType: hard +"@sideway/address@npm:^4.1.3": + version: 4.1.4 + resolution: "@sideway/address@npm:4.1.4" + dependencies: + "@hapi/hoek": ^9.0.0 + checksum: b9fca2a93ac2c975ba12e0a6d97853832fb1f4fb02393015e012b47fa916a75ca95102d77214b2a29a2784740df2407951af8c5dde054824c65577fd293c4cdb + languageName: node + linkType: hard + +"@sideway/formula@npm:^3.0.1": + version: 3.0.1 + resolution: "@sideway/formula@npm:3.0.1" + checksum: e4beeebc9dbe2ff4ef0def15cec0165e00d1612e3d7cea0bc9ce5175c3263fc2c818b679bd558957f49400ee7be9d4e5ac90487e1625b4932e15c4aa7919c57a + languageName: node + linkType: hard + +"@sideway/pinpoint@npm:^2.0.0": + version: 2.0.0 + resolution: "@sideway/pinpoint@npm:2.0.0" + checksum: 0f4491e5897fcf5bf02c46f5c359c56a314e90ba243f42f0c100437935daa2488f20482f0f77186bd6bf43345095a95d8143ecf8b1f4d876a7bc0806aba9c3d2 + languageName: node + linkType: hard + "@sinclair/typebox@npm:^0.24.1": version: 0.24.19 resolution: "@sinclair/typebox@npm:0.24.19" @@ -9340,13 +10180,27 @@ __metadata: languageName: node linkType: hard -"@stablelib/base64@npm:^1.0.0": +"@stablelib/base64@npm:^1.0.0, @stablelib/base64@npm:^1.0.1": version: 1.0.1 resolution: "@stablelib/base64@npm:1.0.1" checksum: 3ef4466d1d6889ac3fc67407bc21aa079953981c322eeca3b29f426d05506c63011faab1bfc042d7406e0677a94de6c9d2db2ce079afdd1eccae90031bfb5859 languageName: node linkType: hard +"@stablelib/hex@npm:^1.0.1": + version: 1.0.1 + resolution: "@stablelib/hex@npm:1.0.1" + checksum: 557f1c5d6b42963deee7627d4be1ae3542607851c5561e9419c42682d09562ebd3a06e2d92e088c52213a71ed121ec38221abfc5acd9e65707a77ecee3c96915 + languageName: node + linkType: hard + +"@stablelib/utf8@npm:^1.0.1": + version: 1.0.1 + resolution: "@stablelib/utf8@npm:1.0.1" + checksum: 098d9446f38a641a8ee265a7fc3467fefd561fc46ca65e1216c1df7a9b4d004e616347ce79f4b83d62e944f0f91d6be4af029ad0b027a20c3271951921ebfac5 + languageName: node + linkType: hard + "@storybook/addon-actions@npm:6.5.13, @storybook/addon-actions@npm:^6.5.13": version: 6.5.13 resolution: "@storybook/addon-actions@npm:6.5.13" @@ -11345,6 +12199,25 @@ __metadata: languageName: node linkType: hard +"@typeform/embed-react@npm:^1.2.4": + version: 1.21.0 + resolution: "@typeform/embed-react@npm:1.21.0" + dependencies: + "@typeform/embed": 1.38.0 + fast-deep-equal: ^3.1.3 + peerDependencies: + react: ">=16.8.0" + checksum: 1d91cb797dfe7b27e08798f7a571f34724a8f56bf9c89a8ed2a454820efce2de4db44fd4a18f446573784c28f79478f269c1719500e1b332e7ea34ea77ffa185 + languageName: node + linkType: hard + +"@typeform/embed@npm:1.38.0": + version: 1.38.0 + resolution: "@typeform/embed@npm:1.38.0" + checksum: 41115134e5cee28f5e031181b4525c7885d23707699cf183921110262717c7544bfd101428267410b812914c235687783e373ce98e37bdc447d72f8177663597 + languageName: node + linkType: hard + "@types/accept-language-parser@npm:1.5.2": version: 1.5.2 resolution: "@types/accept-language-parser@npm:1.5.2" @@ -11557,6 +12430,13 @@ __metadata: languageName: node linkType: hard +"@types/debounce@npm:^1.2.1": + version: 1.2.1 + resolution: "@types/debounce@npm:1.2.1" + checksum: bea6d414acefbee50adfe87cee10f8a855d033e4778567ab03bdc3cb2648b6bf9237ca53f4ee76fe4be75f77f86d4688411499626fe409bc870f53631d24231f + languageName: node + linkType: hard + "@types/debug@npm:4.1.7, @types/debug@npm:^4.0.0": version: 4.1.7 resolution: "@types/debug@npm:4.1.7" @@ -11648,6 +12528,13 @@ __metadata: languageName: node linkType: hard +"@types/estree@npm:^1.0.0": + version: 1.0.0 + resolution: "@types/estree@npm:1.0.0" + checksum: 910d97fb7092c6738d30a7430ae4786a38542023c6302b95d46f49420b797f21619cdde11fa92b338366268795884111c2eb10356e4bd2c8ad5b92941e9e6443 + languageName: node + linkType: hard + "@types/express-jwt@npm:0.0.42": version: 0.0.42 resolution: "@types/express-jwt@npm:0.0.42" @@ -11716,6 +12603,13 @@ __metadata: languageName: node linkType: hard +"@types/gtag.js@npm:^0.0.10": + version: 0.0.10 + resolution: "@types/gtag.js@npm:0.0.10" + checksum: 5c18ffdc64418887763ec1a564e73c9fbf222ff3eece1fbc35a182fdd884e7884bb7708f67e6e4939f157bb9f2cb7a4aff42be7834527e35c5aac4f98783164c + languageName: node + linkType: hard + "@types/hast@npm:^2.0.0": version: 2.3.4 resolution: "@types/hast@npm:2.3.4" @@ -11839,7 +12733,7 @@ __metadata: languageName: node linkType: hard -"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.7, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": +"@types/json-schema@npm:*, @types/json-schema@npm:^7.0.4, @types/json-schema@npm:^7.0.5, @types/json-schema@npm:^7.0.6, @types/json-schema@npm:^7.0.7, @types/json-schema@npm:^7.0.8, @types/json-schema@npm:^7.0.9": version: 7.0.11 resolution: "@types/json-schema@npm:7.0.11" checksum: 527bddfe62db9012fccd7627794bd4c71beb77601861055d87e3ee464f2217c85fca7a4b56ae677478367bbd248dbde13553312b7d4dbc702a2f2bbf60c4018d @@ -12044,7 +12938,7 @@ __metadata: languageName: node linkType: hard -"@types/parse5@npm:^6.0.3": +"@types/parse5@npm:^6.0.0, @types/parse5@npm:^6.0.3": version: 6.0.3 resolution: "@types/parse5@npm:6.0.3" checksum: ddb59ee4144af5dfcc508a8dcf32f37879d11e12559561e65788756b95b33e6f03ea027d88e1f5408f9b7bfb656bf630ace31a2169edf44151daaf8dd58df1b7 @@ -12122,6 +13016,13 @@ __metadata: languageName: node linkType: hard +"@types/react-gtm-module@npm:^2.0.1": + version: 2.0.1 + resolution: "@types/react-gtm-module@npm:2.0.1" + checksum: cd57eece80d80453e79b16c977e13d51dc22c19af69a16ac6ea1eda01ab471f4dbe46ce80ce04ef13a0ecd0082372addec4c2e394978d1ce7fe86dbda4dfb922 + languageName: node + linkType: hard + "@types/react-phone-number-input@npm:^3.0.14": version: 3.0.14 resolution: "@types/react-phone-number-input@npm:3.0.14" @@ -12662,6 +13563,15 @@ __metadata: languageName: node linkType: hard +"@vercel/analytics@npm:^0.1.6": + version: 0.1.11 + resolution: "@vercel/analytics@npm:0.1.11" + peerDependencies: + react: ^16.8||^17||^18 + checksum: 05b8180ac6e23ebe7c09d74c43f8ee78c408cd0b6546e676389cbf4fba44dfeeae3648c9b52e2421be64fe3aeee8b026e6ea4bdfc0589fb5780670f2b090a167 + languageName: node + linkType: hard + "@vercel/edge-config@npm:^0.1.1": version: 0.1.1 resolution: "@vercel/edge-config@npm:0.1.1" @@ -13466,7 +14376,7 @@ __metadata: languageName: node linkType: hard -"accepts@npm:~1.3.5, accepts@npm:~1.3.8": +"accepts@npm:^1.3.7, accepts@npm:~1.3.5, accepts@npm:~1.3.8": version: 1.3.8 resolution: "accepts@npm:1.3.8" dependencies: @@ -14088,6 +14998,13 @@ __metadata: languageName: node linkType: hard +"array-flatten@npm:^3.0.0": + version: 3.0.0 + resolution: "array-flatten@npm:3.0.0" + checksum: ad00c51ca70cf837501fb6da823ba39bc6a86b43d0b76d840daa02fe0f8e68e94ad5bc2d0d038053118b879aaca8ea6168c32c7387a2fa5b118ad28db4f1f863 + languageName: node + linkType: hard + "array-includes@npm:^3.0.3, array-includes@npm:^3.1.5": version: 3.1.5 resolution: "array-includes@npm:3.1.5" @@ -14859,7 +15776,7 @@ __metadata: languageName: node linkType: hard -"base64-js@npm:^1.0.2, base64-js@npm:^1.3.0, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": +"base64-js@npm:^1.0.2, base64-js@npm:^1.1.2, base64-js@npm:^1.3.0, base64-js@npm:^1.3.1, base64-js@npm:^1.5.1": version: 1.5.1 resolution: "base64-js@npm:1.5.1" checksum: 669632eb3745404c2f822a18fc3a0122d2f9a7a13f7fb8b5823ee19d1d2ff9ee5b52c53367176ea4ad093c332fd5ab4bd0ebae5a8e27917a4105a4cfc86b1005 @@ -15226,6 +16143,15 @@ __metadata: languageName: node linkType: hard +"brotli@npm:^1.3.2": + version: 1.3.3 + resolution: "brotli@npm:1.3.3" + dependencies: + base64-js: ^1.1.2 + checksum: 2c97329f4ccb8e4332cedd2f63b85c2e15ffb305b1cbf046df86201434caf93cb7992ca73c0f7053b6a1417f595069ec7783c26e01510cefc10035a0f466e594 + languageName: node + linkType: hard + "browser-assert@npm:^1.2.1": version: 1.2.1 resolution: "browser-assert@npm:1.2.1" @@ -15953,6 +16879,16 @@ __metadata: languageName: node linkType: hard +"chalk@npm:3.0.0, chalk@npm:^3.0.0": + version: 3.0.0 + resolution: "chalk@npm:3.0.0" + dependencies: + ansi-styles: ^4.1.0 + supports-color: ^7.1.0 + checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 + languageName: node + linkType: hard + "chalk@npm:4.1.1": version: 4.1.1 resolution: "chalk@npm:4.1.1" @@ -15997,16 +16933,6 @@ __metadata: languageName: node linkType: hard -"chalk@npm:^3.0.0": - version: 3.0.0 - resolution: "chalk@npm:3.0.0" - dependencies: - ansi-styles: ^4.1.0 - supports-color: ^7.1.0 - checksum: 8e3ddf3981c4da405ddbd7d9c8d91944ddf6e33d6837756979f7840a29272a69a5189ecae0ff84006750d6d1e92368d413335eab4db5476db6e6703a1d1e0505 - languageName: node - linkType: hard - "change-case@npm:^2.3.0": version: 2.3.1 resolution: "change-case@npm:2.3.1" @@ -16108,6 +17034,13 @@ __metadata: languageName: node linkType: hard +"chart.js@npm:^3.7.1": + version: 3.9.1 + resolution: "chart.js@npm:3.9.1" + checksum: 9ab0c0ac01215af0b3f020f2e313030fd6e347b48ed17d5484ee9c4e8ead45e78ae71bea16c397621c386b409ce0b14bf17f9f6c2492cd15b56c0f433efdfff6 + languageName: node + linkType: hard + "check-more-types@npm:2.24.0": version: 2.24.0 resolution: "check-more-types@npm:2.24.0" @@ -16301,6 +17234,16 @@ __metadata: languageName: node linkType: hard +"cleye@npm:1.2.1": + version: 1.2.1 + resolution: "cleye@npm:1.2.1" + dependencies: + terminal-columns: ^1.4.1 + type-flag: ^2.1.0 + checksum: 80ccfe7aba18d61bcf30248a7fd55848df50c1eb4215bad8b661716335ae1bca504e649e7b0204976c1d1c104cab0e8d4141d9e9b4333ec3696de11c9ed4a3b7 + languageName: node + linkType: hard + "cli-boxes@npm:^2.2.0, cli-boxes@npm:^2.2.1": version: 2.2.1 resolution: "cli-boxes@npm:2.2.1" @@ -16380,7 +17323,7 @@ __metadata: languageName: node linkType: hard -"client-only@npm:0.0.1": +"client-only@npm:0.0.1, client-only@npm:^0.0.1": version: 0.0.1 resolution: "client-only@npm:0.0.1" checksum: 0c16bf660dadb90610553c1d8946a7fdfb81d624adea073b8440b7d795d5b5b08beb3c950c6a2cf16279365a3265158a236876d92bce16423c485c322d7dfaf8 @@ -16519,6 +17462,15 @@ __metadata: languageName: node linkType: hard +"cobe@npm:^0.4.1": + version: 0.4.2 + resolution: "cobe@npm:0.4.2" + dependencies: + phenomenon: ^1.6.0 + checksum: 4c11dd8cf3c6614a2ff2f6eacca5283278c6db06c2e441011aa90f58c66d045e66ef98a5e4b9d0282d58ee22f5b87d965538aa4c6064ed97f436f3e4cd9ee3ed + languageName: node + linkType: hard + "code-block-writer@npm:^11.0.0": version: 11.0.0 resolution: "code-block-writer@npm:11.0.0" @@ -16656,6 +17608,13 @@ __metadata: languageName: node linkType: hard +"commander@npm:6.2.0": + version: 6.2.0 + resolution: "commander@npm:6.2.0" + checksum: 59baef90f07ba8ae941e9d41a0a15be721d69e948ff833c218d936ffbbe2141580ce1ae2b1103c41436c30eefd1eb7bc3285de8936cd283fb78409f54a93f45a + languageName: node + linkType: hard + "commander@npm:9.1.0": version: 9.1.0 resolution: "commander@npm:9.1.0" @@ -16663,7 +17622,7 @@ __metadata: languageName: node linkType: hard -"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.8.1, commander@npm:^2.9.0": +"commander@npm:^2.19.0, commander@npm:^2.20.0, commander@npm:^2.20.3, commander@npm:^2.7.1, commander@npm:^2.8.1, commander@npm:^2.9.0": version: 2.20.3 resolution: "commander@npm:2.20.3" checksum: ab8c07884e42c3a8dbc5dd9592c606176c7eb5c1ca5ff274bcf907039b2c41de3626f684ea75ccf4d361ba004bbaff1f577d5384c155f3871e456bdf27becf9e @@ -16800,6 +17759,26 @@ __metadata: languageName: node linkType: hard +"concurrently@npm:^7.6.0": + version: 7.6.0 + resolution: "concurrently@npm:7.6.0" + dependencies: + chalk: ^4.1.0 + date-fns: ^2.29.1 + lodash: ^4.17.21 + rxjs: ^7.0.0 + shell-quote: ^1.7.3 + spawn-command: ^0.0.2-1 + supports-color: ^8.1.0 + tree-kill: ^1.2.2 + yargs: ^17.3.1 + bin: + conc: dist/bin/concurrently.js + concurrently: dist/bin/concurrently.js + checksum: f705c9a7960f1b16559ca64958043faeeef6385c0bf30a03d1375e15ab2d96dba4f8166f1bbbb1c85e8da35ca0ce3c353875d71dff2aa132b2357bb533b3332e + languageName: node + linkType: hard + "console-browserify@npm:^1.1.0": version: 1.2.0 resolution: "console-browserify@npm:1.2.0" @@ -16831,7 +17810,7 @@ __metadata: languageName: node linkType: hard -"content-disposition@npm:0.5.4, content-disposition@npm:^0.5.2": +"content-disposition@npm:0.5.4, content-disposition@npm:^0.5.2, content-disposition@npm:^0.5.3": version: 0.5.4 resolution: "content-disposition@npm:0.5.4" dependencies: @@ -16881,7 +17860,7 @@ __metadata: languageName: node linkType: hard -"cookie@npm:0.4.2, cookie@npm:^0.4.2": +"cookie@npm:0.4.2, cookie@npm:^0.4.1, cookie@npm:^0.4.2": version: 0.4.2 resolution: "cookie@npm:0.4.2" checksum: a00833c998bedf8e787b4c342defe5fa419abd96b32f4464f718b91022586b8f1bafbddd499288e75c037642493c83083da426c6a9080d309e3bd90fd11baa9b @@ -17156,6 +18135,18 @@ __metadata: languageName: node linkType: hard +"cross-env@npm:^7.0.3": + version: 7.0.3 + resolution: "cross-env@npm:7.0.3" + dependencies: + cross-spawn: ^7.0.1 + bin: + cross-env: src/bin/cross-env.js + cross-env-shell: src/bin/cross-env-shell.js + checksum: 26f2f3ea2ab32617f57effb70d329c2070d2f5630adc800985d8b30b56e8bf7f5f439dd3a0358b79cee6f930afc23cf8e23515f17ccfb30092c6b62c6b630a79 + languageName: node + linkType: hard + "cross-fetch@npm:3.1.5, cross-fetch@npm:^3.1.4, cross-fetch@npm:^3.1.5": version: 3.1.5 resolution: "cross-fetch@npm:3.1.5" @@ -17165,7 +18156,7 @@ __metadata: languageName: node linkType: hard -"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": +"cross-spawn@npm:7.0.3, cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.1, cross-spawn@npm:^7.0.2, cross-spawn@npm:^7.0.3": version: 7.0.3 resolution: "cross-spawn@npm:7.0.3" dependencies: @@ -17566,13 +18557,48 @@ __metadata: languageName: node linkType: hard -"date-fns@npm:^2.28.0, date-fns@npm:^2.29.3": +"date-fns@npm:^2.28.0, date-fns@npm:^2.29.1, date-fns@npm:^2.29.3": version: 2.29.3 resolution: "date-fns@npm:2.29.3" checksum: e01cf5b62af04e05dfff921bb9c9933310ed0e1ae9a81eb8653452e64dc841acf7f6e01e1a5ae5644d0337e9a7f936175fd2cb6819dc122fdd9c5e86c56be484 languageName: node linkType: hard +"datocms-listen@npm:^0.1.9": + version: 0.1.14 + resolution: "datocms-listen@npm:0.1.14" + checksum: 220309b8c35179160c2992b4f266cba10093984c51c16f459cc404962c8f5d859d596da42d70e3193190c227e31ac7406f2e2944830a35673be2757f895bfa93 + languageName: node + linkType: hard + +"datocms-structured-text-generic-html-renderer@npm:^2.0.1, datocms-structured-text-generic-html-renderer@npm:^2.0.4": + version: 2.0.4 + resolution: "datocms-structured-text-generic-html-renderer@npm:2.0.4" + dependencies: + datocms-structured-text-utils: ^2.0.4 + checksum: 58831e7bbcf8b8a18eb79af482898ba59b22ca18a52fafd9e855dce91933c26d0ae5ba53f002b1f34f4ebc106eb679232f3d00c560a4921b648a1787546f32b2 + languageName: node + linkType: hard + +"datocms-structured-text-to-plain-text@npm:^2.0.4": + version: 2.0.4 + resolution: "datocms-structured-text-to-plain-text@npm:2.0.4" + dependencies: + datocms-structured-text-generic-html-renderer: ^2.0.4 + datocms-structured-text-utils: ^2.0.4 + checksum: 24b36817849e6f8959bcdb3082f25487584d0f376765c0f1f94f3b549c10502220ea1c4936e6b323cc68d84da75488ce94d68528d9acecb835f3e5bcfb76a84a + languageName: node + linkType: hard + +"datocms-structured-text-utils@npm:^2.0.1, datocms-structured-text-utils@npm:^2.0.4": + version: 2.0.4 + resolution: "datocms-structured-text-utils@npm:2.0.4" + dependencies: + array-flatten: ^3.0.0 + checksum: 9e10d4faae0c47eebeee028cb0e8c459ecea6fb3dc4950ed0ab310d9b7f18d8ee014071142a42098b20c77264b60a2dd928e9a6462ae4ffea50a70d867f82f34 + languageName: node + linkType: hard + "dayjs-business-days2@npm:1.1.0": version: 1.1.0 resolution: "dayjs-business-days2@npm:1.1.0" @@ -17596,6 +18622,13 @@ __metadata: languageName: node linkType: hard +"debounce@npm:^1.2.1": + version: 1.2.1 + resolution: "debounce@npm:1.2.1" + checksum: 682a89506d9e54fb109526f4da255c5546102fbb8e3ae75eef3b04effaf5d4853756aee97475cd4650641869794e44f410eeb20ace2b18ea592287ab2038519e + languageName: node + linkType: hard + "debug@npm:2.6.9, debug@npm:^2.2.0, debug@npm:^2.3.3, debug@npm:^2.6.0, debug@npm:^2.6.9": version: 2.6.9 resolution: "debug@npm:2.6.9" @@ -17921,7 +18954,7 @@ __metadata: languageName: node linkType: hard -"depd@npm:~1.1.2": +"depd@npm:^1.1.0, depd@npm:~1.1.2": version: 1.1.2 resolution: "depd@npm:1.1.2" checksum: 6b406620d269619852885ce15965272b829df6f409724415e0002c8632ab6a8c0a08ec1f0bd2add05dc7bd7507606f7e2cc034fa24224ab829580040b835ecd9 @@ -17935,7 +18968,7 @@ __metadata: languageName: node linkType: hard -"dequal@npm:^2.0.3": +"dequal@npm:^2.0.2, dequal@npm:^2.0.3": version: 2.0.3 resolution: "dequal@npm:2.0.3" checksum: 8679b850e1a3d0ebbc46ee780d5df7b478c23f335887464023a631d1b9af051ad4a6595a44220f9ff8ff95a8ddccf019b5ad778a976fd7bbf77383d36f412f90 @@ -18109,6 +19142,15 @@ __metadata: languageName: node linkType: hard +"doctrine@npm:3.0.0, doctrine@npm:^3.0.0": + version: 3.0.0 + resolution: "doctrine@npm:3.0.0" + dependencies: + esutils: ^2.0.2 + checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce + languageName: node + linkType: hard + "doctrine@npm:^2.1.0": version: 2.1.0 resolution: "doctrine@npm:2.1.0" @@ -18118,15 +19160,6 @@ __metadata: languageName: node linkType: hard -"doctrine@npm:^3.0.0": - version: 3.0.0 - resolution: "doctrine@npm:3.0.0" - dependencies: - esutils: ^2.0.2 - checksum: fd7673ca77fe26cd5cba38d816bc72d641f500f1f9b25b83e8ce28827fe2da7ad583a8da26ab6af85f834138cf8dae9f69b0cd6ab925f52ddab1754db44d99ce - languageName: node - linkType: hard - "dom-accessibility-api@npm:^0.5.9": version: 0.5.14 resolution: "dom-accessibility-api@npm:0.5.14" @@ -18347,6 +19380,13 @@ __metadata: languageName: node linkType: hard +"dotenv@npm:^10.0.0": + version: 10.0.0 + resolution: "dotenv@npm:10.0.0" + checksum: f412c5fe8c24fbe313d302d2500e247ba8a1946492db405a4de4d30dd0eb186a88a43f13c958c5a7de303938949c4231c56994f97d05c4bc1f22478d631b4005 + languageName: node + linkType: hard + "dotenv@npm:^16.0.0, dotenv@npm:^16.0.1": version: 16.0.1 resolution: "dotenv@npm:16.0.1" @@ -19858,7 +20898,7 @@ __metadata: languageName: node linkType: hard -"estree-walker@npm:^2.0.1": +"estree-walker@npm:^2.0.1, estree-walker@npm:^2.0.2": version: 2.0.2 resolution: "estree-walker@npm:2.0.2" checksum: 6151e6f9828abe2259e57f5fd3761335bb0d2ebd76dc1a01048ccee22fabcfef3c0859300f6d83ff0d1927849368775ec5a6d265dde2f6de5a1be1721cd94efc @@ -20665,6 +21705,13 @@ __metadata: languageName: node linkType: hard +"fathom-client@npm:^3.5.0": + version: 3.5.0 + resolution: "fathom-client@npm:3.5.0" + checksum: 16299bd50dc6bcc716a0d6c81fdad65272ff4f08d68695b64b00e19a04de14771c96ddc1205ce7c4220eddd0d3cf70c65ee9c8fb32b8b776ef155faf61e44479 + languageName: node + linkType: hard + "fault@npm:^1.0.0": version: 1.0.4 resolution: "fault@npm:1.0.4" @@ -21248,7 +22295,7 @@ __metadata: languageName: node linkType: hard -"fresh@npm:0.5.2": +"fresh@npm:0.5.2, fresh@npm:^0.5.2": version: 0.5.2 resolution: "fresh@npm:0.5.2" checksum: 13ea8b08f91e669a64e3ba3a20eb79d7ca5379a81f1ff7f4310d54e2320645503cc0c78daedc93dfb6191287295f6479544a649c64d8e41a1c0fb0c221552346 @@ -21301,6 +22348,17 @@ __metadata: languageName: node linkType: hard +"fs-extra@npm:^8.0.1": + version: 8.1.0 + resolution: "fs-extra@npm:8.1.0" + dependencies: + graceful-fs: ^4.2.0 + jsonfile: ^4.0.0 + universalify: ^0.1.0 + checksum: bf44f0e6cea59d5ce071bba4c43ca76d216f89e402dc6285c128abc0902e9b8525135aa808adad72c9d5d218e9f4bcc63962815529ff2f684ad532172a284880 + languageName: node + linkType: hard + "fs-extra@npm:^9.0.0, fs-extra@npm:^9.0.1": version: 9.1.0 resolution: "fs-extra@npm:9.1.0" @@ -21686,6 +22744,13 @@ __metadata: languageName: node linkType: hard +"github-buttons@npm:^2.22.0": + version: 2.27.0 + resolution: "github-buttons@npm:2.27.0" + checksum: 1954e04fc7e65a5c14b9c0726b486015deee648c9de62f7f0d4267bbd548090f57137d33e1755490736b10578c4fc7bf149fe64c296d7634a1bfc3707e25e96b + languageName: node + linkType: hard + "github-slugger@npm:^1.0.0, github-slugger@npm:^1.3.0": version: 1.4.0 resolution: "github-slugger@npm:1.4.0" @@ -21813,7 +22878,7 @@ __metadata: languageName: node linkType: hard -"glob@npm:^8.0.1, glob@npm:^8.1.0": +"glob@npm:^8.0.1, glob@npm:^8.0.3, glob@npm:^8.1.0": version: 8.1.0 resolution: "glob@npm:8.1.0" dependencies: @@ -21926,6 +22991,19 @@ __metadata: languageName: node linkType: hard +"globby@npm:^13.1.3": + version: 13.1.4 + resolution: "globby@npm:13.1.4" + dependencies: + dir-glob: ^3.0.1 + fast-glob: ^3.2.11 + ignore: ^5.2.0 + merge2: ^1.4.1 + slash: ^4.0.0 + checksum: e8bc13879972082d590cd1b0e27080d90d2e12fff7eeb2cee9329c29115ace14cc5b9f899e3d6beb136ba826307a727016658919a6f383e1511d698acee81741 + languageName: node + linkType: hard + "globby@npm:^9.2.0": version: 9.2.0 resolution: "globby@npm:9.2.0" @@ -22128,6 +23206,13 @@ __metadata: languageName: node linkType: hard +"gsap@npm:^3.11.0": + version: 3.11.5 + resolution: "gsap@npm:3.11.5" + checksum: 0d62c9405ed9703f8c65e6190b648d9691fa84bd03bcde0d286cd29d80c5865c22aa57a128b33299c0c15d41473e83f13be1645700325f3821dd912a3022350d + languageName: node + linkType: hard + "gtoken@npm:^5.0.4": version: 5.3.2 resolution: "gtoken@npm:5.3.2" @@ -22389,6 +23474,21 @@ __metadata: languageName: node linkType: hard +"hast-util-from-parse5@npm:^7.0.0": + version: 7.1.2 + resolution: "hast-util-from-parse5@npm:7.1.2" + dependencies: + "@types/hast": ^2.0.0 + "@types/unist": ^2.0.0 + hastscript: ^7.0.0 + property-information: ^6.0.0 + vfile: ^5.0.0 + vfile-location: ^4.0.0 + web-namespaces: ^2.0.0 + checksum: 7b4ed5b508b1352127c6719f7b0c0880190cf9859fe54ccaf7c9228ecf623d36cef3097910b3874d2fe1aac6bf4cf45d3cc2303daac3135a05e9ade6534ddddb + languageName: node + linkType: hard + "hast-util-parse-selector@npm:^2.0.0": version: 2.2.5 resolution: "hast-util-parse-selector@npm:2.2.5" @@ -22396,6 +23496,15 @@ __metadata: languageName: node linkType: hard +"hast-util-parse-selector@npm:^3.0.0": + version: 3.1.1 + resolution: "hast-util-parse-selector@npm:3.1.1" + dependencies: + "@types/hast": ^2.0.0 + checksum: 511d373465f60dd65e924f88bf0954085f4fb6e3a2b062a4b5ac43b93cbfd36a8dce6234b5d1e3e63499d936375687e83fc5da55628b22bd6b581b5ee167d1c4 + languageName: node + linkType: hard + "hast-util-raw@npm:6.0.1": version: 6.0.1 resolution: "hast-util-raw@npm:6.0.1" @@ -22414,6 +23523,34 @@ __metadata: languageName: node linkType: hard +"hast-util-raw@npm:^7.0.0": + version: 7.2.3 + resolution: "hast-util-raw@npm:7.2.3" + dependencies: + "@types/hast": ^2.0.0 + "@types/parse5": ^6.0.0 + hast-util-from-parse5: ^7.0.0 + hast-util-to-parse5: ^7.0.0 + html-void-elements: ^2.0.0 + parse5: ^6.0.0 + unist-util-position: ^4.0.0 + unist-util-visit: ^4.0.0 + vfile: ^5.0.0 + web-namespaces: ^2.0.0 + zwitch: ^2.0.0 + checksum: 21857eea3ffb8fd92d2d9be7793b56d0b2c40db03c4cfa14828855ae41d7c584917aa83efb7157220b2e41e25e95f81f24679ac342c35145e5f1c1d39015f81f + languageName: node + linkType: hard + +"hast-util-sanitize@npm:^4.0.0": + version: 4.1.0 + resolution: "hast-util-sanitize@npm:4.1.0" + dependencies: + "@types/hast": ^2.0.0 + checksum: 4f1786d6556bae6485a657a3e77e7e71b573fd20e4e2d70678e0f445eb8fe3dc6c4441cda6d18b89a79b53e2c03b6232eb6c470ecd478737050724ea09398603 + languageName: node + linkType: hard + "hast-util-to-estree@npm:^2.0.0": version: 2.0.2 resolution: "hast-util-to-estree@npm:2.0.2" @@ -22436,6 +23573,25 @@ __metadata: languageName: node linkType: hard +"hast-util-to-html@npm:^8.0.0": + version: 8.0.4 + resolution: "hast-util-to-html@npm:8.0.4" + dependencies: + "@types/hast": ^2.0.0 + "@types/unist": ^2.0.0 + ccount: ^2.0.0 + comma-separated-tokens: ^2.0.0 + hast-util-raw: ^7.0.0 + hast-util-whitespace: ^2.0.0 + html-void-elements: ^2.0.0 + property-information: ^6.0.0 + space-separated-tokens: ^2.0.0 + stringify-entities: ^4.0.0 + zwitch: ^2.0.4 + checksum: 8f2ae071df2ced5afb4f19f76af8fd3a2f837dc47bcc1c0e0c1578d29dafcd28738f9617505d13c4a2adf13d70e043143e2ad8f130d5554ab4fc11bfa8f74094 + languageName: node + linkType: hard + "hast-util-to-parse5@npm:^6.0.0": version: 6.0.0 resolution: "hast-util-to-parse5@npm:6.0.0" @@ -22449,6 +23605,20 @@ __metadata: languageName: node linkType: hard +"hast-util-to-parse5@npm:^7.0.0": + version: 7.1.0 + resolution: "hast-util-to-parse5@npm:7.1.0" + dependencies: + "@types/hast": ^2.0.0 + comma-separated-tokens: ^2.0.0 + property-information: ^6.0.0 + space-separated-tokens: ^2.0.0 + web-namespaces: ^2.0.0 + zwitch: ^2.0.0 + checksum: 3a7f2175a3db599bbae7e49ba73d3e5e688e5efca7590ff50130ba108ad649f728402815d47db49146f6b94c14c934bf119915da9f6964e38802c122bcc8af6b + languageName: node + linkType: hard + "hast-util-whitespace@npm:^2.0.0": version: 2.0.0 resolution: "hast-util-whitespace@npm:2.0.0" @@ -22469,6 +23639,19 @@ __metadata: languageName: node linkType: hard +"hastscript@npm:^7.0.0": + version: 7.2.0 + resolution: "hastscript@npm:7.2.0" + dependencies: + "@types/hast": ^2.0.0 + comma-separated-tokens: ^2.0.0 + hast-util-parse-selector: ^3.0.0 + property-information: ^6.0.0 + space-separated-tokens: ^2.0.0 + checksum: 928a21576ff7b9a8c945e7940bcbf2d27f770edb4279d4d04b33dc90753e26ca35c1172d626f54afebd377b2afa32331e399feb3eb0f7b91a399dca5927078ae + languageName: node + linkType: hard + "he@npm:^1.2.0": version: 1.2.0 resolution: "he@npm:1.2.0" @@ -22615,6 +23798,13 @@ __metadata: languageName: node linkType: hard +"html-void-elements@npm:^2.0.0": + version: 2.0.1 + resolution: "html-void-elements@npm:2.0.1" + checksum: 06d41f13b9d5d6e0f39861c4bec9a9196fa4906d56cd5cf6cf54ad2e52a85bf960cca2bf9600026bde16c8331db171bedba5e5a35e2e43630c8f1d497b2fb658 + languageName: node + linkType: hard + "html-webpack-plugin@npm:^4.0.0": version: 4.5.2 resolution: "html-webpack-plugin@npm:4.5.2" @@ -23010,6 +24200,20 @@ __metadata: languageName: node linkType: hard +"immediate@npm:~3.0.5": + version: 3.0.6 + resolution: "immediate@npm:3.0.6" + checksum: f9b3486477555997657f70318cc8d3416159f208bec4cca3ff3442fd266bc23f50f0c9bd8547e1371a6b5e82b821ec9a7044a4f7b944798b25aa3cc6d5e63e62 + languageName: node + linkType: hard + +"immer@npm:^9.0.15": + version: 9.0.21 + resolution: "immer@npm:9.0.21" + checksum: 70e3c274165995352f6936695f0ef4723c52c92c92dd0e9afdfe008175af39fa28e76aafb3a2ca9d57d1fb8f796efc4dd1e1cc36f18d33fa5b74f3dfb0375432 + languageName: node + linkType: hard + "immutable@npm:^3.8.2, immutable@npm:^3.x.x": version: 3.8.2 resolution: "immutable@npm:3.8.2" @@ -23834,6 +25038,15 @@ __metadata: languageName: node linkType: hard +"is-reference@npm:1.2.1": + version: 1.2.1 + resolution: "is-reference@npm:1.2.1" + dependencies: + "@types/estree": "*" + checksum: e7b48149f8abda2c10849ea51965904d6a714193d68942ad74e30522231045acf06cbfae5a4be2702fede5d232e61bf50b3183acdc056e6e3afe07fcf4f4b2bc + languageName: node + linkType: hard + "is-reference@npm:^3.0.0": version: 3.0.0 resolution: "is-reference@npm:3.0.0" @@ -24832,6 +26045,26 @@ __metadata: languageName: node linkType: hard +"joi@npm:^17.7.0": + version: 17.9.1 + resolution: "joi@npm:17.9.1" + dependencies: + "@hapi/hoek": ^9.0.0 + "@hapi/topo": ^5.0.0 + "@sideway/address": ^4.1.3 + "@sideway/formula": ^3.0.1 + "@sideway/pinpoint": ^2.0.0 + checksum: 055df3841e00d7ed065ef1cc3330cf69097ab2ffec3083d8b1d6edfd2e25504bf2983f5249d6f0459bcad99fe21bb0c9f6f1cc03569713af27cd5eb00ee7bb7d + languageName: node + linkType: hard + +"jose@npm:4.11.1": + version: 4.11.1 + resolution: "jose@npm:4.11.1" + checksum: cd15cba258d0fd20f6168631ce2e94fda8442df80e43c1033c523915cecdf390a1cc8efe0eab0c2d65935ca973d791c668aea80724d2aa9c2879d4e70f3081d7 + languageName: node + linkType: hard + "jose@npm:4.12.0": version: 4.12.0 resolution: "jose@npm:4.12.0" @@ -25208,6 +26441,19 @@ __metadata: languageName: node linkType: hard +"jsonfile@npm:^5.0.0": + version: 5.0.0 + resolution: "jsonfile@npm:5.0.0" + dependencies: + graceful-fs: ^4.1.6 + universalify: ^0.1.2 + dependenciesMeta: + graceful-fs: + optional: true + checksum: e0ecff572dba34153a66e3a3bc5c6cb01a2c1d2cf4a2c19b6728dcfcab39d94be9cca4a0fc86a17ff2c815f2aeb43768ac75545780dbea4009433fdc32aa14d1 + languageName: node + linkType: hard + "jsonfile@npm:^6.0.1": version: 6.1.0 resolution: "jsonfile@npm:6.1.0" @@ -25370,6 +26616,13 @@ __metadata: languageName: node linkType: hard +"keen-slider@npm:^6.8.0": + version: 6.8.5 + resolution: "keen-slider@npm:6.8.5" + checksum: 1ef25cde02636068a0c66de994eb1e5ac1935a1a1f28e5cf4dcbf2c9cf2b802e0e23bdcd97dd9a9ae93de335ccc990379ab21bda75637fe04e86cbb7d799e23a + languageName: node + linkType: hard + "keypress@npm:~0.2.1": version: 0.2.1 resolution: "keypress@npm:0.2.1" @@ -25533,6 +26786,15 @@ __metadata: languageName: node linkType: hard +"lie@npm:3.1.1": + version: 3.1.1 + resolution: "lie@npm:3.1.1" + dependencies: + immediate: ~3.0.5 + checksum: 6da9f2121d2dbd15f1eca44c0c7e211e66a99c7b326ec8312645f3648935bc3a658cf0e9fa7b5f10144d9e2641500b4f55bd32754607c3de945b5f443e50ddd1 + languageName: node + linkType: hard + "lilconfig@npm:2.0.5, lilconfig@npm:^2.0.5": version: 2.0.5 resolution: "lilconfig@npm:2.0.5" @@ -25739,6 +27001,15 @@ __metadata: languageName: node linkType: hard +"localforage@npm:^1.8.1": + version: 1.10.0 + resolution: "localforage@npm:1.10.0" + dependencies: + lie: 3.1.1 + checksum: f2978b434dafff9bcb0d9498de57d97eba165402419939c944412e179cab1854782830b5ec196212560b22712d1dd03918939f59cf1d4fc1d756fca7950086cf + languageName: node + linkType: hard + "locate-path@npm:^2.0.0": version: 2.0.0 resolution: "locate-path@npm:2.0.0" @@ -25875,6 +27146,13 @@ __metadata: languageName: node linkType: hard +"lodash.mergewith@npm:^4.6.2": + version: 4.6.2 + resolution: "lodash.mergewith@npm:4.6.2" + checksum: a6db2a9339752411f21b956908c404ec1e088e783a65c8b29e30ae5b3b6384f82517662d6f425cc97c2070b546cc2c7daaa8d33f78db7b6e9be06cd834abdeb8 + languageName: node + linkType: hard + "lodash.once@npm:^4.0.0, lodash.once@npm:^4.1.1": version: 4.1.1 resolution: "lodash.once@npm:4.1.1" @@ -26111,6 +27389,22 @@ __metadata: languageName: node linkType: hard +"lru_map@npm:^0.3.3": + version: 0.3.3 + resolution: "lru_map@npm:0.3.3" + checksum: ca9dd43c65ed7a4f117c548028101c5b6855e10923ea9d1f635af53ad20c5868ff428c364d454a7b57fe391b89c704982275410c3c5099cca5aeee00d76e169a + languageName: node + linkType: hard + +"lucide-react@npm:^0.125.0": + version: 0.125.0 + resolution: "lucide-react@npm:0.125.0" + peerDependencies: + react: ^16.5.1 || ^17.0.0 || ^18.0.0 + checksum: 6d86330fd4316a42624d537cc07adc3c51c18a699a02ef3abbd221c3140ae5ac5685396e1f5cb20f5f5ba80fa100523a5a6811c22a51bd13bbfdf65546cfffdf + languageName: node + linkType: hard + "lucide-react@npm:^0.130.0": version: 0.130.1 resolution: "lucide-react@npm:0.130.1" @@ -26154,6 +27448,15 @@ __metadata: languageName: node linkType: hard +"magic-string@npm:^0.27.0": + version: 0.27.0 + resolution: "magic-string@npm:0.27.0" + dependencies: + "@jridgewell/sourcemap-codec": ^1.4.13 + checksum: 273faaa50baadb7a2df6e442eac34ad611304fc08fe16e24fe2e472fd944bfcb73ffb50d2dc972dc04e92784222002af46868cb9698b1be181c81830fd95a13e + languageName: node + linkType: hard + "make-dir@npm:^1.0.0": version: 1.3.0 resolution: "make-dir@npm:1.3.0" @@ -26557,6 +27860,23 @@ __metadata: languageName: node linkType: hard +"mdast-util-to-hast@npm:^11.0.0": + version: 11.3.0 + resolution: "mdast-util-to-hast@npm:11.3.0" + dependencies: + "@types/hast": ^2.0.0 + "@types/mdast": ^3.0.0 + "@types/mdurl": ^1.0.0 + mdast-util-definitions: ^5.0.0 + mdurl: ^1.0.0 + unist-builder: ^3.0.0 + unist-util-generated: ^2.0.0 + unist-util-position: ^4.0.0 + unist-util-visit: ^4.0.0 + checksum: a968d034613aa5cfb44b9c03d8e61a08bb563bfde3a233fb3d83a28857357e2beef56b6767bab2867d3c3796dc5dd796af4d03fb83e3133aeb7f4187b5cc9327 + languageName: node + linkType: hard + "mdast-util-to-hast@npm:^12.1.0": version: 12.1.1 resolution: "mdast-util-to-hast@npm:12.1.1" @@ -26776,7 +28096,7 @@ __metadata: languageName: node linkType: hard -"merge-descriptors@npm:1.0.1": +"merge-descriptors@npm:1.0.1, merge-descriptors@npm:^1.0.1": version: 1.0.1 resolution: "merge-descriptors@npm:1.0.1" checksum: 5abc259d2ae25bb06d19ce2b94a21632583c74e2a9109ee1ba7fd147aa7362b380d971e0251069f8b3eb7d48c21ac839e21fa177b335e82c76ec172e30c31a26 @@ -27418,6 +28738,13 @@ __metadata: languageName: node linkType: hard +"minimist@npm:^1.2.7": + version: 1.2.8 + resolution: "minimist@npm:1.2.8" + checksum: 75a6d645fb122dad29c06a7597bddea977258957ed88d7a6df59b5cd3fe4a527e253e9bbf2e783e4b73657f9098b96a5fe96ab8a113655d4109108577ecf85b0 + languageName: node + linkType: hard + "minipass-collect@npm:^1.0.2": version: 1.0.2 resolution: "minipass-collect@npm:1.0.2" @@ -27621,6 +28948,15 @@ __metadata: languageName: node linkType: hard +"modify-response-middleware@npm:^1.1.0": + version: 1.1.0 + resolution: "modify-response-middleware@npm:1.1.0" + dependencies: + brotli: ^1.3.2 + checksum: eeee5c14ae9492f8b3949b10786af35e7ff362c1f54ef2015ee4db770492b1ba41ec8b5ffd08dee6401346c94bffff663ef93187c3487913cd3a79df10379081 + languageName: node + linkType: hard + "module-alias@npm:^2.2.2": version: 2.2.2 resolution: "module-alias@npm:2.2.2" @@ -27992,6 +29328,17 @@ __metadata: languageName: node linkType: hard +"next-api-middleware@npm:^1.0.1": + version: 1.0.1 + resolution: "next-api-middleware@npm:1.0.1" + dependencies: + debug: ^4.3.2 + peerDependencies: + next: ">=10" + checksum: c370494616edaef7f8a4efa33c35fe18b1b15405c74f3d77f6475efa5b792346fffd87679affb5936c2fc604bfcd4e64a8e679049a8fc432bf8426eada48c9fc + languageName: node + linkType: hard + "next-auth@npm:^4.20.1": version: 4.20.1 resolution: "next-auth@npm:4.20.1" @@ -28070,6 +29417,21 @@ __metadata: languageName: node linkType: hard +"next-swagger-doc@npm:^0.3.4": + version: 0.3.6 + resolution: "next-swagger-doc@npm:0.3.6" + dependencies: + cleye: 1.2.1 + isarray: 2.0.5 + swagger-jsdoc: 6.2.5 + peerDependencies: + next: ">=9" + bin: + next-swagger-doc-cli: dist/cli.js + checksum: b9e11ecda6327e4a881a61f17b96407d9a260a532467b3552eb4bdb874c48889fc437db437395c121c80b33ba3be87cbff00f34c6f103259df78588227c83a2e + languageName: node + linkType: hard + "next-themes@npm:^0.0.8": version: 0.0.8 resolution: "next-themes@npm:0.0.8" @@ -28109,6 +29471,86 @@ __metadata: languageName: node linkType: hard +"next-validations@npm:^0.2.0": + version: 0.2.1 + resolution: "next-validations@npm:0.2.1" + peerDependencies: + next: "*" + checksum: f0af51cd0e07e5ece3353b290f36c36f859436b465071a0765cc0dcea630ecccaaa217cf992e174b9f357a6ca24ea65c85084bb0c4bc2029d4b2ac93c1a66ca2 + languageName: node + linkType: hard + +"next@npm:13.2.4-canary.5": + version: 13.2.4-canary.5 + resolution: "next@npm:13.2.4-canary.5" + dependencies: + "@next/env": 13.2.4-canary.5 + "@next/swc-android-arm-eabi": 13.2.4-canary.5 + "@next/swc-android-arm64": 13.2.4-canary.5 + "@next/swc-darwin-arm64": 13.2.4-canary.5 + "@next/swc-darwin-x64": 13.2.4-canary.5 + "@next/swc-freebsd-x64": 13.2.4-canary.5 + "@next/swc-linux-arm-gnueabihf": 13.2.4-canary.5 + "@next/swc-linux-arm64-gnu": 13.2.4-canary.5 + "@next/swc-linux-arm64-musl": 13.2.4-canary.5 + "@next/swc-linux-x64-gnu": 13.2.4-canary.5 + "@next/swc-linux-x64-musl": 13.2.4-canary.5 + "@next/swc-win32-arm64-msvc": 13.2.4-canary.5 + "@next/swc-win32-ia32-msvc": 13.2.4-canary.5 + "@next/swc-win32-x64-msvc": 13.2.4-canary.5 + "@swc/helpers": 0.4.14 + caniuse-lite: ^1.0.30001406 + postcss: 8.4.14 + styled-jsx: 5.1.1 + peerDependencies: + "@opentelemetry/api": ^1.4.0 + fibers: ">= 3.1.0" + node-sass: ^6.0.0 || ^7.0.0 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + dependenciesMeta: + "@next/swc-android-arm-eabi": + optional: true + "@next/swc-android-arm64": + optional: true + "@next/swc-darwin-arm64": + optional: true + "@next/swc-darwin-x64": + optional: true + "@next/swc-freebsd-x64": + optional: true + "@next/swc-linux-arm-gnueabihf": + optional: true + "@next/swc-linux-arm64-gnu": + optional: true + "@next/swc-linux-arm64-musl": + optional: true + "@next/swc-linux-x64-gnu": + optional: true + "@next/swc-linux-x64-musl": + optional: true + "@next/swc-win32-arm64-msvc": + optional: true + "@next/swc-win32-ia32-msvc": + optional: true + "@next/swc-win32-x64-msvc": + optional: true + peerDependenciesMeta: + "@opentelemetry/api": + optional: true + fibers: + optional: true + node-sass: + optional: true + sass: + optional: true + bin: + next: dist/bin/next + checksum: 47616f1ebbf0e716ca67313d247d56f646e1f663dcfc99125a0e882ed74a6ebc2c776a7e05438b4e928d38d8dae42933c5b314dfb8e4c0a566edd0e26647335a + languageName: node + linkType: hard + "next@npm:^13.2.1": version: 13.2.3 resolution: "next@npm:13.2.3" @@ -28363,6 +29805,24 @@ __metadata: languageName: node linkType: hard +"node-mocks-http@npm:^1.11.0": + version: 1.12.2 + resolution: "node-mocks-http@npm:1.12.2" + dependencies: + accepts: ^1.3.7 + content-disposition: ^0.5.3 + depd: ^1.1.0 + fresh: ^0.5.2 + merge-descriptors: ^1.0.1 + methods: ^1.1.2 + mime: ^1.3.4 + parseurl: ^1.3.3 + range-parser: ^1.2.0 + type-is: ^1.6.18 + checksum: 39e50b7146bd37fd56a0588ee3df46fd310f76395d52e9b8889545910aca6cc8e8a41de3cdd3e103903d4bbfc556e67624fcbe934c0bd3b0cca6ee1358a0f440 + languageName: node + linkType: hard + "node-releases@npm:^2.0.2": version: 2.0.2 resolution: "node-releases@npm:2.0.2" @@ -28581,6 +30041,13 @@ __metadata: languageName: node linkType: hard +"oauth4webapi@npm:2.0.5": + version: 2.0.5 + resolution: "oauth4webapi@npm:2.0.5" + checksum: 32d0cb7b1cca42d51dfb88075ca2d69fe33172a807e8ea50e317d17cab3bc80588ab8ebcb7eb4600c371a70af4674595b4b341daf6f3a655f1efa1ab715bb6c9 + languageName: node + linkType: hard + "oauth@npm:^0.9.15": version: 0.9.15 resolution: "oauth@npm:0.9.15" @@ -28641,6 +30108,13 @@ __metadata: languageName: node linkType: hard +"object-path@npm:^0.11.8": + version: 0.11.8 + resolution: "object-path@npm:0.11.8" + checksum: 684ccf0fb6b82f067dc81e2763481606692b8485bec03eb2a64e086a44dbea122b2b9ef44423a08e09041348fe4b4b67bd59985598f1652f67df95f0618f5968 + languageName: node + linkType: hard + "object-visit@npm:^1.0.0": version: 1.0.1 resolution: "object-visit@npm:1.0.1" @@ -29432,7 +30906,7 @@ __metadata: languageName: node linkType: hard -"parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": +"parseurl@npm:^1.3.3, parseurl@npm:~1.3.2, parseurl@npm:~1.3.3": version: 1.3.3 resolution: "parseurl@npm:1.3.3" checksum: 407cee8e0a3a4c5cd472559bca8b6a45b82c124e9a4703302326e9ab60fc1081442ada4e02628efef1eb16197ddc7f8822f5a91fd7d7c86b51f530aedb17dfa2 @@ -29713,6 +31187,13 @@ __metadata: languageName: node linkType: hard +"phenomenon@npm:^1.6.0": + version: 1.6.0 + resolution: "phenomenon@npm:1.6.0" + checksum: e05ca8223a9df42c5cee02c082103ef96a349424fec18a8478d2171060a63095e21bef394529263c64d8082aff43204a0fa1355211fd7ac2a338c2839fffbca3 + languageName: node + linkType: hard + "phin@npm:^2.9.1": version: 2.9.3 resolution: "phin@npm:2.9.3" @@ -29873,6 +31354,26 @@ __metadata: languageName: node linkType: hard +"playwright-core@npm:1.32.3": + version: 1.32.3 + resolution: "playwright-core@npm:1.32.3" + bin: + playwright: cli.js + checksum: 7ea091c41a7d1bb97b445bc541a85b123ffcf167bcc00fb7e13e9079f06c92f59fd27caf9d1c1d7e0054f2b5765d1a16d198833c2be7266cebb9dbb916cd90f4 + languageName: node + linkType: hard + +"playwright@npm:^1.31.2": + version: 1.32.3 + resolution: "playwright@npm:1.32.3" + dependencies: + playwright-core: 1.32.3 + bin: + playwright: cli.js + checksum: 9627771a131ab96a26d702757e89dcf09a228f0038c43a14f982cc59a2eca672cb27c9d92c324ddc2c44457b82d77c30b3562b386601969e0456b52dba5df176 + languageName: node + linkType: hard + "pngjs@npm:^3.0.0, pngjs@npm:^3.3.0, pngjs@npm:^3.3.3": version: 3.4.0 resolution: "pngjs@npm:3.4.0" @@ -30212,6 +31713,17 @@ __metadata: languageName: node linkType: hard +"preact-render-to-string@npm:5.2.3": + version: 5.2.3 + resolution: "preact-render-to-string@npm:5.2.3" + dependencies: + pretty-format: ^3.8.0 + peerDependencies: + preact: ">=10" + checksum: 6e46288d8956adde35b9fe3a21aecd9dea29751b40f0f155dea62f3896f27cb8614d457b32f48d33909d2da81135afcca6c55077520feacd7d15164d1371fb44 + languageName: node + linkType: hard + "preact-render-to-string@npm:^5.1.19": version: 5.2.6 resolution: "preact-render-to-string@npm:5.2.6" @@ -30223,6 +31735,13 @@ __metadata: languageName: node linkType: hard +"preact@npm:10.11.3, preact@npm:^10.6.3": + version: 10.11.3 + resolution: "preact@npm:10.11.3" + checksum: 9387115aa0581e8226309e6456e9856f17dfc0e3d3e63f774de80f3d462a882ba7c60914c05942cb51d51e23e120dcfe904b8d392d46f29ad15802941fe7a367 + languageName: node + linkType: hard + "preact@npm:10.4.1": version: 10.4.1 resolution: "preact@npm:10.4.1" @@ -30237,13 +31756,6 @@ __metadata: languageName: node linkType: hard -"preact@npm:^10.6.3": - version: 10.11.3 - resolution: "preact@npm:10.11.3" - checksum: 9387115aa0581e8226309e6456e9856f17dfc0e3d3e63f774de80f3d462a882ba7c60914c05942cb51d51e23e120dcfe904b8d392d46f29ad15802941fe7a367 - languageName: node - linkType: hard - "prelude-ls@npm:^1.2.1": version: 1.2.1 resolution: "prelude-ls@npm:1.2.1" @@ -30429,6 +31941,33 @@ __metadata: languageName: node linkType: hard +"prism-react-renderer@npm:^1.3.5": + version: 1.3.5 + resolution: "prism-react-renderer@npm:1.3.5" + peerDependencies: + react: ">=0.14.9" + checksum: c18806dcbc4c0b4fd6fd15bd06b4f7c0a6da98d93af235c3e970854994eb9b59e23315abb6cfc29e69da26d36709a47e25da85ab27fed81b6812f0a52caf6dfa + languageName: node + linkType: hard + +"prisma-field-encryption@npm:^1.4.0": + version: 1.4.1 + resolution: "prisma-field-encryption@npm:1.4.1" + dependencies: + "@47ng/cloak": ^1.1.0 + "@prisma/generator-helper": ^4.0.0 + debug: ^4.3.4 + immer: ^9.0.15 + object-path: ^0.11.8 + zod: ^3.17.3 + peerDependencies: + "@prisma/client": ^3.8.0 || ^4 + bin: + prisma-field-encryption: dist/generator/main.js + checksum: cf059abc1c39ae9252494aaf6ce2bfa0f415583b8cd11b9d84eeadfbb504e00f61570b0e3158ba4b7d52daf91353ffe92766a717c03b9965c421cc08ed49c303 + languageName: node + linkType: hard + "prisma@npm:^4.11.0": version: 4.11.0 resolution: "prisma@npm:4.11.0" @@ -30476,7 +32015,7 @@ __metadata: languageName: node linkType: hard -"progress@npm:^2.0.0": +"progress@npm:^2.0.0, progress@npm:^2.0.3": version: 2.0.3 resolution: "progress@npm:2.0.3" checksum: f67403fe7b34912148d9252cb7481266a354bd99ce82c835f79070643bb3c6583d10dbcfda4d41e04bbc1d8437e9af0fb1e1f2135727878f5308682a579429b7 @@ -30914,7 +32453,7 @@ __metadata: languageName: node linkType: hard -"range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": +"range-parser@npm:^1.2.0, range-parser@npm:^1.2.1, range-parser@npm:~1.2.1": version: 1.2.1 resolution: "range-parser@npm:1.2.1" checksum: 0a268d4fea508661cf5743dfe3d5f47ce214fd6b7dec1de0da4d669dd4ef3d2144468ebe4179049eff253d9d27e719c88dae55be64f954e80135a0cada804ec9 @@ -31023,6 +32562,16 @@ __metadata: languageName: node linkType: hard +"react-chartjs-2@npm:^4.0.1": + version: 4.3.1 + resolution: "react-chartjs-2@npm:4.3.1" + peerDependencies: + chart.js: ^3.5.0 + react: ^16.8.0 || ^17.0.0 || ^18.0.0 + checksum: 574d12cc43b9b4a0f1e04cc692982e16ef7083c03da2a8a9fc2180fe9bcadc793008f81d8f4eec5465925eff84c95d7c523cb74376858b363ae75a83bb3c2a5d + languageName: node + linkType: hard + "react-colorful@npm:^5.6.0": version: 5.6.0 resolution: "react-colorful@npm:5.6.0" @@ -31033,6 +32582,17 @@ __metadata: languageName: node linkType: hard +"react-confetti@npm:^6.0.1": + version: 6.1.0 + resolution: "react-confetti@npm:6.1.0" + dependencies: + tween-functions: ^1.2.0 + peerDependencies: + react: ^16.3.0 || ^17.0.1 || ^18.0.0 + checksum: 24b6975df144d2bf09d8e1c95ddc49e547775f911efaa8d96b49e522659d931539e9d9e48cc0db3a01f3a671be7e3824e6e728db85096f5527db5d1c69ebb153 + languageName: node + linkType: hard + "react-copy-to-clipboard@npm:5.0.4": version: 5.0.4 resolution: "react-copy-to-clipboard@npm:5.0.4" @@ -31066,6 +32626,23 @@ __metadata: languageName: node linkType: hard +"react-datocms@npm:^3.1.0": + version: 3.1.4 + resolution: "react-datocms@npm:3.1.4" + dependencies: + datocms-listen: ^0.1.9 + datocms-structured-text-generic-html-renderer: ^2.0.1 + datocms-structured-text-utils: ^2.0.1 + react-intersection-observer: ^8.33.1 + react-string-replace: ^1.1.0 + universal-base64: ^2.1.0 + use-deep-compare-effect: ^1.6.1 + peerDependencies: + react: ">= 16.12.0" + checksum: 54aba12aef4937175c2011548a8a576c96c8d8a596e84d191826910624c1d596e76a49782689dc236388a10803b02e700ac820cb7500cca7fd147a81f6c544c3 + languageName: node + linkType: hard + "react-debounce-input@npm:=3.2.4": version: 3.2.4 resolution: "react-debounce-input@npm:3.2.4" @@ -31078,6 +32655,18 @@ __metadata: languageName: node linkType: hard +"react-device-detect@npm:^2.2.2": + version: 2.2.3 + resolution: "react-device-detect@npm:2.2.3" + dependencies: + ua-parser-js: ^1.0.33 + peerDependencies: + react: ">= 0.14.0" + react-dom: ">= 0.14.0" + checksum: 42d9b3182b9d2495bf0d7914c9f370da51d8bdb853a3eba2acaf433894ae760386a075ba103185be825b33d42f50d85ef462087f261656d433f4c74dab23861f + languageName: node + linkType: hard + "react-devtools-core@npm:^4.19.1": version: 4.24.6 resolution: "react-devtools-core@npm:4.24.6" @@ -31183,6 +32772,16 @@ __metadata: languageName: node linkType: hard +"react-fast-marquee@npm:^1.3.5": + version: 1.3.5 + resolution: "react-fast-marquee@npm:1.3.5" + peerDependencies: + react: ">= 16.8.0 || 18.0.0" + react-dom: ">= 16.8.0 || 18.0.0" + checksum: 95301d63faa858ac0e8c2ab32e1e864ed49d8b36e96216960af0ac797bc30fe11c7747b9c3bed3728f5371e57a93277a064fd433c6f8e1a24a9a32bbf1d354e8 + languageName: node + linkType: hard + "react-feather@npm:^2.0.10": version: 2.0.10 resolution: "react-feather@npm:2.0.10" @@ -31208,6 +32807,17 @@ __metadata: languageName: node linkType: hard +"react-github-btn@npm:^1.4.0": + version: 1.4.0 + resolution: "react-github-btn@npm:1.4.0" + dependencies: + github-buttons: ^2.22.0 + peerDependencies: + react: ">=16.3.0" + checksum: 33a416ad76ab4cc9238ac5cf5cfcab636bb2127c48fb30805385350fd3a3c2aa0aaeb78f6c726c52a0d3d133ca469be35d4b3d188c8e40c735c7ff458d2c8c3c + languageName: node + linkType: hard + "react-hook-form@npm:^7.43.3": version: 7.43.3 resolution: "react-hook-form@npm:7.43.3" @@ -31301,6 +32911,15 @@ __metadata: languageName: node linkType: hard +"react-intersection-observer@npm:^8.33.1": + version: 8.34.0 + resolution: "react-intersection-observer@npm:8.34.0" + peerDependencies: + react: ^15.0.0 || ^16.0.0 || ^17.0.0|| ^18.0.0 + checksum: 7713fecfd1512c7f5a60f9f0bf15403b8f8bbd4110bcafaeaea6de36a0e0eb60368c3638f99e9c97b75ad8fc787ea48c241dcb5c694f821d7f2976f709082cc5 + languageName: node + linkType: hard + "react-intl@npm:^5.25.1": version: 5.25.1 resolution: "react-intl@npm:5.25.1" @@ -31362,7 +32981,16 @@ __metadata: languageName: node linkType: hard -"react-merge-refs@npm:^1.0.0": +"react-live-chat-loader@npm:^2.8.1": + version: 2.8.1 + resolution: "react-live-chat-loader@npm:2.8.1" + peerDependencies: + react: ^16.14.0 || ^17.0.0 || ^18.0.0 + checksum: 784648dc5c8e56ad11517433b2685c4e562efde6116d03444d2e8a0f87076860712800551698f82e980939ed3ac305947b78a514187ae2d5a1a0fc0a659c5c22 + languageName: node + linkType: hard + +"react-merge-refs@npm:1.1.0, react-merge-refs@npm:^1.0.0": version: 1.1.0 resolution: "react-merge-refs@npm:1.1.0" checksum: 90884352999002d868ab9f1bcfe3222fb0f2178ed629f1da7e98e5a9b02a2c96b4aa72800db92aabd69d2483211b4be57a2088e89a11a0b660e7ada744d4ddf7 @@ -31616,6 +33244,13 @@ __metadata: languageName: node linkType: hard +"react-string-replace@npm:^1.1.0": + version: 1.1.0 + resolution: "react-string-replace@npm:1.1.0" + checksum: 5df67fbdb49cacdc9f4488d4bc3dedef1f85d6156b3626d9b4b6c317ec8cc534494def078ab0b2df7aea8fa3cbcecd8d3f76a161f04bf8b29869daccf33785ec + languageName: node + linkType: hard + "react-style-singleton@npm:^2.1.0": version: 2.1.1 resolution: "react-style-singleton@npm:2.1.1" @@ -31724,6 +33359,20 @@ __metadata: languageName: node linkType: hard +"react-twemoji@npm:^0.3.0": + version: 0.3.0 + resolution: "react-twemoji@npm:0.3.0" + dependencies: + lodash.isequal: ^4.5.0 + prop-types: ^15.7.2 + twemoji: ^13.0.1 + peerDependencies: + react: ^16.4.2 + react-dom: ^16.4.2 + checksum: d4e56477c28c0ad65b98a062a2e9a1777b808a16c05dfa35d77d84fea26f7d1e884d2e30f95a8f14c94c31330d3d4f53a4fd0bfce917bc4be9fb21d34a05db8a + languageName: node + linkType: hard + "react-use-intercom@npm:1.5.1": version: 1.5.1 resolution: "react-use-intercom@npm:1.5.1" @@ -31734,6 +33383,18 @@ __metadata: languageName: node linkType: hard +"react-use-measure@npm:^2.1.1": + version: 2.1.1 + resolution: "react-use-measure@npm:2.1.1" + dependencies: + debounce: ^1.2.1 + peerDependencies: + react: ">=16.13" + react-dom: ">=16.13" + checksum: b8e8939229d463c3c505f7b617925c0228efae0cd6f651371f463846417b06c9170be57df51293a61027c41770f8a090fdb8a08717c4e36290ccb496e0318f1f + languageName: node + linkType: hard + "react-virtual@npm:^2.8.2": version: 2.10.4 resolution: "react-virtual@npm:2.10.4" @@ -32159,6 +33820,19 @@ __metadata: languageName: node linkType: hard +"remark-html@npm:^14.0.1": + version: 14.0.1 + resolution: "remark-html@npm:14.0.1" + dependencies: + "@types/mdast": ^3.0.0 + hast-util-sanitize: ^4.0.0 + hast-util-to-html: ^8.0.0 + mdast-util-to-hast: ^11.0.0 + unified: ^10.0.0 + checksum: 5d689b05dc6b4f24e08ece07aabca98685949198a8b6ceacb2fbf7fba8f45f55cea5623caddfd92aaf6e6f082bc1c93797dfb82dc48a6f6e1c5263947a4779c9 + languageName: node + linkType: hard + "remark-mdx@npm:1.6.22": version: 1.6.22 resolution: "remark-mdx@npm:1.6.22" @@ -32712,6 +34386,20 @@ __metadata: languageName: node linkType: hard +"rollup@npm:2.78.0": + version: 2.78.0 + resolution: "rollup@npm:2.78.0" + dependencies: + fsevents: ~2.3.2 + dependenciesMeta: + fsevents: + optional: true + bin: + rollup: dist/bin/rollup + checksum: 01b5a7ae082d2a14201c973ee973099f0899cc87b65063d5ca5a77c05eeefb3b51e14b1346cf1a0fc879ac2cbb87239d4f960917bfc30b7c52f5dce50a7f56e7 + languageName: node + linkType: hard + "rollup@npm:>=2.59.0 <2.78.0": version: 2.77.3 resolution: "rollup@npm:2.77.3" @@ -32816,6 +34504,15 @@ __metadata: languageName: node linkType: hard +"rxjs@npm:^7.0.0, rxjs@npm:^7.8.0": + version: 7.8.0 + resolution: "rxjs@npm:7.8.0" + dependencies: + tslib: ^2.1.0 + checksum: 61b4d4fd323c1043d8d6ceb91f24183b28bcf5def4f01ca111511d5c6b66755bc5578587fe714ef5d67cf4c9f2e26f4490d4e1d8cabf9bd5967687835e9866a2 + languageName: node + linkType: hard + "rxjs@npm:^7.5.5": version: 7.5.5 resolution: "rxjs@npm:7.5.5" @@ -32825,6 +34522,13 @@ __metadata: languageName: node linkType: hard +"s-ago@npm:^2.2.0": + version: 2.2.0 + resolution: "s-ago@npm:2.2.0" + checksum: f665fef44d9d88322ce5a798ca3c49b40f96231ddc7bd46dc23c883e98215675aa422985760d45d3779faa3c0bc94edb2a50630bf15f54c239d11963e53d998c + languageName: node + linkType: hard + "sade@npm:^1.7.3": version: 1.8.1 resolution: "sade@npm:1.8.1" @@ -33451,6 +35155,13 @@ __metadata: languageName: node linkType: hard +"shell-quote@npm:^1.7.3": + version: 1.8.1 + resolution: "shell-quote@npm:1.8.1" + checksum: 5f01201f4ef504d4c6a9d0d283fa17075f6770bfbe4c5850b074974c68062f37929ca61700d95ad2ac8822e14e8c4b990ca0e6e9272e64befd74ce5e19f0736b + languageName: node + linkType: hard + "short-uuid@npm:^4.2.0": version: 4.2.0 resolution: "short-uuid@npm:4.2.0" @@ -33787,6 +35498,13 @@ __metadata: languageName: node linkType: hard +"spawn-command@npm:^0.0.2-1": + version: 0.0.2 + resolution: "spawn-command@npm:0.0.2" + checksum: e35c5d28177b4d461d33c88cc11f6f3a5079e2b132c11e1746453bbb7a0c0b8a634f07541a2a234fa4758239d88203b758def509161b651e81958894c0b4b64b + languageName: node + linkType: hard + "spdx-correct@npm:^3.0.0": version: 3.1.1 resolution: "spdx-correct@npm:3.1.1" @@ -33952,6 +35670,15 @@ __metadata: languageName: node linkType: hard +"stacktrace-parser@npm:^0.1.10": + version: 0.1.10 + resolution: "stacktrace-parser@npm:0.1.10" + dependencies: + type-fest: ^0.7.1 + checksum: f4fbddfc09121d91e587b60de4beb4941108e967d71ad3a171812dc839b010ca374d064ad0a296295fed13acd103609d99a4224a25b4e67de13cae131f1901ee + languageName: node + linkType: hard + "state-toggle@npm:^1.0.0": version: 1.0.3 resolution: "state-toggle@npm:1.0.3" @@ -34714,7 +36441,7 @@ __metadata: languageName: node linkType: hard -"supports-color@npm:^8.0.0": +"supports-color@npm:^8.0.0, supports-color@npm:^8.1.0": version: 8.1.1 resolution: "supports-color@npm:8.1.1" dependencies: @@ -34802,6 +36529,31 @@ __metadata: languageName: node linkType: hard +"swagger-jsdoc@npm:6.2.5": + version: 6.2.5 + resolution: "swagger-jsdoc@npm:6.2.5" + dependencies: + commander: 6.2.0 + doctrine: 3.0.0 + glob: 7.1.6 + lodash.mergewith: ^4.6.2 + swagger-parser: 10.0.2 + yaml: 2.0.0-1 + bin: + swagger-jsdoc: bin/swagger-jsdoc.js + checksum: 8ad468bce4934fdca4e5a857fda9cbf98f305b73ffa0ca3ebb5dc34e8c53452c01684010bfa487f17179b860b6b3291e7e5b14433007ca79109dfc7a10441864 + languageName: node + linkType: hard + +"swagger-parser@npm:10.0.2": + version: 10.0.2 + resolution: "swagger-parser@npm:10.0.2" + dependencies: + "@apidevtools/swagger-parser": 10.0.2 + checksum: 02aa7d6caa5dde20fe93f00928a7803b11099a7cffa70c1750b89add23e8dfb220ee5354d3f691dce91300f25dd155060be9a28ed7772d6aa4ff4ab3f5a36db0 + languageName: node + linkType: hard + "swagger-ui-react@npm:4.11.1": version: 4.11.1 resolution: "swagger-ui-react@npm:4.11.1" @@ -34875,6 +36627,15 @@ __metadata: languageName: node linkType: hard +"swr@npm:^1.2.2": + version: 1.3.0 + resolution: "swr@npm:1.3.0" + peerDependencies: + react: ^16.11.0 || ^17.0.0 || ^18.0.0 + checksum: e7a184f0d560e9c8be85c023cc8e65e56a88a6ed46f9394b301b07f838edca23d2e303685319a4fcd620b81d447a7bcb489c7fa0a752c259f91764903c690cdb + languageName: node + linkType: hard + "symbol-tree@npm:^3.2.4": version: 3.2.4 resolution: "symbol-tree@npm:3.2.4" @@ -35136,6 +36897,13 @@ __metadata: languageName: node linkType: hard +"terminal-columns@npm:^1.4.1": + version: 1.4.1 + resolution: "terminal-columns@npm:1.4.1" + checksum: 54a3d625963fa9cb2110bd2af982f31865438c7cf3dfe95d8e9c453c3cd67b7352fa4a78e8b31dc6f4955ccd9fe2ab8ac8224c5b1db61c6226364a12150739bc + languageName: node + linkType: hard + "terminal-link@npm:^2.0.0": version: 2.1.1 resolution: "terminal-link@npm:2.1.1" @@ -35613,6 +37381,15 @@ __metadata: languageName: node linkType: hard +"tree-kill@npm:^1.2.2": + version: 1.2.2 + resolution: "tree-kill@npm:1.2.2" + bin: + tree-kill: cli.js + checksum: 49117f5f410d19c84b0464d29afb9642c863bc5ba40fcb9a245d474c6d5cc64d1b177a6e6713129eb346b40aebb9d4631d967517f9fbe8251c35b21b13cd96c7 + languageName: node + linkType: hard + "trim-newlines@npm:^1.0.0": version: 1.0.0 resolution: "trim-newlines@npm:1.0.0" @@ -36006,6 +37783,13 @@ __metadata: languageName: node linkType: hard +"tween-functions@npm:^1.2.0": + version: 1.2.0 + resolution: "tween-functions@npm:1.2.0" + checksum: 880708d680eff5c347ddcb9f922ad121703a91c78ce308ed309073e73a794b633eb0b80589a839365803f150515ad34c9646809ae8a0e90f09e62686eefb1ab6 + languageName: node + linkType: hard + "tweetnacl@npm:^0.14.3, tweetnacl@npm:~0.14.0": version: 0.14.5 resolution: "tweetnacl@npm:0.14.5" @@ -36020,6 +37804,25 @@ __metadata: languageName: node linkType: hard +"twemoji-parser@npm:13.1.0": + version: 13.1.0 + resolution: "twemoji-parser@npm:13.1.0" + checksum: 8046ce003c03dd92d68c2648cfbfa39c659fca4f05c10da8d14957985dc3c0c680f3ecf2de8245dc1ddffedc5b2a675f2032053e1e77cc7474301a88fe192ad3 + languageName: node + linkType: hard + +"twemoji@npm:^13.0.1": + version: 13.1.1 + resolution: "twemoji@npm:13.1.1" + dependencies: + fs-extra: ^8.0.1 + jsonfile: ^5.0.0 + twemoji-parser: 13.1.0 + universalify: ^0.1.2 + checksum: f60a8785ad6eb1a673c4f1bccb00a852ead13639db9f763c0e3e9dee6e3e67d88f1d2b481bcee34c35570ab060918b30b6ee68aa65ea1042ad35cd83212a102a + languageName: node + linkType: hard + "twilio@npm:^3.80.1": version: 3.80.1 resolution: "twilio@npm:3.80.1" @@ -36106,6 +37909,13 @@ __metadata: languageName: node linkType: hard +"type-fest@npm:^0.7.1": + version: 0.7.1 + resolution: "type-fest@npm:0.7.1" + checksum: 5b1b113529d59949d97b76977d545989ddc11b81bb0c766b6d2ccc65473cb4b4a5c7d24f5be2c2bb2de302a5d7a13c1732ea1d34c8c59b7e0ec1f890cf7fc424 + languageName: node + linkType: hard + "type-fest@npm:^0.8.1": version: 0.8.1 resolution: "type-fest@npm:0.8.1" @@ -36120,7 +37930,14 @@ __metadata: languageName: node linkType: hard -"type-is@npm:~1.6.18": +"type-flag@npm:^2.1.0": + version: 2.2.0 + resolution: "type-flag@npm:2.2.0" + checksum: 728218708795c84b81a4923049b357be1ad12880e15f39940cba89472664b590368d3383f254246876edbd2eb01872b4675be62570088d7377f052420f5e9c9a + languageName: node + linkType: hard + +"type-is@npm:^1.6.18, type-is@npm:~1.6.18": version: 1.6.18 resolution: "type-is@npm:1.6.18" dependencies: @@ -36262,6 +38079,20 @@ __metadata: languageName: node linkType: hard +"tzdata@npm:^1.0.30": + version: 1.0.38 + resolution: "tzdata@npm:1.0.38" + checksum: 866abff1316bd1311057f5de9da702c78a27f3bba213aa6986e8e4d22d0d25b554dda2330e6d853e2c34566270bb327babe467ad9a5f069ad466f09571872800 + languageName: node + linkType: hard + +"ua-parser-js@npm:^1.0.33": + version: 1.0.35 + resolution: "ua-parser-js@npm:1.0.35" + checksum: 02370d38a0c8b586f2503d1c3bbba5cbc0b97d407282f9023201a99e4c03eae4357a2800fdf50cf80d73ec25c0b0cc5bfbaa03975b0add4043d6e4c86712c9c1 + languageName: node + linkType: hard + "uc.micro@npm:^1.0.1, uc.micro@npm:^1.0.5": version: 1.0.6 resolution: "uc.micro@npm:1.0.6" @@ -36646,6 +38477,13 @@ __metadata: languageName: node linkType: hard +"universal-base64@npm:^2.1.0": + version: 2.1.0 + resolution: "universal-base64@npm:2.1.0" + checksum: 03bc6f7de04aee83038c26038cd2639f470fd9665f99b3613934c4ccde5d59047d45e34ea4c843ac582da83ea1b050bf8defba8eb390e566f0be314646ddbc9b + languageName: node + linkType: hard + "universalify@npm:^0.1.0, universalify@npm:^0.1.2": version: 0.1.2 resolution: "universalify@npm:0.1.2" @@ -36885,6 +38723,18 @@ __metadata: languageName: node linkType: hard +"use-deep-compare-effect@npm:^1.6.1": + version: 1.8.1 + resolution: "use-deep-compare-effect@npm:1.8.1" + dependencies: + "@babel/runtime": ^7.12.5 + dequal: ^2.0.2 + peerDependencies: + react: ">=16.13" + checksum: 2b9b6291df3f772f44d259b352e5d998963ccee0db2efeb76bb05525d928064aeeb69bb0dee5a5e428fea7cf3db67c097a770ebd30caa080662b565f6ef02b2e + languageName: node + linkType: hard + "use-isomorphic-layout-effect@npm:^1.1.1, use-isomorphic-layout-effect@npm:^1.1.2": version: 1.1.2 resolution: "use-isomorphic-layout-effect@npm:1.1.2" @@ -37122,6 +38972,13 @@ __metadata: languageName: node linkType: hard +"validator@npm:^13.6.0": + version: 13.9.0 + resolution: "validator@npm:13.9.0" + checksum: e2c936f041f61faa42bafd17c6faddf939498666cd82e88d733621c286893730b008959f4cb12ab3e236148a4f3805c30b85e3dcf5e0efd8b0cbcd36c02bfc0c + languageName: node + linkType: hard + "varint@npm:^5.0.0": version: 5.0.2 resolution: "varint@npm:5.0.2" @@ -37154,6 +39011,16 @@ __metadata: languageName: node linkType: hard +"vfile-location@npm:^4.0.0": + version: 4.1.0 + resolution: "vfile-location@npm:4.1.0" + dependencies: + "@types/unist": ^2.0.0 + vfile: ^5.0.0 + checksum: c894e8e5224170d1f85288f4a1d1ebcee0780823ea2b49d881648ab360ebf01b37ecb09b1c4439a75f9a51f31a9f9742cd045e987763e367c352a1ef7c50d446 + languageName: node + linkType: hard + "vfile-message@npm:^2.0.0": version: 2.0.4 resolution: "vfile-message@npm:2.0.4" @@ -37337,6 +39204,21 @@ __metadata: languageName: node linkType: hard +"wait-on@npm:^7.0.1": + version: 7.0.1 + resolution: "wait-on@npm:7.0.1" + dependencies: + axios: ^0.27.2 + joi: ^17.7.0 + lodash: ^4.17.21 + minimist: ^1.2.7 + rxjs: ^7.8.0 + bin: + wait-on: bin/wait-on + checksum: 1e8a17d8ee6436f71d3ab82781ce31267481fcd7bbccde49b0f8124871e6e40a1acac3401f04f775ba6203853a5813352fa131620fc139914351f3b2894d573f + languageName: node + linkType: hard + "walker@npm:^1.0.7, walker@npm:^1.0.8, walker@npm:~1.0.5": version: 1.0.8 resolution: "walker@npm:1.0.8" @@ -37414,6 +39296,13 @@ __metadata: languageName: node linkType: hard +"web-namespaces@npm:^2.0.0": + version: 2.0.1 + resolution: "web-namespaces@npm:2.0.1" + checksum: b6d9f02f1a43d0ef0848a812d89c83801d5bbad57d8bb61f02eb6d7eb794c3736f6cc2e1191664bb26136594c8218ac609f4069722c6f56d9fc2d808fa9271c6 + languageName: node + linkType: hard + "web-streams-polyfill@npm:4.0.0-beta.1": version: 4.0.0-beta.1 resolution: "web-streams-polyfill@npm:4.0.0-beta.1" @@ -37805,7 +39694,7 @@ __metadata: languageName: node linkType: hard -"webpack-sources@npm:^3.2.3": +"webpack-sources@npm:^2.0.0 || ^3.0.0, webpack-sources@npm:^3.2.3": version: 3.2.3 resolution: "webpack-sources@npm:3.2.3" checksum: 989e401b9fe3536529e2a99dac8c1bdc50e3a0a2c8669cbafad31271eadd994bc9405f88a3039cd2e29db5e6d9d0926ceb7a1a4e7409ece021fe79c37d9c4607 @@ -38526,6 +40415,13 @@ __metadata: languageName: node linkType: hard +"yaml@npm:2.0.0-1": + version: 2.0.0-1 + resolution: "yaml@npm:2.0.0-1" + checksum: ccfbd1424dbf205a8828593faa91dfd40bd21e3fb575e257280d3526ade9508f3ea0acbe7605abc81bac6b4d6729ddb5b3de6bd818232f48480fd1eda8d7fd4c + languageName: node + linkType: hard + "yaml@npm:^1.10.0, yaml@npm:^1.10.2, yaml@npm:^1.7.2": version: 1.10.2 resolution: "yaml@npm:1.10.2" @@ -38718,6 +40614,23 @@ __metadata: languageName: node linkType: hard +"z-schema@npm:^4.2.3": + version: 4.2.4 + resolution: "z-schema@npm:4.2.4" + dependencies: + commander: ^2.7.1 + lodash.get: ^4.4.2 + lodash.isequal: ^4.5.0 + validator: ^13.6.0 + dependenciesMeta: + commander: + optional: true + bin: + z-schema: bin/z-schema + checksum: 9afc0b8d4f75122fbbac8835b0398fc6ab3cfa3f68792e4e86edcd9be1e9ae9d982368a8ae25a4eeea6aad3ab35a24379b76e1525b105c23169c4f93b3185004 + languageName: node + linkType: hard + "zenscroll@npm:^4.0.2": version: 4.0.2 resolution: "zenscroll@npm:4.0.2" @@ -38745,6 +40658,13 @@ __metadata: languageName: node linkType: hard +"zod@npm:^3.17.3": + version: 3.21.4 + resolution: "zod@npm:3.21.4" + checksum: f185ba87342ff16f7a06686767c2b2a7af41110c7edf7c1974095d8db7a73792696bcb4a00853de0d2edeb34a5b2ea6a55871bc864227dace682a0a28de33e1f + languageName: node + linkType: hard + "zod@npm:^3.20.2": version: 3.20.2 resolution: "zod@npm:3.20.2" @@ -38799,3 +40719,10 @@ __metadata: checksum: 8edd7af8375f12f64d8dbef815af32cd77bd9237d0b013210ba4e3aef25fdc460fe264cd0a19deabe9f86ef0c607240ebac1a336bf4a70bf06ef53e0652de116 languageName: node linkType: hard + +"zwitch@npm:^2.0.4": + version: 2.0.4 + resolution: "zwitch@npm:2.0.4" + checksum: f22ec5fc2d5f02c423c93d35cdfa83573a3a3bd98c66b927c368ea4d0e7252a500df2a90a6b45522be536a96a73404393c958e945fdba95e6832c200791702b6 + languageName: node + linkType: hard From e5eb7c3906d3d901c2977c136e7e9aaa6da09375 Mon Sep 17 00:00:00 2001 From: Lucas Smith Date: Tue, 18 Apr 2023 09:48:00 +1000 Subject: [PATCH 017/146] perf: use getSlimServerSession for session retrieval (#8308) * perf: use getSlimServerSession for session retrieval Creates a new `getSlimServerSession` method and replaces all calls to `getServerSession`. The new method is much faster than `getServerSession` with it not requiring the NextAuth options object which includes a number of additional packages. Additionally introduces a primitive in-memory cache for slim sessions. * fix: account for seconds in token.exp * Reverts diffs * Replaces getServerSession with slimmer version * Update disable.ts --------- Co-authored-by: Peer Richelsen Co-authored-by: Keith Williams Co-authored-by: zomars --- .../features/auth/lib/getServerSession.ts | 81 +++++++++++++++++-- .../features/auth/lib/next-auth-options.ts | 15 ++-- packages/types/next-auth.d.ts | 15 +++- 3 files changed, 97 insertions(+), 14 deletions(-) diff --git a/packages/features/auth/lib/getServerSession.ts b/packages/features/auth/lib/getServerSession.ts index 6b8308c4e6..6a43c8fe3a 100644 --- a/packages/features/auth/lib/getServerSession.ts +++ b/packages/features/auth/lib/getServerSession.ts @@ -1,18 +1,85 @@ import type { GetServerSidePropsContext, NextApiRequest, NextApiResponse } from "next"; import type { AuthOptions, Session } from "next-auth"; -import { getServerSession as getServerSessionInner } from "next-auth/next"; +import { getToken } from "next-auth/jwt"; -import { AUTH_OPTIONS } from "./next-auth-options"; +import checkLicense from "@calcom/features/ee/common/server/checkLicense"; +import { CAL_URL } from "@calcom/lib/constants"; +import prisma from "@calcom/prisma"; +/** + * Stores the session in memory using the stringified token as the key. + * + * This is fine for production as each lambda will be recycled before this + * becomes large enough to cause issues. + * + * If we want to get extra spicy we could store this in edge config or similar + * so we can TTL things and benefit from faster retrievals than prisma. + */ +const UNSTABLE_SESSION_CACHE = new Map(); + +/** + * This is a slimmed down version of the `getServerSession` function from + * `next-auth`. + * + * Instead of requiring the entire options object for NextAuth, we create + * a compatible session using information from the incoming token. + * + * The downside to this is that we won't refresh sessions if the users + * token has expired (30 days). This should be fine as we call `/auth/session` + * frequently enough on the client-side to keep the session alive. + */ export async function getServerSession(options: { req: NextApiRequest | GetServerSidePropsContext["req"]; - res: NextApiResponse | GetServerSidePropsContext["res"]; + res?: NextApiResponse | GetServerSidePropsContext["res"]; authOptions?: AuthOptions; }) { - const { req, res, authOptions = AUTH_OPTIONS } = options; + const { req, authOptions: { secret } = {} } = options; - const session = await getServerSessionInner(req, res, authOptions); + const token = await getToken({ + req, + secret, + }); - // that these are equal are ensured in `[...nextauth]`'s callback - return session as Session | null; + if (!token || !token.email || !token.sub) { + return null; + } + + const cachedSession = UNSTABLE_SESSION_CACHE.get(JSON.stringify(token)); + + if (cachedSession) { + return cachedSession; + } + + const user = await prisma.user.findUnique({ + where: { + email: token.email.toLowerCase(), + }, + }); + + if (!user) { + return null; + } + + const hasValidLicense = await checkLicense(prisma); + + const session: Session = { + hasValidLicense, + expires: new Date(typeof token.exp === "number" ? token.exp * 1000 : Date.now()).toISOString(), + user: { + id: user.id, + name: user.name, + username: user.username, + email: user.email, + emailVerified: user.emailVerified, + email_verified: user.emailVerified !== null, + role: user.role, + image: `${CAL_URL}/${user.username}/avatar.png`, + impersonatedByUID: token.impersonatedByUID ?? undefined, + belongsToActiveTeam: token.belongsToActiveTeam, + }, + }; + + UNSTABLE_SESSION_CACHE.set(JSON.stringify(token), session); + + return session; } diff --git a/packages/features/auth/lib/next-auth-options.ts b/packages/features/auth/lib/next-auth-options.ts index c0209c1f94..bf366b84e0 100644 --- a/packages/features/auth/lib/next-auth-options.ts +++ b/packages/features/auth/lib/next-auth-options.ts @@ -42,13 +42,16 @@ type UserTeams = { })[]; }; -const checkIfUserBelongsToActiveTeam = (user: T): boolean => - user.teams.filter((m: { team: { metadata: unknown } }) => { - if (!IS_TEAM_BILLING_ENABLED) return true; +export const checkIfUserBelongsToActiveTeam = (user: T) => + user.teams.some((m: { team: { metadata: unknown } }) => { + if (!IS_TEAM_BILLING_ENABLED) { + return true; + } + const metadata = teamMetadataSchema.safeParse(m.team.metadata); - if (metadata.success && metadata.data?.subscriptionId) return true; - return false; - }).length > 0; + + return metadata.success && metadata.data?.subscriptionId; + }); const providers: Provider[] = [ CredentialsProvider({ diff --git a/packages/types/next-auth.d.ts b/packages/types/next-auth.d.ts index ef7beb8e0a..2eb669c7af 100644 --- a/packages/types/next-auth.d.ts +++ b/packages/types/next-auth.d.ts @@ -1,4 +1,4 @@ -import type { User as PrismaUser } from "@prisma/client"; +import type { User as PrismaUser, UserPermissionRole } from "@prisma/client"; import type { DefaultUser } from "next-auth"; declare module "next-auth" { @@ -9,6 +9,7 @@ declare module "next-auth" { hasValidLicense: boolean; user: User; } + interface User extends Omit { id: PrismaUser["id"]; emailVerified?: PrismaUser["emailVerified"]; @@ -19,3 +20,15 @@ declare module "next-auth" { role?: PrismaUser["role"] | "INACTIVE_ADMIN"; } } + +declare module "next-auth/jwt" { + interface JWT { + id?: string | number; + name?: string | null; + username?: string | null; + email?: string | null; + role?: UserPermissionRole | "INACTIVE_ADMIN" | null; + impersonatedByUID?: number | null; + belongsToActiveTeam?: boolean; + } +} From ad958f10bd80df824f836430984a6083a251dddf Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Mon, 17 Apr 2023 19:50:34 -0400 Subject: [PATCH 018/146] perf: improve booking confirm authorization (#8304) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * perf: improve booking confirm authorization * removes unreachable code --------- Co-authored-by: Efraín Rochín --- .../trpc/server/routers/viewer/bookings.tsx | 22 ++++++------------- 1 file changed, 7 insertions(+), 15 deletions(-) diff --git a/packages/trpc/server/routers/viewer/bookings.tsx b/packages/trpc/server/routers/viewer/bookings.tsx index 283e96efb2..4c02901992 100644 --- a/packages/trpc/server/routers/viewer/bookings.tsx +++ b/packages/trpc/server/routers/viewer/bookings.tsx @@ -781,30 +781,22 @@ export const bookingsRouter = router({ }); const authorized = async () => { - // if the organizer - if (booking.userId === user.id) { - return true; - } - const eventType = await prisma.eventType.findUnique({ + const eventType = await prisma.eventType.findFirst({ where: { id: booking.eventTypeId || undefined, + schedulingType: SchedulingType.COLLECTIVE, }, select: { - id: true, - schedulingType: true, users: true, }, }); - if ( - eventType?.schedulingType === SchedulingType.COLLECTIVE && - eventType.users.find((user) => user.id === user.id) - ) { - return true; - } - return false; + + return eventType && eventType.users.find((user) => booking.userId === user.id); }; - if (!(await authorized())) throw new TRPCError({ code: "UNAUTHORIZED", message: "UNAUTHORIZED" }); + if (booking.userId !== user.id && !(await authorized())) { + throw new TRPCError({ code: "UNAUTHORIZED", message: "UNAUTHORIZED" }); + } const isConfirmed = booking.status === BookingStatus.ACCEPTED; if (isConfirmed) throw new TRPCError({ code: "BAD_REQUEST", message: "Booking already confirmed" }); From 2bdd6df75566ad2d410fa58e32366966452d09c3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Efra=C3=ADn=20Roch=C3=ADn?= Date: Mon, 17 Apr 2023 16:56:08 -0700 Subject: [PATCH 019/146] avoid calendar cache on cold starts (#8311) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Keith Williams Co-authored-by: Omar López --- packages/core/CalendarManager.ts | 76 ++++++++++++++++++---------- packages/core/getBusyTimes.ts | 18 ++++++- packages/core/getUserAvailability.ts | 1 + 3 files changed, 68 insertions(+), 27 deletions(-) diff --git a/packages/core/CalendarManager.ts b/packages/core/CalendarManager.ts index 4d3ee42cf1..af2c845655 100644 --- a/packages/core/CalendarManager.ts +++ b/packages/core/CalendarManager.ts @@ -19,6 +19,7 @@ import type { CredentialPayload, CredentialWithAppName } from "@calcom/types/Cre import type { EventResult } from "@calcom/types/EventManager"; const log = logger.getChildLogger({ prefix: ["CalendarManager"] }); +let coldStart = true; export const getCalendarCredentials = (credentials: Array) => { const calendarCredentials = getApps(credentials) @@ -183,48 +184,71 @@ export const getCachedResults = async ( */ const getNextCache = async (username: string, month: string): Promise => { let localCache: EventBusyDate[][] = []; + const { NODE_ENV } = process.env; + const cacheDir = `${NODE_ENV === "development" ? NODE_ENV : process.env.BUILD_ID}`; + const baseUrl = `${WEBAPP_URL}/_next/data/${cacheDir}/en`; + const url = `${baseUrl}/${username}/calendar-cache/${month}.json?user=${username}&month=${month}`; try { - const { NODE_ENV } = process.env; - const cacheDir = `${NODE_ENV === "development" ? NODE_ENV : process.env.BUILD_ID}`; - const baseUrl = `${WEBAPP_URL}/_next/data/${cacheDir}/en`; - console.log(`${baseUrl}/${username}/calendar-cache/${month}.json?user=${username}&month=${month}`); - localCache = await fetch( - `${baseUrl}/${username}/calendar-cache/${month}.json?user=${username}&month=${month}` - ) + localCache = await fetch(url) .then((r) => r.json()) .then((json) => json?.pageProps?.results); - // No need to wait for this, the purpose is to force re-validation every second as indicated - // in page getStaticProps. - fetch(`${baseUrl}/${username}/calendar-cache/${month}`).catch(console.log); } catch (e) { - log.warn(e); + log.warn(url, e); } return localCache; }; +/** + * Get months between given dates + * @returns ["2023-04", "2024-05"] + */ +const getMonths = (dateFrom: string, dateTo: string): string[] => { + const months: string[] = [dayjs(dateFrom).format("YYYY-MM")]; + for ( + let i = 1; + dayjs(dateFrom).add(i, "month").isBefore(dateTo) || + dayjs(dateFrom).add(i, "month").isSame(dateTo, "month"); + i++ + ) { + months.push(dayjs(dateFrom).add(i, "month").format("YYYY-MM")); + } + return months; +}; +const createCalendarCachePage = (username: string, month: string): void => { + // No need to wait for this, the purpose is to force re-validation every second as indicated + // in page getStaticProps. + fetch(`${WEBAPP_URL}/${username}/calendar-cache/${month}`).catch(console.log); +}; export const getBusyCalendarTimes = async ( username: string, withCredentials: CredentialPayload[], dateFrom: string, - dateTo: string + dateTo: string, + selectedCalendars: SelectedCalendar[] ) => { let results: EventBusyDate[][] = []; - if (dayjs(dateFrom).isSame(dayjs(dateTo), "month")) { - results = await getNextCache(username, dayjs(dateFrom).format("YYYY-MM")); - } else { - // if dateFrom and dateTo is from different months get cache by each month - const months: string[] = [dayjs(dateFrom).format("YYYY-MM")]; - for ( - let i = 1; - dayjs(dateFrom).add(i, "month").isBefore(dateTo) || - dayjs(dateFrom).add(i, "month").isSame(dateTo, "month"); - i++ - ) { - months.push(dayjs(dateFrom).add(i, "month").format("YYYY-MM")); + const months = getMonths(dateFrom, dateTo); + try { + if (coldStart) { + results = await getCachedResults(withCredentials, dateFrom, dateTo, selectedCalendars); + logger.info("Generating calendar cache in background"); + // on cold start the calendar cache page generated in the background + Promise.all(months.map((month) => createCalendarCachePage(username, month))); + } else { + if (months.length === 1) { + results = await getNextCache(username, dayjs(dateFrom).format("YYYY-MM")); + } else { + // if dateFrom and dateTo is from different months get cache by each month + const data: EventBusyDate[][][] = await Promise.all( + months.map((month) => getNextCache(username, month)) + ); + results = data.flat(1); + } } - const data: EventBusyDate[][][] = await Promise.all(months.map((month) => getNextCache(username, month))); - results = data.flat(1); + } catch (e) { + logger.warn(e); } + coldStart = false; return results.reduce((acc, availability) => acc.concat(availability), []); }; diff --git a/packages/core/getBusyTimes.ts b/packages/core/getBusyTimes.ts index 5aad4eac59..42928970d3 100644 --- a/packages/core/getBusyTimes.ts +++ b/packages/core/getBusyTimes.ts @@ -6,6 +6,7 @@ import dayjs from "@calcom/dayjs"; import logger from "@calcom/lib/logger"; import { performance } from "@calcom/lib/server/perfObserver"; import prisma from "@calcom/prisma"; +import type { SelectedCalendar } from "@calcom/prisma/client"; import type { EventBusyDetails } from "@calcom/types/Calendar"; export async function getBusyTimes(params: { @@ -17,6 +18,7 @@ export async function getBusyTimes(params: { beforeEventBuffer?: number; afterEventBuffer?: number; endTime: string; + selectedCalendars: SelectedCalendar[]; }) { const { credentials, @@ -27,6 +29,7 @@ export async function getBusyTimes(params: { endTime, beforeEventBuffer, afterEventBuffer, + selectedCalendars, } = params; logger.silly( `Checking Busy time from Cal Bookings in range ${startTime} to ${endTime} for input ${JSON.stringify({ @@ -119,7 +122,20 @@ export async function getBusyTimes(params: { performance.mark("prismaBookingGetEnd"); performance.measure(`prisma booking get took $1'`, "prismaBookingGetStart", "prismaBookingGetEnd"); if (credentials?.length > 0) { - const calendarBusyTimes = await getBusyCalendarTimes(username, credentials, startTime, endTime); + const startConnectedCalendarsGet = performance.now(); + const calendarBusyTimes = await getBusyCalendarTimes( + username, + credentials, + startTime, + endTime, + selectedCalendars + ); + const endConnectedCalendarsGet = performance.now(); + logger.debug( + `Connected Calendars get took ${ + endConnectedCalendarsGet - startConnectedCalendarsGet + } ms for user ${username}` + ); busyTimes.push( ...calendarBusyTimes.map((value) => ({ ...value, diff --git a/packages/core/getUserAvailability.ts b/packages/core/getUserAvailability.ts index 942ec1b26a..7ba043dc02 100644 --- a/packages/core/getUserAvailability.ts +++ b/packages/core/getUserAvailability.ts @@ -149,6 +149,7 @@ export async function getUserAvailability( username: `${user.username}`, beforeEventBuffer, afterEventBuffer, + selectedCalendars: user.selectedCalendars, }); let bufferedBusyTimes: EventBusyDetails[] = busyTimes.map((a) => ({ From 597b14cf4c178f3797d035ac655972a17b6898a4 Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Mon, 17 Apr 2023 20:54:15 -0400 Subject: [PATCH 020/146] perf: improve application list execution (#8301) * perf: improve application list execution * Removed unused interface * Type fix --------- Co-authored-by: Keith Williams Co-authored-by: zomars --- packages/trpc/server/routers/viewer/apps.tsx | 83 +++++++++----------- 1 file changed, 35 insertions(+), 48 deletions(-) diff --git a/packages/trpc/server/routers/viewer/apps.tsx b/packages/trpc/server/routers/viewer/apps.tsx index bfd28c172b..6d850e5801 100644 --- a/packages/trpc/server/routers/viewer/apps.tsx +++ b/packages/trpc/server/routers/viewer/apps.tsx @@ -12,19 +12,6 @@ import { TRPCError } from "@trpc/server"; import { authedAdminProcedure, authedProcedure, router } from "../../trpc"; -interface FilteredApp { - name: string; - slug: string; - logo: string; - title?: string; - type: string; - description: string; - dirName: string; - keys: Prisma.JsonObject | null; - enabled: boolean; - isTemplate?: boolean; -} - export const appsRouter = router({ listLocal: authedAdminProcedure .input( @@ -34,9 +21,7 @@ export const appsRouter = router({ ) .query(async ({ ctx, input }) => { const category = input.category === "conferencing" ? "video" : input.category; - const localApps = getLocalAppMetadata().filter( - (app) => app.categories?.some((appCategory) => appCategory === category) || app.category === category - ); + const localApps = getLocalAppMetadata(); const dbApps = await ctx.prisma.app.findMany({ where: { @@ -52,15 +37,18 @@ export const appsRouter = router({ }, }); - const filteredApps: FilteredApp[] = []; + return localApps.flatMap((app) => { + // Filter applications that does not belong to the current requested category. + if (!(app.category === category || app.categories?.some((appCategory) => appCategory === category))) { + return []; + } - for (const app of localApps) { // Find app metadata const dbData = dbApps.find((dbApp) => dbApp.slug === app.slug); // If the app already contains keys then return if (dbData?.keys) { - filteredApps.push({ + return { name: app.name, slug: app.slug, logo: app.logo, @@ -68,40 +56,39 @@ export const appsRouter = router({ type: app.type, description: app.description, // We know that keys are going to be an object or null. Prisma can not type check against JSON fields - // eslint-disable-next-line @typescript-eslint/ban-ts-comment - //@ts-ignore - keys: dbData.keys, + keys: dbData.keys as Prisma.JsonObject | null, dirName: app.dirName || app.slug, enabled: dbData?.enabled || false, isTemplate: app.isTemplate, - }); - } else { - const keysSchema = appKeysSchemas[app.dirName as keyof typeof appKeysSchemas]; - - const keys: Record = {}; - - if (typeof keysSchema !== "undefined") { - Object.values(keysSchema.keyof()._def.values).reduce((keysObject, key) => { - keys[key as string] = ""; - return keysObject; - }, {} as Record); - } - - filteredApps.push({ - name: app.name, - slug: app.slug, - logo: app.logo, - type: app.type, - title: app.title, - description: app.description, - enabled: dbData?.enabled || false, - dirName: app.dirName || app.slug, - keys: Object.keys(keys).length === 0 ? null : keys, - }); + }; } - } - return filteredApps; + const keysSchema = appKeysSchemas[app.dirName as keyof typeof appKeysSchemas]; + + const keys: Record = {}; + + // `typeof val === 'undefined'` is always slower than !== undefined comparison + // it is important to avoid string to string comparisons as much as we can + if (keysSchema !== undefined) { + // TODO: Remove the Object.values and reduce to improve the performance. + Object.values(keysSchema.keyof()._def.values).reduce((keysObject, key) => { + keys[key as string] = ""; + return keysObject; + }, {} as Record); + } + + return { + name: app.name, + slug: app.slug, + logo: app.logo, + type: app.type, + title: app.title, + description: app.description, + enabled: dbData?.enabled ?? false, + dirName: app.dirName ?? app.slug, + keys: Object.keys(keys).length === 0 ? null : keys, + }; + }); }), toggle: authedAdminProcedure .input( From f467bb795715ae83b257de975570e0f7907b59b3 Mon Sep 17 00:00:00 2001 From: Nafees Nazik <84864519+G3root@users.noreply.github.com> Date: Tue, 18 Apr 2023 07:25:01 +0530 Subject: [PATCH 021/146] perf: use LRU cache for getServerSession (#8339) * chore: add lru package * feat: use LRU cache * fix: type * Updates package json --------- Co-authored-by: zomars --- packages/features/auth/lib/getServerSession.ts | 12 ++++-------- packages/features/auth/package.json | 1 + yarn.lock | 8 ++++++++ 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/packages/features/auth/lib/getServerSession.ts b/packages/features/auth/lib/getServerSession.ts index 6a43c8fe3a..5368484be3 100644 --- a/packages/features/auth/lib/getServerSession.ts +++ b/packages/features/auth/lib/getServerSession.ts @@ -1,3 +1,4 @@ +import { LRUCache } from "lru-cache"; import type { GetServerSidePropsContext, NextApiRequest, NextApiResponse } from "next"; import type { AuthOptions, Session } from "next-auth"; import { getToken } from "next-auth/jwt"; @@ -9,13 +10,8 @@ import prisma from "@calcom/prisma"; /** * Stores the session in memory using the stringified token as the key. * - * This is fine for production as each lambda will be recycled before this - * becomes large enough to cause issues. - * - * If we want to get extra spicy we could store this in edge config or similar - * so we can TTL things and benefit from faster retrievals than prisma. */ -const UNSTABLE_SESSION_CACHE = new Map(); +const CACHE = new LRUCache({ max: 1000 }); /** * This is a slimmed down version of the `getServerSession` function from @@ -44,7 +40,7 @@ export async function getServerSession(options: { return null; } - const cachedSession = UNSTABLE_SESSION_CACHE.get(JSON.stringify(token)); + const cachedSession = CACHE.get(JSON.stringify(token)); if (cachedSession) { return cachedSession; @@ -79,7 +75,7 @@ export async function getServerSession(options: { }, }; - UNSTABLE_SESSION_CACHE.set(JSON.stringify(token), session); + CACHE.set(JSON.stringify(token), session); return session; } diff --git a/packages/features/auth/package.json b/packages/features/auth/package.json index 35d7df8de5..e4a1262564 100644 --- a/packages/features/auth/package.json +++ b/packages/features/auth/package.json @@ -14,6 +14,7 @@ "bcryptjs": "^2.4.3", "handlebars": "^4.7.7", "jose": "^4.13.1", + "lru-cache": "^9.0.3", "next-auth": "^4.20.1", "nodemailer": "^6.7.8", "otplib": "^12.0.1" diff --git a/yarn.lock b/yarn.lock index 9f86ec4ba6..dbe41bd94d 100644 --- a/yarn.lock +++ b/yarn.lock @@ -4332,6 +4332,7 @@ __metadata: bcryptjs: ^2.4.3 handlebars: ^4.7.7 jose: ^4.13.1 + lru-cache: ^9.0.3 next-auth: ^4.20.1 nodemailer: ^6.7.8 otplib: ^12.0.1 @@ -27369,6 +27370,13 @@ __metadata: languageName: node linkType: hard +"lru-cache@npm:^9.0.3": + version: 9.0.3 + resolution: "lru-cache@npm:9.0.3" + checksum: 218415714d44c113bc3a8d12ceca6dedf310915aa861f9e0df13df1fe6db9833e1b5f1f656e9a117ac82677ad3e499be23bff2f670f2a7c5c186d64a92596b68 + languageName: node + linkType: hard + "lru-cache@npm:~4.0.0": version: 4.0.2 resolution: "lru-cache@npm:4.0.2" From b1404356ff76fe9cb88898c7c5e83ac9d8384598 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Tue, 18 Apr 2023 01:55:59 +0000 Subject: [PATCH 022/146] New Crowdin translations by Github Action --- apps/web/public/static/locales/zh-CN/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/public/static/locales/zh-CN/common.json b/apps/web/public/static/locales/zh-CN/common.json index 141454a8ae..f25201e8a0 100644 --- a/apps/web/public/static/locales/zh-CN/common.json +++ b/apps/web/public/static/locales/zh-CN/common.json @@ -1600,7 +1600,7 @@ "attendee_no_longer_attending_subject": "一名参与者不再参加于 {{date}} 举行的 {{title}} ", "attendee_no_longer_attending": "一名参与者不再参加您的活动", "attendee_no_longer_attending_subtitle": "{{name}} 已取消。这意味着该时段有一个位置空出来", - "create_event_on": "活动创建时间", + "create_event_on": "创建活动于", "default_app_link_title": "设置默认应用链接", "default_app_link_description": "设置默认应用链接可以让所有新创建的活动类型使用您设置的应用链接。", "change_default_conferencing_app": "设置为默认", From 9dd36bd20e3795002ba700457eae28e7437c05cf Mon Sep 17 00:00:00 2001 From: Joe Date: Tue, 18 Apr 2023 07:28:54 +0530 Subject: [PATCH 023/146] fix: signup form submiting after api error (#8298) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Omar López --- apps/web/pages/signup.tsx | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/apps/web/pages/signup.tsx b/apps/web/pages/signup.tsx index 235e2cfb0f..47647d0ec0 100644 --- a/apps/web/pages/signup.tsx +++ b/apps/web/pages/signup.tsx @@ -95,7 +95,17 @@ export default function Signup({ prepopulateFormValues }: inferSSRProps
-
+ { + event.preventDefault(); + event.stopPropagation(); + + if (methods.formState?.errors?.apiError) { + methods.clearErrors("apiError"); + } + methods.handleSubmit(signUp)(event); + }} + className="bg-default space-y-6"> {errors.apiError && }
Date: Tue, 18 Apr 2023 13:21:03 +0530 Subject: [PATCH 024/146] fix: check box (#8328) Co-authored-by: Bailey Pumfleet --- packages/features/form-builder/Components.tsx | 18 +++++++++++++----- .../ui/components/form/checkbox/Checkbox.tsx | 2 +- 2 files changed, 14 insertions(+), 6 deletions(-) diff --git a/packages/features/form-builder/Components.tsx b/packages/features/form-builder/Components.tsx index 0a540285b3..672021c628 100644 --- a/packages/features/form-builder/Components.tsx +++ b/packages/features/form-builder/Components.tsx @@ -9,7 +9,17 @@ import type { import { classNames } from "@calcom/lib"; import { useLocale } from "@calcom/lib/hooks/useLocale"; import type { BookingFieldType } from "@calcom/prisma/zod-utils"; -import { PhoneInput, AddressInput, Button, Label, Group, RadioField, EmailField, Tooltip } from "@calcom/ui"; +import { + PhoneInput, + AddressInput, + Button, + Label, + Group, + RadioField, + EmailField, + Tooltip, + Checkbox, +} from "@calcom/ui"; import { UserPlus, X } from "@calcom/ui/components/icon"; import { ComponentForField } from "./FormBuilder"; @@ -364,8 +374,7 @@ export const Components: Record = { factory: ({ readOnly, label, value, setValue }) => { return (
- { if (e.target.checked) { setValue(true); @@ -373,12 +382,11 @@ export const Components: Record = { setValue(false); } }} - className="border-default disabled:bg-emphasis disabled:dark:text-subtle text-emphasis h-4 w-4 rounded focus:ring-black ltr:mr-2 rtl:ml-2" placeholder="" checked={value} disabled={readOnly} + description={label ?? ""} /> -
); }, diff --git a/packages/ui/components/form/checkbox/Checkbox.tsx b/packages/ui/components/form/checkbox/Checkbox.tsx index 30e41f94dd..c5ea496b1f 100644 --- a/packages/ui/components/form/checkbox/Checkbox.tsx +++ b/packages/ui/components/form/checkbox/Checkbox.tsx @@ -53,7 +53,7 @@ const CheckboxField = forwardRef( type="checkbox" disabled={disabled} className={classNames( - "text-primary-600 focus:ring-primary-500 border-default h-4 w-4 rounded ltr:mr-2 rtl:ml-2 ", + "text-primary-600 focus:ring-primary-500 border-default bg-default h-4 w-4 rounded ltr:mr-2 rtl:ml-2", !error && disabled ? "bg-gray-300 checked:bg-gray-300" : "hover:bg-subtle checked:bg-gray-800", From 073b212c056825cb435723f337336181608f8009 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Tue, 18 Apr 2023 07:52:00 +0000 Subject: [PATCH 025/146] New Crowdin translations by Github Action --- apps/web/public/static/locales/it/common.json | 6 +++--- apps/web/public/static/locales/ja/common.json | 8 ++++---- apps/web/public/static/locales/ro/common.json | 12 ++++++------ apps/web/public/static/locales/sr/common.json | 4 ++-- apps/web/public/static/locales/uk/common.json | 2 +- 5 files changed, 16 insertions(+), 16 deletions(-) diff --git a/apps/web/public/static/locales/it/common.json b/apps/web/public/static/locales/it/common.json index 2fe039493d..cbbe2e98f7 100644 --- a/apps/web/public/static/locales/it/common.json +++ b/apps/web/public/static/locales/it/common.json @@ -111,7 +111,7 @@ "hidden_team_owner_message": "Per utilizzare i team ti occorre un account Pro. Sarai nascosto finché non cambierai piano.", "link_expires": "p.s. Scade tra {{expiresIn}} ore.", "upgrade_to_per_seat": "Passa al piano Per-posto", - "seat_options_doesnt_support_confirmation": "L'opzione Posti non supporta la richiesta di conferma", + "seat_options_doesnt_support_confirmation": "L'opzione di prenotazione dei posti non è disponibile per le prenotazioni che richiedono conferma", "team_upgrade_seats_details": "Per i {{memberCount}} membri del tuo team, {{unpaidCount}} posti non sono pagati. A € {{seatPrice}}/m per posto, il costo totale stimato della tua adesione è di € {{totalCost}}/m.", "team_upgrade_banner_description": "Grazie per aver provato il nostro piano team. Abbiamo notato che è necessario effettuare l'upgrade del tuo team \"{{teamName}}\".", "team_upgrade_banner_action": "Effettua l'upgrade", @@ -1593,9 +1593,9 @@ "create_a_one_one_template": "Crea un modello di incontro uno a uno per un tipo di evento e distribuiscilo a più membri.", "collective_or_roundrobin": "Di gruppo o round robin", "book_your_team_members": "Usa eventi di gruppo per riunire tutti i membri del team o eventi round robin per fare partecipare a rotazione le persone giuste.", - "event_no_longer_attending_subject": "Non partecipa più a {{title}} del {{date}}", + "event_no_longer_attending_subject": "Non partecipa più a {{title}} con il seguente orario: {{date}}", "no_longer_attending": "Non partecipi più a questo evento", - "attendee_no_longer_attending_subject": "Un partecipante non partecipa più a {{title}} del {{date}}", + "attendee_no_longer_attending_subject": "Un partecipante non partecipa più a {{title}} con il seguente orario {{date}}", "attendee_no_longer_attending": "Un partecipante non partecipa più al tuo evento", "attendee_no_longer_attending_subtitle": "{{name}} ha cancellato. Di conseguenza, si è liberato un posto in questa fascia oraria", "create_event_on": "Crea evento in data", diff --git a/apps/web/public/static/locales/ja/common.json b/apps/web/public/static/locales/ja/common.json index 899cdab9ed..7a30116d4e 100644 --- a/apps/web/public/static/locales/ja/common.json +++ b/apps/web/public/static/locales/ja/common.json @@ -111,7 +111,7 @@ "hidden_team_owner_message": "チームをご利用いただくためには、Pro アカウントが必要です。アップグレードするまでは非表示となります。", "link_expires": "追記: 有効期限は {{expiresIn}} 時間後に切れます。", "upgrade_to_per_seat": "座席ごとにアップグレードする", - "seat_options_doesnt_support_confirmation": "座席オプションは確認要件をサポートしていません", + "seat_options_doesnt_support_confirmation": "予約に確認が必要な場合、座席予約はできません", "team_upgrade_seats_details": "あなたのチームに所属する {{memberCount}} 人のメンバーのうち、{{unpaidCount}} 名分のライセンスが未払いとなっています。ライセンスごとの料金は、${{seatPrice}} / 月ですので、あなたのメンバーシップの合計金額は、${{totalCost}} / 月になると予想されます。", "team_upgrade_banner_description": "新しいチームプランをお試しいただき、ありがとうございます。あなたのチーム「{{teamName}}」には、アップグレードが必要なようです。", "team_upgrade_banner_action": "アップグレードはこちら", @@ -1590,7 +1590,7 @@ "recommended_next_steps": "推奨される次のステップ", "create_a_managed_event": "管理されたイベントの種類を作成", "meetings_are_better_with_the_right": "ミーティングは適切なチームメンバーの参加によってより良いものになります。今すぐ彼らを招待しましょう。", - "create_a_one_one_template": "イベントタイプに One-One One テンプレートを作成して複数のメンバーに配布します。", + "create_a_one_one_template": "イベントタイプにマンツーマンテンプレートを作成して複数のメンバーに配布します。", "collective_or_roundrobin": "共有またはラウンドロビン", "book_your_team_members": "共有イベントでチームメンバーを一緒に予約するか、ラウンドロビンで持ち回りにして適切なユーザーを確保します。", "event_no_longer_attending_subject": "{{date}} の {{title}} には出席しなくなりました", @@ -1608,7 +1608,7 @@ "booking_questions_title": "予約の質問", "booking_questions_description": "予約ページで尋ねる質問をカスタマイズする", "add_a_booking_question": "質問を追加", - "duplicate_email": "メールアドレスが重複しています", + "duplicate_email": "メールが重複しています", "booking_with_payment_cancelled": "このイベントの支払いはもうできません", "booking_with_payment_cancelled_already_paid": "この予約に関するお支払いの払い戻しについては、現在処理中です。", "booking_with_payment_cancelled_refunded": "この予約に関するお支払いは、返金されています。", @@ -1647,7 +1647,7 @@ "app_is_connected": "{{dependencyName}} が接続されました", "requires_app": "{{dependencyName}} が必要です", "verification_code": "確認コード", - "can_you_try_again": "別のタイミングでもう1度お試しください", + "can_you_try_again": "別の時間帯でもう1度お試しください", "verify": "確認する", "select_all": "すべてを選択", "default_conferencing_bulk_title": "既存のイベントタイプを一括更新する", diff --git a/apps/web/public/static/locales/ro/common.json b/apps/web/public/static/locales/ro/common.json index 40b3de60cd..fe72252de6 100644 --- a/apps/web/public/static/locales/ro/common.json +++ b/apps/web/public/static/locales/ro/common.json @@ -111,7 +111,7 @@ "hidden_team_owner_message": "Aveți nevoie de un cont Pro pentru a utiliza echipe. Sunteți ascuns până când faceți upgrade.", "link_expires": "p.s. Expiră în {{expiresIn}} ore.", "upgrade_to_per_seat": "Faceți upgrade la nivelul Per licență", - "seat_options_doesnt_support_confirmation": "Opțiunea pentru locuri nu acceptă cerința de confirmare", + "seat_options_doesnt_support_confirmation": "Opțiunea pentru locuri nu este disponibilă dacă rezervarea solicită de confirmare", "team_upgrade_seats_details": "Printre cei {{memberCount}} (de) membri din echipa dvs., {{unpaidCount}} (de) locuri nu sunt plătite. La {{seatPrice}} USD/lună/licență, costul total estimat al abonamentului dvs. este de {{totalCost}} USD/lună.", "team_upgrade_banner_description": "Vă mulțumim că ați încercat noul nostru plan pentru echipe. Am observat că planul echipei dvs. „{{teamName}}” necesită un upgrade.", "team_upgrade_banner_action": "Realizați upgrade aici", @@ -1590,15 +1590,15 @@ "recommended_next_steps": "Următorii pași recomandați", "create_a_managed_event": "Creați un tip de eveniment gestionat", "meetings_are_better_with_the_right": "Ședințele sunt mai agreabile dacă participă membrii potriviți ai echipei. Invitați-i acum.", - "create_a_one_one_template": "Creează un șablon unu-unu pentru un tip de eveniment și distribuie-l mai multor membri.", + "create_a_one_one_template": "Creați un șablon individualizat pentru un tip de eveniment și distribuiți-l mai multor membri.", "collective_or_roundrobin": "Alocare colectivă sau prin rotație", "book_your_team_members": "Efectuați rezervări comune pentru membrii echipei. Alegeți evenimente colective sau creați un ciclu pentru a găsi persoana potrivită în urma alocării prin rotație.", - "event_no_longer_attending_subject": "Nu mai participă la {{title}} de pe {{date}}", + "event_no_longer_attending_subject": "Nu mai participă la {{title}} de la {{date}}", "no_longer_attending": "Nu mai participi la acest eveniment", - "attendee_no_longer_attending_subject": "Un participant nu mai ia parte la {{title}} de pe {{date}}", + "attendee_no_longer_attending_subject": "Un participant nu mai ia parte la {{title}} de la {{date}}", "attendee_no_longer_attending": "Un participant nu mai ia parte la evenimentul tău", "attendee_no_longer_attending_subtitle": "{{name}} a anulat. Acest lucru înseamnă că s-a eliberat un loc pentru acest interval de timp", - "create_event_on": "Crează eveniment pe", + "create_event_on": "Creați eveniment pe", "default_app_link_title": "Setați un link implicit pentru aplicații", "default_app_link_description": "Setarea unui link implicit pentru aplicații permite tuturor tipurilor de evenimente nou-create să utilizeze linkul pentru aplicații pe care l-ați setat.", "change_default_conferencing_app": "Setează ca implicit", @@ -1652,7 +1652,7 @@ "this_meeting_has_not_started_yet": "Această întâlnire nu a început încă", "this_app_requires_connected_account": "{{appName}} necesită un cont {{dependencyName}} conectat", "connect_app": "Conectează {{dependencyName}}", - "app_is_connected": "{{dependencyName}} este conectat", + "app_is_connected": "{{dependencyName}} este conectată", "requires_app": "Necesită {{dependencyName}}", "verification_code": "Cod de verificare", "can_you_try_again": "Poți încerca din nou cu o oră diferită?", diff --git a/apps/web/public/static/locales/sr/common.json b/apps/web/public/static/locales/sr/common.json index 14212252b7..c494a9de40 100644 --- a/apps/web/public/static/locales/sr/common.json +++ b/apps/web/public/static/locales/sr/common.json @@ -1652,10 +1652,10 @@ "this_meeting_has_not_started_yet": "Ovaj sastanak još nije počeo", "this_app_requires_connected_account": "{{appName}} zahteva povezani {{dependencyName}} nalog", "connect_app": "Povežite {{dependencyName}}", - "app_is_connected": "{{dependencyName}} je povezan", + "app_is_connected": "{{dependencyName}} je povezana", "requires_app": "Zahteva {{dependencyName}}", "verification_code": "Verifikacioni kôd", - "can_you_try_again": "Možete li da pokušate ponovo kasnije?", + "can_you_try_again": "Možete li da pokušate sa drugim terminom?", "verify": "Verifikuj", "select_all": "Izaberite sve", "default_conferencing_bulk_title": "Masovno ažuriranje postojećih vrsti događaja", diff --git a/apps/web/public/static/locales/uk/common.json b/apps/web/public/static/locales/uk/common.json index f65694cb6c..aca71c7829 100644 --- a/apps/web/public/static/locales/uk/common.json +++ b/apps/web/public/static/locales/uk/common.json @@ -111,7 +111,7 @@ "hidden_team_owner_message": "Щоб користуватися функціями команди, потрібен обліковий запис версії Pro. До переходу на цю версію вас буде приховано.", "link_expires": "P.S. Термін дії – ще {{expiresIn}} год.", "upgrade_to_per_seat": "Перейдіть на версію з оплатою за місце", - "seat_options_doesnt_support_confirmation": "Для параметра «Місця» підтвердження не потрібно", + "seat_options_doesnt_support_confirmation": "Для бронювань із місцями підтвердження не надається", "team_upgrade_seats_details": "У вас стільки неоплачених місць для учасників команди: {{unpaidCount}} із {{memberCount}}. Одне місце коштує {{seatPrice}} $ за місяць, тому загальна вартість вашого членства складатиме приблизно {{totalCost}} $ за місяць.", "team_upgrade_banner_description": "Дякуємо, що спробували наш новий план для команд! Ми помітили, що вашу команду «{{teamName}}» потрібно перевести на план вищого рівня.", "team_upgrade_banner_action": "Перейдіть на інший план", From ee86c751f794498832b20be27a6cff38757d4098 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Tue, 18 Apr 2023 07:52:53 +0000 Subject: [PATCH 026/146] New Crowdin translations by Github Action --- apps/web/public/static/locales/uk/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/public/static/locales/uk/common.json b/apps/web/public/static/locales/uk/common.json index aca71c7829..41a7686b84 100644 --- a/apps/web/public/static/locales/uk/common.json +++ b/apps/web/public/static/locales/uk/common.json @@ -1590,7 +1590,7 @@ "recommended_next_steps": "Рекомендовані наступні кроки", "create_a_managed_event": "Створіть подію керованого типу", "meetings_are_better_with_the_right": "Краще проводити наради з потрібними учасниками команди. Запросіть їх зараз.", - "create_a_one_one_template": "Створіть єдиний шаблон для типу заходу та розповсюдьте його між учасниками.", + "create_a_one_one_template": "Створіть шаблон «один на один» для типу заходу та розповсюдьте його між учасниками.", "collective_or_roundrobin": "Колективна або циклічна", "book_your_team_members": "Забронюйте час усіх учасників команди одночасно за допомогою колективних подій або виберіть потрібну людину за циклічним принципом.", "event_no_longer_attending_subject": "Більше не відвідує захід «{{title}}» о {{date}}", From e6a8a31b534d624792e6faa9d35b6db494b0d587 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Tue, 18 Apr 2023 07:53:41 +0000 Subject: [PATCH 027/146] New Crowdin translations by Github Action --- apps/web/public/static/locales/uk/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/public/static/locales/uk/common.json b/apps/web/public/static/locales/uk/common.json index 41a7686b84..379b8e5185 100644 --- a/apps/web/public/static/locales/uk/common.json +++ b/apps/web/public/static/locales/uk/common.json @@ -1598,7 +1598,7 @@ "attendee_no_longer_attending_subject": "Учасник більше не відвідує захід «{{title}}» о {{date}}", "attendee_no_longer_attending": "Учасник більше не відвідує ваш захід", "attendee_no_longer_attending_subtitle": "{{name}} скасував(-ла) участь. Це означає, що на цей час з’явилося вільне місце.", - "create_event_on": "Створити захід", + "create_event_on": "Створити захід в календарі", "default_app_link_title": "Установити посилання на додаток за замовчуванням", "default_app_link_description": "Посилання на додаток за замовчуванням використовуватиметься для всіх новостворених типів подій.", "change_default_conferencing_app": "Установити за замовчуванням", From e2931d9fa255e19ce5f0b88e09db4dcdd87afa00 Mon Sep 17 00:00:00 2001 From: Crowdin Bot Date: Tue, 18 Apr 2023 07:54:34 +0000 Subject: [PATCH 028/146] New Crowdin translations by Github Action --- apps/web/public/static/locales/uk/common.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/apps/web/public/static/locales/uk/common.json b/apps/web/public/static/locales/uk/common.json index 379b8e5185..77309f3119 100644 --- a/apps/web/public/static/locales/uk/common.json +++ b/apps/web/public/static/locales/uk/common.json @@ -1617,7 +1617,7 @@ "form_builder_field_already_exists": "Поле з такою назвою вже існує", "form_builder_field_add_subtitle": "Налаштуйте запитання, які ставитимуться на сторінці бронювання", "get_started_zapier_templates": "Розпочніть роботу із шаблонами Zapier", - "team_is_unpublished": "Публікацію такого елемента скасовано: {{team}}", + "team_is_unpublished": "Публікацію такої команди скасовано: {{team}}", "team_is_unpublished_description": "Посилання на команду зараз недоступне. Зверніться до власника команди або попросіть його опублікувати це посилання.", "team_member": "Учасник команди", "a_routing_form": "Форма переспрямування", From ae22246f05ad1917da6bc6786d29a3ac50018453 Mon Sep 17 00:00:00 2001 From: Yagiz Nizipli Date: Tue, 18 Apr 2023 04:17:16 -0400 Subject: [PATCH 029/146] perf: improve application toggle flow (#8302) * perf: improve application toggle flow * Reverses logic for enabled apps --------- Co-authored-by: zomars --- packages/features/apps/AdminAppsList.tsx | 4 +- packages/trpc/server/routers/viewer/apps.tsx | 66 +++++++++++++------- 2 files changed, 46 insertions(+), 24 deletions(-) diff --git a/packages/features/apps/AdminAppsList.tsx b/packages/features/apps/AdminAppsList.tsx index 845faa9543..3863c3b43b 100644 --- a/packages/features/apps/AdminAppsList.tsx +++ b/packages/features/apps/AdminAppsList.tsx @@ -104,7 +104,7 @@ const IntegrationContainer = ({ } else if (app.keys) { showKeyModal(true); } else { - enableAppMutation.mutate({ slug: app.slug, enabled: app.enabled }); + enableAppMutation.mutate({ slug: app.slug, enabled: !app.enabled }); } }} /> @@ -117,7 +117,7 @@ const IntegrationContainer = ({ title={t("disable_app")} variety="danger" onConfirm={() => { - enableAppMutation.mutate({ slug: app.slug, enabled: app.enabled }); + enableAppMutation.mutate({ slug: app.slug, enabled: !app.enabled }); }}> {t("disable_app_description")} diff --git a/packages/trpc/server/routers/viewer/apps.tsx b/packages/trpc/server/routers/viewer/apps.tsx index 6d850e5801..cc0da323e6 100644 --- a/packages/trpc/server/routers/viewer/apps.tsx +++ b/packages/trpc/server/routers/viewer/apps.tsx @@ -99,6 +99,7 @@ export const appsRouter = router({ ) .mutation(async ({ ctx, input }) => { const { prisma } = ctx; + const { enabled } = input; // Get app name from metadata const localApps = getLocalAppMetadata(); @@ -112,7 +113,7 @@ export const appsRouter = router({ slug: input.slug, }, update: { - enabled: !input.enabled, + enabled, dirName: appMetadata?.dirName || appMetadata?.slug || "", }, create: { @@ -123,12 +124,14 @@ export const appsRouter = router({ ([appMetadata?.category] as AppCategories[]) || undefined, keys: undefined, - enabled: !input.enabled, + enabled, }, }); // If disabling an app then we need to alert users based on the app type - if (input.enabled) { + if (!enabled) { + const translations = new Map(); + if (app.categories.some((category) => ["calendar", "video"].includes(category))) { // Find all users with the app credentials const appCredentials = await prisma.credential.findMany({ @@ -145,18 +148,26 @@ export const appsRouter = router({ }, }); + // TODO: This should be done async probably using a queue. Promise.all( appCredentials.map(async (credential) => { - const t = await getTranslation(credential.user?.locale || "en", "common"); + // No need to continue if credential does not have a user + if (!credential.user || !credential.user.email) return; - if (credential.user?.email) { - await sendDisabledAppEmail({ - email: credential.user.email, - appName: appMetadata?.name || app.slug, - appType: app.categories, - t, - }); + const locale = credential.user.locale ?? "en"; + let t = translations.get(locale); + + if (!t) { + t = await getTranslation(locale, "common"); + translations.set(locale, t); } + + await sendDisabledAppEmail({ + email: credential.user.email, + appName: appMetadata?.name || app.slug, + appType: app.categories, + t, + }); }) ); } else { @@ -180,8 +191,11 @@ export const appsRouter = router({ }, }); + // TODO: This should be done async probably using a queue. Promise.all( eventTypesWithApp.map(async (eventType) => { + // TODO: This update query can be removed by merging it with + // the previous `findMany` query, if that query returns certain values. await prisma.eventType.update({ where: { id: eventType.id, @@ -202,18 +216,26 @@ export const appsRouter = router({ }, }); - eventType.users.map(async (user) => { - const t = await getTranslation(user.locale || "en", "common"); + return Promise.all( + eventType.users.map(async (user) => { + const locale = user.locale ?? "en"; + let t = translations.get(locale); - await sendDisabledAppEmail({ - email: user.email, - appName: appMetadata?.name || app.slug, - appType: app.categories, - t, - title: eventType.title, - eventTypeId: eventType.id, - }); - }); + if (!t) { + t = await getTranslation(locale, "common"); + translations.set(locale, t); + } + + await sendDisabledAppEmail({ + email: user.email, + appName: appMetadata?.name || app.slug, + appType: app.categories, + t, + title: eventType.title, + eventTypeId: eventType.id, + }); + }) + ); }) ); } From c0bda6257e330a6b4f8d1cfb18a5ff5102399e76 Mon Sep 17 00:00:00 2001 From: Nafees Nazik <84864519+G3root@users.noreply.github.com> Date: Tue, 18 Apr 2023 14:42:12 +0530 Subject: [PATCH 030/146] Fix: dark mode issues (#8348) * fix: dark mode * fix: dark mode --- apps/web/components/apps/App.tsx | 2 +- packages/features/eventtypes/components/EmptyPage.tsx | 6 ++---- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/apps/web/components/apps/App.tsx b/apps/web/components/apps/App.tsx index ccc379a3ea..49c10a5830 100644 --- a/apps/web/components/apps/App.tsx +++ b/apps/web/components/apps/App.tsx @@ -238,7 +238,7 @@ const Component = ({ )} -
+
{body}

{t("pricing")}

diff --git a/packages/features/eventtypes/components/EmptyPage.tsx b/packages/features/eventtypes/components/EmptyPage.tsx index 0f4ce14504..813a04b6aa 100644 --- a/packages/features/eventtypes/components/EmptyPage.tsx +++ b/packages/features/eventtypes/components/EmptyPage.tsx @@ -32,10 +32,8 @@ function EmptyPage({ name }: { name: string }) {
-

{t("no_event_types")}

-

- {t("no_event_types_description", { name })} -

+

{t("no_event_types")}

+

{t("no_event_types_description", { name })}

); From 0aca769d069ceb25df4477788aa63decff3b0fba Mon Sep 17 00:00:00 2001 From: Carina Wollendorfer <30310907+CarinaWolli@users.noreply.github.com> Date: Tue, 18 Apr 2023 12:08:09 +0200 Subject: [PATCH 031/146] Allow editing workflow templates (#8028) * add event end time as variable * add timezone as new variable * add first version of template prefill * set template body when template is updated * set reminder template body and subject when creating workflow * set email subject when changes templates * save emailBody and emailsubject for all templates + fix duplicate template text * add more flexibility for templates * remove console.log * fix {ORAGANIZER} and {ATTENDEE} variable * make sure to always send reminder body and not default template * fix import * remove email body text and match variables in templates * handle translations of formatted variables * fix email reminder template * add cancel and reschedule link as variable * add cancel and reschedule link for scheduled emails/sms * make sure empty empty body and subject are set for reminder template * add info message for testing workflow * fix typo * add sms template * add migration to remove reminderBody and emailSubject * add branding * code clean up * add hide branding everywhere * fix sms reminder template * set sms reminder template if sms body is empty * fix custom inputs variables everywhere * fix variable translations + other small fixes * fix some type errors * fix more type errors * fix everything missing around cron job scheduling * make sure to always use custom template for sms messages * fix type error * code clean up * rename link to url * Add debug logs * Update handleNewBooking.ts * Add debug logs * removed unneded responses * fix booking questions + UI improvements * remove html email body when changing to sms action * code clean up + comments * code clean up * code clean up * remove comment * more clear info message for timezone variable --------- Co-authored-by: CarinaWolli Co-authored-by: Hariom Balhara Co-authored-by: zomars Co-authored-by: alannnc --- apps/web/public/static/locales/en/common.json | 19 +- .../bookings/lib/handleCancelBooking.ts | 9 +- .../bookings/lib/handleConfirmation.ts | 50 ++- .../features/bookings/lib/handleNewBooking.ts | 15 +- .../workflows/api/scheduleEmailReminders.ts | 100 +++--- .../ee/workflows/api/scheduleSMSReminders.ts | 71 ++-- .../components/WorkflowDetailsPage.tsx | 2 +- .../components/WorkflowStepContainer.tsx | 326 +++++++++++------- ...sSMSAction.ts => actionHelperFunctions.ts} | 4 + .../features/ee/workflows/lib/constants.ts | 6 + .../features/ee/workflows/lib/getOptions.ts | 4 +- .../lib/reminders/emailReminderManager.ts | 94 ++--- .../lib/reminders/reminderScheduler.ts | 20 +- .../lib/reminders/smsReminderManager.ts | 54 +-- .../lib/reminders/templates/customTemplate.ts | 54 ++- .../templates/emailReminderTemplate.ts | 55 +-- .../templates/smsReminderTemplate.ts | 37 +- .../ee/workflows/lib/variableTranslations.ts | 33 +- .../features/ee/workflows/pages/workflow.tsx | 7 +- .../migration.sql | 6 + .../trpc/server/routers/viewer/bookings.tsx | 1 + .../trpc/server/routers/viewer/workflows.tsx | 21 +- packages/types/Calendar.d.ts | 2 +- packages/ui/components/editor/Editor.tsx | 7 + .../editor/plugins/AddVariablesDropdown.tsx | 38 +- .../editor/plugins/ToolbarPlugin.tsx | 54 ++- 26 files changed, 724 insertions(+), 365 deletions(-) rename packages/features/ee/workflows/lib/{isSMSAction.ts => actionHelperFunctions.ts} (55%) create mode 100644 packages/prisma/migrations/20230404100155_remove_reminder_body_email_subject_from_reminder_template/migration.sql diff --git a/apps/web/public/static/locales/en/common.json b/apps/web/public/static/locales/en/common.json index 5ac31a6345..9cdbda20c3 100644 --- a/apps/web/public/static/locales/en/common.json +++ b/apps/web/public/static/locales/en/common.json @@ -1150,13 +1150,13 @@ "current_username": "Current username", "example_1": "Example 1", "example_2": "Example 2", - "additional_input_label": "Additional Input Label", + "booking_question_identifier": "Booking Question Identifier", "company_size": "Company size", "what_help_needed": "What do you need help with?", "variable_format": "Variable format", "webhook_subscriber_url_reserved": "Webhook subscriber url is already defined", "custom_input_as_variable_info": "Ignore all special characters of the additional input label (use only letters and numbers), use uppercase for all letters and replace whitespaces with underscores.", - "using_additional_inputs_as_variables": "How do I use Additional Inputs as variables?", + "using_booking_questions_as_variables": "How do I use booking questions as variables?", "download_desktop_app": "Download desktop app", "set_ping_link": "Set Ping link", "rate_limit_exceeded": "Rate limit exceeded", @@ -1382,7 +1382,7 @@ "add_limit": "Add Limit", "team_name_required": "Team name required", "show_attendees": "Share attendee information between guests", - "how_additional_inputs_as_variables": "How to use Additional Inputs as Variables", + "how_booking_questions_as_variables": "How to use booking questions as variables?", "format": "Format", "uppercase_for_letters": "Use uppercase for all letters", "replace_whitespaces_underscores": "Replace whitespaces with underscores", @@ -1397,7 +1397,7 @@ "billing_help_title": "Need anything else?", "billing_help_description": "If you need any further help with billing, our support team are here to help.", "billing_help_cta": "Contact support", - "ignore_special_characters": "Ignore special characters in your Additional Input label. Use only letters and numbers", + "ignore_special_characters_booking_questions": "Ignore special characters in your booking question identifier. Use only letters and numbers", "retry": "Retry", "fetching_calendars_error": "There was a problem fetching your calendars. Please <1>try again or reach out to customer support.", "calendar_connection_fail": "Calendar connection failed", @@ -1705,9 +1705,17 @@ "verification_code": "Verification code", "can_you_try_again": "Can you try again with a different time?", "verify": "Verify", + "timezone_variable": "Timezone", + "timezone_info": "The timezone of the person receiving", + "event_end_time_variable": "Event end time", + "event_end_time_info": "The event end time", + "cancel_url_variable": "Cancel URL", + "cancel_url_info": "The URL to cancel the booking", + "reschedule_url_variable": "Reschedule URL", + "reschedule_url_info": "The URL to reschedule the booking", + "invalid_event_name_variables": "There is an invalid variable in your event name", "select_all": "Select All", "default_conferencing_bulk_title": "Bulk update existing event types", - "invalid_event_name_variables": "There is an invalid variable in your event name", "members_default_schedule": "Member's default schedule", "set_by_admin": "Set by team admin", "members_default_location": "Member's default location", @@ -1769,6 +1777,7 @@ "collect_no_show_fee": "Collect no-show fee", "no_show_fee_charged": "No-show fee charged", "insights": "Insights", + "testing_workflow_info_message": "When testing this workflow, be aware that Emails and SMS can only be scheduled at least 1 hour in advance", "insights_no_data_found_for_filter": "No data found for the selected filter or selected dates.", "acknowledge_booking_no_show_fee": "I acknowledge that if I do not attend this event that a {{amount, currency}} no show fee will be applied to my card.", "card_details": "Card details", diff --git a/packages/features/bookings/lib/handleCancelBooking.ts b/packages/features/bookings/lib/handleCancelBooking.ts index 49795f6af1..495bebe570 100644 --- a/packages/features/bookings/lib/handleCancelBooking.ts +++ b/packages/features/bookings/lib/handleCancelBooking.ts @@ -1,4 +1,4 @@ -import type { WebhookTriggerEvents, WorkflowReminder, Prisma } from "@prisma/client"; +import type { Prisma, WebhookTriggerEvents, WorkflowReminder } from "@prisma/client"; import { BookingStatus, MembershipRole, WorkflowMethods } from "@prisma/client"; import type { NextApiRequest } from "next"; @@ -58,6 +58,7 @@ async function getBookingToDelete(id: number | undefined, uid: string | undefine paid: true, eventType: { select: { + slug: true, owner: true, teamId: true, recurringEvent: true, @@ -334,7 +335,11 @@ async function handler(req: CustomRequest) { await sendCancelledReminders({ workflows: bookingToDelete.eventType?.workflows, smsReminderNumber: bookingToDelete.smsReminderNumber, - evt, + evt: { + ...evt, + ...{ eventType: { slug: bookingToDelete.eventType.slug } }, + }, + hideBranding: !!bookingToDelete.eventType.owner?.hideBranding, }); } diff --git a/packages/features/bookings/lib/handleConfirmation.ts b/packages/features/bookings/lib/handleConfirmation.ts index bed1992ed1..0e4742497d 100644 --- a/packages/features/bookings/lib/handleConfirmation.ts +++ b/packages/features/bookings/lib/handleConfirmation.ts @@ -1,4 +1,4 @@ -import type { PrismaClient, Workflow, WorkflowsOnEventTypes, WorkflowStep } from "@prisma/client"; +import type { Prisma, PrismaClient, Workflow, WorkflowsOnEventTypes, WorkflowStep } from "@prisma/client"; import { BookingStatus, WebhookTriggerEvents } from "@prisma/client"; import { scheduleTrigger } from "@calcom/app-store/zapier/lib/nodeScheduler"; @@ -10,6 +10,7 @@ import getWebhooks from "@calcom/features/webhooks/lib/getWebhooks"; import type { EventTypeInfo } from "@calcom/features/webhooks/lib/sendPayload"; import sendPayload from "@calcom/features/webhooks/lib/sendPayload"; import logger from "@calcom/lib/logger"; +import { bookingMetadataSchema } from "@calcom/prisma/zod-utils"; import type { AdditionalInformation, CalendarEvent } from "@calcom/types/Calendar"; const log = logger.getChildLogger({ prefix: ["[handleConfirmation] book:user"] }); @@ -66,11 +67,24 @@ export async function handleConfirmation(args: { let updatedBookings: { scheduledJobs: string[]; id: number; + description: string | null; + location: string | null; + attendees: { + name: string; + email: string; + }[]; startTime: Date; endTime: Date; uid: string; smsReminderNumber: string | null; + metadata: Prisma.JsonValue | null; + customInputs: Prisma.JsonValue; eventType: { + bookingFields: Prisma.JsonValue | null; + slug: string; + owner: { + hideBranding?: boolean | null; + } | null; workflows: (WorkflowsOnEventTypes & { workflow: Workflow & { steps: WorkflowStep[]; @@ -104,6 +118,13 @@ export async function handleConfirmation(args: { select: { eventType: { select: { + slug: true, + bookingFields: true, + owner: { + select: { + hideBranding: true, + }, + }, workflows: { include: { workflow: { @@ -115,15 +136,21 @@ export async function handleConfirmation(args: { }, }, }, + description: true, + attendees: true, + location: true, uid: true, startTime: true, + metadata: true, endTime: true, smsReminderNumber: true, + customInputs: true, id: true, scheduledJobs: true, }, }) ); + const updatedBookingsResult = await Promise.all(updateBookingsPromise); updatedBookings = updatedBookings.concat(updatedBookingsResult); } else { @@ -142,6 +169,13 @@ export async function handleConfirmation(args: { select: { eventType: { select: { + slug: true, + bookingFields: true, + owner: { + select: { + hideBranding: true, + }, + }, workflows: { include: { workflow: { @@ -155,8 +189,13 @@ export async function handleConfirmation(args: { }, uid: true, startTime: true, + metadata: true, endTime: true, smsReminderNumber: true, + description: true, + attendees: true, + location: true, + customInputs: true, id: true, scheduledJobs: true, }, @@ -172,14 +211,21 @@ export async function handleConfirmation(args: { evtOfBooking.startTime = updatedBookings[index].startTime.toISOString(); evtOfBooking.endTime = updatedBookings[index].endTime.toISOString(); evtOfBooking.uid = updatedBookings[index].uid; + const eventTypeSlug = updatedBookings[index].eventType?.slug || ""; const isFirstBooking = index === 0; + const videoCallUrl = + bookingMetadataSchema.parse(updatedBookings[index].metadata || {})?.videoCallUrl || ""; await scheduleWorkflowReminders({ workflows: updatedBookings[index]?.eventType?.workflows || [], smsReminderNumber: updatedBookings[index].smsReminderNumber, - calendarEvent: evtOfBooking, + calendarEvent: { + ...evtOfBooking, + ...{ metadata: { videoCallUrl }, eventType: { slug: eventTypeSlug } }, + }, isFirstRecurringEvent: isFirstBooking, + hideBranding: !!updatedBookings[index].eventType?.owner?.hideBranding, }); } } diff --git a/packages/features/bookings/lib/handleNewBooking.ts b/packages/features/bookings/lib/handleNewBooking.ts index 9d154152cd..f476a00cd5 100644 --- a/packages/features/bookings/lib/handleNewBooking.ts +++ b/packages/features/bookings/lib/handleNewBooking.ts @@ -198,6 +198,7 @@ const getEventTypesFromDB = async (eventTypeId: number) => { customInputs: true, disableGuests: true, users: userSelect, + slug: true, team: { select: { id: true, @@ -227,6 +228,11 @@ const getEventTypesFromDB = async (eventTypeId: number) => { seatsShowAttendees: true, bookingLimits: true, durationLimits: true, + owner: { + select: { + hideBranding: true, + }, + }, workflows: { include: { workflow: { @@ -800,6 +806,7 @@ async function handler( id: organizerUser.id, name: organizerUser.name || "Nameless", email: organizerUser.email || "Email-less", + username: organizerUser.username || undefined, timeZone: organizerUser.timeZone, language: { translate: tOrganizer, locale: organizerUser.locale ?? "en" }, timeFormat: organizerUser.timeFormat === 24 ? TimeFormat.TWENTY_FOUR_HOUR : TimeFormat.TWELVE_HOUR, @@ -1441,7 +1448,7 @@ async function handler( await scheduleWorkflowReminders({ workflows: eventType.workflows, smsReminderNumber: smsReminderNumber || null, - calendarEvent: { ...evt, responses, ...{ metadata } }, + calendarEvent: { ...evt, ...{ metadata, eventType: { slug: eventType.slug } } }, requiresConfirmation: evt.requiresConfirmation || false, isRescheduleEvent: !!rescheduleUid, isFirstRecurringEvent: true, @@ -2058,10 +2065,14 @@ async function handler( await scheduleWorkflowReminders({ workflows: eventType.workflows, smsReminderNumber: smsReminderNumber || null, - calendarEvent: { ...evt, responses, ...{ metadata: metadataFromEvent } }, + calendarEvent: { + ...evt, + ...{ metadata: metadataFromEvent, eventType: { slug: eventType.slug } }, + }, requiresConfirmation: evt.requiresConfirmation || false, isRescheduleEvent: !!rescheduleUid, isFirstRecurringEvent: true, + hideBranding: !!eventType.owner?.hideBranding, }); } catch (error) { log.error("Error while scheduling workflow reminders", error); diff --git a/packages/features/ee/workflows/api/scheduleEmailReminders.ts b/packages/features/ee/workflows/api/scheduleEmailReminders.ts index ffe0f7a61d..c0b26a54c7 100644 --- a/packages/features/ee/workflows/api/scheduleEmailReminders.ts +++ b/packages/features/ee/workflows/api/scheduleEmailReminders.ts @@ -5,6 +5,7 @@ import sgMail from "@sendgrid/mail"; import type { NextApiRequest, NextApiResponse } from "next"; import dayjs from "@calcom/dayjs"; +import { getCalEventResponses } from "@calcom/features/bookings/lib/getCalEventResponses"; import { defaultHandler } from "@calcom/lib/server"; import prisma from "@calcom/prisma"; import { bookingMetadataSchema } from "@calcom/prisma/zod-utils"; @@ -164,51 +165,63 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { let emailContent = { emailSubject: reminder.workflowStep.emailSubject || "", - emailBody: { - text: reminder.workflowStep.reminderBody || "", - html: `${reminder.workflowStep.reminderBody || ""}`, - }, + emailBody: `${reminder.workflowStep.reminderBody || ""}`, }; - switch (reminder.workflowStep.template) { - case WorkflowTemplates.REMINDER: - emailContent = emailReminderTemplate( - reminder.booking.startTime.toISOString() || "", - reminder.booking.endTime.toISOString() || "", - reminder.booking.eventType?.title || "", - timeZone || "", - attendeeName || "", - name || "" - ); - break; - case WorkflowTemplates.CUSTOM: - const variables: VariablesType = { - eventName: reminder.booking?.eventType?.title || "", - organizerName: reminder.booking.user?.name || "", - attendeeName: reminder.booking.attendees[0].name, - attendeeEmail: reminder.booking.attendees[0].email, - eventDate: dayjs(reminder.booking.startTime).tz(timeZone), - eventTime: dayjs(reminder.booking.startTime).tz(timeZone), - timeZone: timeZone, - location: reminder.booking.location || "", - additionalNotes: reminder.booking.description, - responses: reminder.booking.responses, - meetingUrl: bookingMetadataSchema.parse(reminder.booking.metadata || {})?.videoCallUrl, - }; - const emailSubject = await customTemplate( - reminder.workflowStep.emailSubject || "", - variables, - locale || "" - ); - emailContent.emailSubject = emailSubject.text; - emailContent.emailBody = await customTemplate( - reminder.workflowStep.reminderBody || "", - variables, - locale || "" - ); - break; + let emailBodyEmpty = false; + + if (reminder.workflowStep.reminderBody) { + const { responses } = getCalEventResponses({ + bookingFields: reminder.booking.eventType?.bookingFields ?? null, + booking: reminder.booking, + }); + + const variables: VariablesType = { + eventName: reminder.booking.eventType?.title || "", + organizerName: reminder.booking.user?.name || "", + attendeeName: reminder.booking.attendees[0].name, + attendeeEmail: reminder.booking.attendees[0].email, + eventDate: dayjs(reminder.booking.startTime).tz(timeZone), + eventEndTime: dayjs(reminder.booking?.endTime).tz(timeZone), + timeZone: timeZone, + location: reminder.booking.location || "", + additionalNotes: reminder.booking.description, + responses: responses, + meetingUrl: bookingMetadataSchema.parse(reminder.booking.metadata || {})?.videoCallUrl, + cancelLink: `/booking/${reminder.booking.uid}?cancel=true`, + rescheduleLink: `/${reminder.booking.user?.username}/${reminder.booking.eventType?.slug}?rescheduleUid=${reminder.booking.uid}`, + }; + const emailSubject = customTemplate( + reminder.workflowStep.emailSubject || "", + variables, + locale || "", + !!reminder.booking.user?.hideBranding + ).text; + emailContent.emailSubject = emailSubject; + emailContent.emailBody = customTemplate( + reminder.workflowStep.reminderBody || "", + variables, + locale || "", + !!reminder.booking.user?.hideBranding + ).html; + + emailBodyEmpty = + customTemplate(reminder.workflowStep.reminderBody || "", variables, locale || "").text.length === 0; + } else if (reminder.workflowStep.template === WorkflowTemplates.REMINDER) { + emailContent = emailReminderTemplate( + false, + reminder.workflowStep.action, + reminder.booking.startTime.toISOString() || "", + reminder.booking.endTime.toISOString() || "", + reminder.booking.eventType?.title || "", + timeZone || "", + attendeeName || "", + name || "", + !!reminder.booking.user?.hideBranding + ); } - if (emailContent.emailSubject.length > 0 && emailContent.emailBody.text.length > 0 && sendTo) { + + if (emailContent.emailSubject.length > 0 && !emailBodyEmpty && sendTo) { const batchIdResponse = await client.request({ url: "/v3/mail/batch", method: "POST", @@ -224,8 +237,7 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { name: reminder.workflowStep.sender || "Cal.com", }, subject: emailContent.emailSubject, - text: emailContent.emailBody.text, - html: emailContent.emailBody.html, + html: emailContent.emailBody, batchId: batchId, sendAt: dayjs(reminder.scheduledDate).unix(), replyTo: reminder.booking.user?.email || senderEmail, diff --git a/packages/features/ee/workflows/api/scheduleSMSReminders.ts b/packages/features/ee/workflows/api/scheduleSMSReminders.ts index 3d1d0a5b07..46f6d0e1f9 100644 --- a/packages/features/ee/workflows/api/scheduleSMSReminders.ts +++ b/packages/features/ee/workflows/api/scheduleSMSReminders.ts @@ -3,6 +3,7 @@ import { WorkflowActions, WorkflowMethods, WorkflowTemplates } from "@prisma/cli import type { NextApiRequest, NextApiResponse } from "next"; import dayjs from "@calcom/dayjs"; +import { getCalEventResponses } from "@calcom/features/bookings/lib/getCalEventResponses"; import { defaultHandler } from "@calcom/lib/server"; import prisma from "@calcom/prisma"; import { bookingMetadataSchema } from "@calcom/prisma/zod-utils"; @@ -87,38 +88,46 @@ async function handler(req: NextApiRequest, res: NextApiResponse) { : reminder.booking?.user?.locale; let message: string | null = reminder.workflowStep.reminderBody; - switch (reminder.workflowStep.template) { - case WorkflowTemplates.REMINDER: - message = smsReminderTemplate( - reminder.booking?.startTime.toISOString() || "", - reminder.booking?.eventType?.title || "", - timeZone || "", - attendeeName || "", - userName - ); - break; - case WorkflowTemplates.CUSTOM: - const variables: VariablesType = { - eventName: reminder.booking?.eventType?.title, - organizerName: reminder.booking?.user?.name || "", - attendeeName: reminder.booking?.attendees[0].name, - attendeeEmail: reminder.booking?.attendees[0].email, - eventDate: dayjs(reminder.booking?.startTime).tz(timeZone), - eventTime: dayjs(reminder.booking?.startTime).tz(timeZone), - timeZone: timeZone, - location: reminder.booking?.location || "", - additionalNotes: reminder.booking?.description, - responses: reminder.booking?.responses, - meetingUrl: bookingMetadataSchema.parse(reminder.booking?.metadata || {})?.videoCallUrl, - }; - const customMessage = await customTemplate( - reminder.workflowStep.reminderBody || "", - variables, - locale || "" - ); - message = customMessage.text; - break; + + if (reminder.workflowStep.reminderBody) { + const { responses } = getCalEventResponses({ + bookingFields: reminder.booking.eventType?.bookingFields ?? null, + booking: reminder.booking, + }); + + const variables: VariablesType = { + eventName: reminder.booking?.eventType?.title, + organizerName: reminder.booking?.user?.name || "", + attendeeName: reminder.booking?.attendees[0].name, + attendeeEmail: reminder.booking?.attendees[0].email, + eventDate: dayjs(reminder.booking?.startTime).tz(timeZone), + eventEndTime: dayjs(reminder.booking?.endTime).tz(timeZone), + timeZone: timeZone, + location: reminder.booking?.location || "", + additionalNotes: reminder.booking?.description, + responses: responses, + meetingUrl: bookingMetadataSchema.parse(reminder.booking?.metadata || {})?.videoCallUrl, + cancelLink: `/booking/${reminder.booking.uid}?cancel=true`, + rescheduleLink: `/${reminder.booking.user?.username}/${reminder.booking.eventType?.slug}?rescheduleUid=${reminder.booking.uid}`, + }; + const customMessage = customTemplate( + reminder.workflowStep.reminderBody || "", + variables, + locale || "" + ); + message = customMessage.text; + } else if (reminder.workflowStep.template === WorkflowTemplates.REMINDER) { + message = smsReminderTemplate( + false, + reminder.workflowStep.action, + reminder.booking?.startTime.toISOString() || "", + reminder.booking?.eventType?.title || "", + timeZone || "", + attendeeName || "", + userName + ); } + if (message?.length && message?.length > 0 && sendTo) { const scheduledSMS = await twilio.scheduleSMS(sendTo, message, reminder.scheduledDate, senderID); diff --git a/packages/features/ee/workflows/components/WorkflowDetailsPage.tsx b/packages/features/ee/workflows/components/WorkflowDetailsPage.tsx index 284c087b7e..236cb77be8 100644 --- a/packages/features/ee/workflows/components/WorkflowDetailsPage.tsx +++ b/packages/features/ee/workflows/components/WorkflowDetailsPage.tsx @@ -13,7 +13,7 @@ import type { MultiSelectCheckboxesOptionType as Option } from "@calcom/ui"; import { Button, Label, MultiSelectCheckboxes, TextField } from "@calcom/ui"; import { ArrowDown, Trash2 } from "@calcom/ui/components/icon"; -import { isSMSAction } from "../lib/isSMSAction"; +import { isSMSAction } from "../lib/actionHelperFunctions"; import type { FormValues } from "../pages/workflow"; import { AddActionDialog } from "./AddActionDialog"; import { DeleteDialog } from "./DeleteDialog"; diff --git a/packages/features/ee/workflows/components/WorkflowStepContainer.tsx b/packages/features/ee/workflows/components/WorkflowStepContainer.tsx index 8ad1b8472d..9e1497046c 100644 --- a/packages/features/ee/workflows/components/WorkflowStepContainer.tsx +++ b/packages/features/ee/workflows/components/WorkflowStepContainer.tsx @@ -35,11 +35,13 @@ import { AddVariablesDropdown, Input, } from "@calcom/ui"; -import { ArrowDown, MoreHorizontal, Trash2, HelpCircle } from "@calcom/ui/components/icon"; +import { ArrowDown, MoreHorizontal, Trash2, HelpCircle, Info } from "@calcom/ui/components/icon"; +import { isAttendeeAction, isSMSAction } from "../lib/actionHelperFunctions"; import { DYNAMIC_TEXT_VARIABLES } from "../lib/constants"; import { getWorkflowTemplateOptions, getWorkflowTriggerOptions } from "../lib/getOptions"; -import { isSMSAction } from "../lib/isSMSAction"; +import emailReminderTemplate from "../lib/reminders/templates/emailReminderTemplate"; +import smsReminderTemplate from "../lib/reminders/templates/smsReminderTemplate"; import type { FormValues } from "../pages/workflow"; import { TimeTimeUnitInput } from "./TimeTimeUnitInput"; @@ -69,12 +71,14 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) { step?.action === WorkflowActions.SMS_NUMBER ? true : false ); + const [updateTemplate, setUpdateTemplate] = useState(false); + const [firstRender, setFirstRender] = useState(true); + const [isSenderIdNeeded, setIsSenderIdNeeded] = useState( step?.action === WorkflowActions.SMS_NUMBER || step?.action === WorkflowActions.SMS_ATTENDEE ? true : false ); - useEffect(() => { setNumberVerified( !!step && @@ -86,10 +90,6 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) { step?.action === WorkflowActions.EMAIL_ADDRESS ? true : false ); - const [isCustomReminderBodyNeeded, setIsCustomReminderBodyNeeded] = useState( - step?.template === WorkflowTemplates.CUSTOM ? true : false - ); - const [isEmailSubjectNeeded, setIsEmailSubjectNeeded] = useState( step?.action === WorkflowActions.EMAIL_ATTENDEE || step?.action === WorkflowActions.EMAIL_HOST || @@ -110,6 +110,28 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) { const triggerOptions = getWorkflowTriggerOptions(t); const templateOptions = getWorkflowTemplateOptions(t); + if (step && form.getValues(`steps.${step.stepNumber - 1}.template`) === WorkflowTemplates.REMINDER) { + if (!form.getValues(`steps.${step.stepNumber - 1}.reminderBody`)) { + if (isSMSAction(form.getValues(`steps.${step.stepNumber - 1}.action`))) { + const smsBody = smsReminderTemplate(true, form.getValues(`steps.${step.stepNumber - 1}.action`)); + form.setValue(`steps.${step.stepNumber - 1}.reminderBody`, smsBody); + } else { + const reminderBodyTemplate = emailReminderTemplate( + true, + form.getValues(`steps.${step.stepNumber - 1}.action`) + ).emailBody; + form.setValue(`steps.${step.stepNumber - 1}.reminderBody`, reminderBodyTemplate); + } + } + if (!form.getValues(`steps.${step.stepNumber - 1}.emailSubject`)) { + const subjectTemplate = emailReminderTemplate( + true, + form.getValues(`steps.${step.stepNumber - 1}.action`) + ).emailSubject; + form.setValue(`steps.${step.stepNumber - 1}.emailSubject`, subjectTemplate); + } + } + const { ref: emailSubjectFormRef, ...restEmailSubjectForm } = step ? form.register(`steps.${step.stepNumber - 1}.emailSubject`) : { ref: null, name: "" }; @@ -259,6 +281,10 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) {
+
+ +

{t("testing_workflow_info_message")}

+
)}
@@ -352,33 +378,71 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) { setIsEmailAddressNeeded(false); setIsPhoneNumberNeeded(val.value === WorkflowActions.SMS_NUMBER); setNumberVerified(false); + + // email action changes to sms action if (!isSMSAction(oldValue)) { form.setValue(`steps.${step.stepNumber - 1}.reminderBody`, ""); form.setValue(`steps.${step.stepNumber - 1}.sender`, SENDER_ID); } + + setIsEmailSubjectNeeded(false); } else { setIsPhoneNumberNeeded(false); setIsSenderIdNeeded(false); setIsEmailAddressNeeded(val.value === WorkflowActions.EMAIL_ADDRESS); + setIsEmailSubjectNeeded(true); + } - if (isSMSAction(oldValue)) { - form.setValue(`steps.${step.stepNumber - 1}.reminderBody`, ""); - form.setValue(`steps.${step.stepNumber - 1}.senderName`, SENDER_NAME); + if ( + form.getValues(`steps.${step.stepNumber - 1}.template`) === + WorkflowTemplates.REMINDER + ) { + if (isSMSAction(val.value) === isSMSAction(oldValue)) { + if (isAttendeeAction(oldValue) !== isAttendeeAction(val.value)) { + const currentReminderBody = + form.getValues(`steps.${step.stepNumber - 1}.reminderBody`) || ""; + const newReminderBody = currentReminderBody + .replaceAll("{ORGANIZER}", "{PLACEHOLDER}") + .replaceAll("{ATTENDEE}", "{ORGANIZER}") + .replaceAll("{PLACEHOLDER}", "{ATTENDEE}"); + form.setValue(`steps.${step.stepNumber - 1}.reminderBody`, newReminderBody); + + if (!isSMSAction(val.value)) { + const currentEmailSubject = + form.getValues(`steps.${step.stepNumber - 1}.emailSubject`) || ""; + const newEmailSubject = isAttendeeAction(val.value) + ? currentEmailSubject.replace("{ORGANIZER}", "{ATTENDEE}") + : currentEmailSubject.replace("{ATTENDEE}", "{ORGANIZER}"); + + form.setValue( + `steps.${step.stepNumber - 1}.emailSubject`, + newEmailSubject || "" + ); + } + } + } else { + if (isSMSAction(val.value)) { + form.setValue( + `steps.${step.stepNumber - 1}.reminderBody`, + smsReminderTemplate(true, val.value) + ); + } else { + const emailReminderBody = emailReminderTemplate(true, val.value); + form.setValue( + `steps.${step.stepNumber - 1}.reminderBody`, + emailReminderBody.emailBody + ); + form.setValue( + `steps.${step.stepNumber - 1}.emailSubject`, + emailReminderBody.emailSubject + ); + } } } - form.unregister(`steps.${step.stepNumber - 1}.sendTo`); form.clearErrors(`steps.${step.stepNumber - 1}.sendTo`); - if ( - val.value === WorkflowActions.EMAIL_ATTENDEE || - val.value === WorkflowActions.EMAIL_HOST || - val.value === WorkflowActions.EMAIL_ADDRESS - ) { - setIsEmailSubjectNeeded(true); - } else { - setIsEmailSubjectNeeded(false); - } form.setValue(`steps.${step.stepNumber - 1}.action`, val.value); + setUpdateTemplate(!updateTemplate); } }} defaultValue={selectedAction} @@ -478,7 +542,7 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) { )}
)} -
+
{isSenderIdNeeded ? ( <>
@@ -528,7 +592,7 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) {
)} {isEmailAddressNeeded && ( -
+
{ if (val) { + if (val.value === WorkflowTemplates.REMINDER) { + if (isSMSAction(form.getValues(`steps.${step.stepNumber - 1}.action`))) { + form.setValue( + `steps.${step.stepNumber - 1}.reminderBody`, + smsReminderTemplate( + true, + form.getValues(`steps.${step.stepNumber - 1}.action`) + ) + ); + } else { + form.setValue( + `steps.${step.stepNumber - 1}.reminderBody`, + emailReminderTemplate( + true, + form.getValues(`steps.${step.stepNumber - 1}.action`) + ).emailBody + ); + form.setValue( + `steps.${step.stepNumber - 1}.emailSubject`, + emailReminderTemplate( + true, + form.getValues(`steps.${step.stepNumber - 1}.action`) + ).emailSubject + ); + } + } else { + form.setValue(`steps.${step.stepNumber - 1}.reminderBody`, ""); + form.setValue(`steps.${step.stepNumber - 1}.emailSubject`, ""); + } form.setValue(`steps.${step.stepNumber - 1}.template`, val.value); - const isCustomTemplate = val.value === WorkflowTemplates.CUSTOM; - setIsCustomReminderBodyNeeded(isCustomTemplate); + setUpdateTemplate(!updateTemplate); } }} defaultValue={selectedTemplate} @@ -560,98 +652,100 @@ export default function WorkflowStepContainer(props: WorkflowStepProps) { }} />
- {isCustomReminderBodyNeeded && ( -
- {isEmailSubjectNeeded && ( -
-
- -
- -
+
+ {isEmailSubjectNeeded && ( +
+
+ +
+
-