diff --git a/apps/roboshield/package.json b/apps/roboshield/package.json index 80f220bec..4990b18a1 100644 --- a/apps/roboshield/package.json +++ b/apps/roboshield/package.json @@ -11,7 +11,8 @@ "clean": "rm -rf .next .turbo node_modules", "jest": "jest --passWithNoTests", "lint-check": "TIMING=1 next lint './'", - "lint": "TIMING=1 next lint --fix './'" + "lint": "TIMING=1 next lint --fix './'", + "generate:types": "payload generate:types" }, "dependencies": { "@commons-ui/core": "workspace:*", @@ -70,6 +71,6 @@ "jest-config-commons-ui": "workspace:*", "prettier": "3.1.1", "ts-node": "^10.9.2", - "typescript": "^5.5.2" + "typescript": "5.4.5" } } diff --git a/apps/roboshield/payload-types.ts b/apps/roboshield/payload-types.ts new file mode 100644 index 000000000..0251bfb07 --- /dev/null +++ b/apps/roboshield/payload-types.ts @@ -0,0 +1,224 @@ +/* tslint:disable */ +/* eslint-disable */ +/** + * This file was automatically generated by Payload. + * DO NOT MODIFY IT BY HAND. Instead, modify your source Payload config, + * and re-run `payload generate:types` to regenerate this file. + */ + +export interface Config { + collections: { + media: Media; + pages: Page; + users: User; + "payload-preferences": PayloadPreference; + "payload-migrations": PayloadMigration; + }; + globals: { + "settings-site": SettingsSite; + }; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "media". + */ +export interface Media { + id: string; + alt: string; + prefix?: string | null; + updatedAt: string; + createdAt: string; + url?: string | null; + filename?: string | null; + mimeType?: string | null; + filesize?: number | null; + width?: number | null; + height?: number | null; + focalX?: number | null; + focalY?: number | null; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "pages". + */ +export interface Page { + id: string; + title: string; + fullTitle?: string | null; + slug?: string | null; + blocks?: + | { + title: string; + subtitle: string; + id?: string | null; + blockName?: string | null; + blockType: "page-header"; + }[] + | null; + meta?: { + title?: string | null; + description?: string | null; + image?: string | Media | null; + }; + parent?: (string | null) | Page; + breadcrumbs?: + | { + doc?: (string | null) | Page; + url?: string | null; + label?: string | null; + id?: string | null; + }[] + | null; + updatedAt: string; + createdAt: string; + _status?: ("draft" | "published") | null; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "users". + */ +export interface User { + id: string; + firstName: string; + lastName: string; + roles: ("admin" | "editor")[]; + updatedAt: string; + createdAt: string; + email: string; + resetPasswordToken?: string | null; + resetPasswordExpiration?: string | null; + salt?: string | null; + hash?: string | null; + _verified?: boolean | null; + _verificationToken?: string | null; + loginAttempts?: number | null; + lockUntil?: string | null; + password: string | null; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-preferences". + */ +export interface PayloadPreference { + id: string; + user: { + relationTo: "users"; + value: string | User; + }; + key?: string | null; + value?: + | { + [k: string]: unknown; + } + | unknown[] + | string + | number + | boolean + | null; + updatedAt: string; + createdAt: string; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "payload-migrations". + */ +export interface PayloadMigration { + id: string; + name?: string | null; + batch?: number | null; + updatedAt: string; + createdAt: string; +} +/** + * This interface was referenced by `Config`'s JSON-Schema + * via the `definition` "settings-site". + */ +export interface SettingsSite { + id: string; + title: string; + description: { + [k: string]: unknown; + }[]; + primaryLogo: string | Media; + secondaryLogo?: string | Media | null; + primaryNavigation?: { + menus?: + | { + label: string; + linkType?: ("custom" | "internal") | null; + doc?: { + relationTo: "pages"; + value: string | Page; + } | null; + url?: string | null; + href: string; + id?: string | null; + }[] + | null; + connect?: + | ("Facebook" | "Twitter" | "Instagram" | "Linkedin" | "Github" | "Slack") + | null; + }; + secondaryNavigation?: { + menus?: + | { + label: string; + linkType?: ("custom" | "internal") | null; + doc?: { + relationTo: "pages"; + value: string | Page; + } | null; + url?: string | null; + href: string; + id?: string | null; + }[] + | null; + }; + connect: { + title: string; + links?: + | { + platform: + | "Facebook" + | "Twitter" + | "Instagram" + | "Linkedin" + | "Github" + | "Slack"; + url: string; + id?: string | null; + }[] + | null; + }; + newsletter: { + title: string; + embedCode: string; + }; + initiative: { + title: string; + description: { + [k: string]: unknown; + }[]; + partners?: + | { + name: string; + logo: string | Media; + label: string; + linkType?: ("custom" | "internal") | null; + doc?: { + relationTo: "pages"; + value: string | Page; + } | null; + url?: string | null; + href: string; + id?: string | null; + }[] + | null; + }; + updatedAt?: string | null; + createdAt?: string | null; +} + +declare module "payload" { + export interface GeneratedTypes extends Config {} +} diff --git a/apps/roboshield/src/assets/images/1920x668px bg - 2 2.png b/apps/roboshield/src/assets/images/1920x668px bg - 2 2.png new file mode 100644 index 000000000..39c60da93 Binary files /dev/null and b/apps/roboshield/src/assets/images/1920x668px bg - 2 2.png differ diff --git a/apps/roboshield/src/components/BlockRenderer/BlockRenderer.tsx b/apps/roboshield/src/components/BlockRenderer/BlockRenderer.tsx new file mode 100644 index 000000000..759cf72b4 --- /dev/null +++ b/apps/roboshield/src/components/BlockRenderer/BlockRenderer.tsx @@ -0,0 +1,24 @@ +import PageHeader from "@/roboshield/components/PageHeader/PageHeader"; +import { Page } from "@/root/payload-types"; + +interface BlockRendererProps extends Pick {} + +const components = { + "page-header": PageHeader, +}; + +export default function BlockRenderer({ blocks }: BlockRendererProps) { + return ( + <> + {blocks?.map((block, index) => { + const Component = components[block.blockType]; + + if (Component) { + return ; + } + + return null; + })} + + ); +} diff --git a/apps/roboshield/src/components/BlockRenderer/index.ts b/apps/roboshield/src/components/BlockRenderer/index.ts new file mode 100644 index 000000000..73892c08f --- /dev/null +++ b/apps/roboshield/src/components/BlockRenderer/index.ts @@ -0,0 +1,3 @@ +import BlockRenderer from "./BlockRenderer"; + +export default BlockRenderer; diff --git a/apps/roboshield/src/components/Footer/Footer.tsx b/apps/roboshield/src/components/Footer/Footer.tsx index 07bed8058..8a3ab40bf 100644 --- a/apps/roboshield/src/components/Footer/Footer.tsx +++ b/apps/roboshield/src/components/Footer/Footer.tsx @@ -8,9 +8,11 @@ import StayInTouch from "@/roboshield/components/StayInTouch"; import RichText from "@/roboshield/components/RichText"; import type { Children } from "@/roboshield/components/RichText"; import FooterDescription from "./FooterDescription"; -import { Partner } from "@/roboshield/lib/data/payload.types"; +import { SettingsSite } from "@/root/payload-types"; import type { SocialMediaLink } from "@/roboshield/components/SocialMediaLinkIcon"; +type Partner = SettingsSite["initiative"]["partners"]; + export interface FooterProps { connect: { links: SocialMediaLink[]; diff --git a/apps/roboshield/src/components/PageHeader/PageHeader.tsx b/apps/roboshield/src/components/PageHeader/PageHeader.tsx new file mode 100644 index 000000000..c856793b0 --- /dev/null +++ b/apps/roboshield/src/components/PageHeader/PageHeader.tsx @@ -0,0 +1,42 @@ +import { Section } from "@commons-ui/core"; +import { RichTypography } from "@commons-ui/next"; +import TwoToneBackground from "@/roboshield/components/TwoToneBackground"; +import { Page } from "@/root/payload-types"; +import { ExtractBlockType } from "@/roboshield/utils/blocks"; + +type PageHeaderProps = ExtractBlockType< + NonNullable[number], + "page-header" +>; + +export default function PageHeader({ title, subtitle }: PageHeaderProps) { + return ( + <> + +
+ + {title} + + + {subtitle} + +
+
+ + ); +} diff --git a/apps/roboshield/src/components/PageHeader/index.ts b/apps/roboshield/src/components/PageHeader/index.ts new file mode 100644 index 000000000..b294687a4 --- /dev/null +++ b/apps/roboshield/src/components/PageHeader/index.ts @@ -0,0 +1,3 @@ +import PageHeader from "./PageHeader"; + +export default PageHeader; diff --git a/apps/roboshield/src/components/TwoToneBackground/TwoToneBackground.tsx b/apps/roboshield/src/components/TwoToneBackground/TwoToneBackground.tsx new file mode 100644 index 000000000..a9fab0f11 --- /dev/null +++ b/apps/roboshield/src/components/TwoToneBackground/TwoToneBackground.tsx @@ -0,0 +1,55 @@ +import { Box } from "@mui/material"; +import { alpha, styled, Theme } from "@mui/material/styles"; +import React from "react"; + +import bg from "@/roboshield/assets/images/1920x668px bg - 2 2.png"; + +const TwoToneBackgroundRoot = styled(Box)(({ theme }) => ({ + display: "flex", + justifyContent: "center", + width: "100%", + position: "relative", + backgroundColor: theme.palette.background.default, + backgroundImage: `url('${bg.src}')`, + backgroundPosition: "top left", + "&:before": { + content: '""', + top: 0, + left: 0, + position: "absolute", + height: "100%", + width: "100%", + background: `linear-gradient(to right, ${theme.palette.background.default}, transparent 30%)`, + [theme.breakpoints.up("sm")]: { + background: `linear-gradient(to right, ${theme.palette.background.default} 20%, transparent 30%)`, + }, + [theme.breakpoints.up("md")]: { + background: `linear-gradient(to right, ${ + theme.palette.background.default + } 30%, transparent 40%, transparent 95%, ${alpha( + theme.palette.background.default, + 0.7, + )} 98%)`, + }, + [theme.breakpoints.up("lg")]: { + background: `linear-gradient(to right, ${theme.palette.background.default} 30%, transparent 40%, transparent 95%, ${theme.palette.background.default} 99%)`, + }, + [theme.breakpoints.up("xl")]: { + background: `linear-gradient(to right, ${theme.palette.background.default} 35%, transparent 45%, transparent 80%, ${theme.palette.background.default} 90%)`, + }, + }, +})); + +interface Props { + children: React.ReactNode; + sx: any; +} + +const TwoToneBackground = React.forwardRef(function TwoToneBackground({ + children, + ...props +}: Props) { + return {children}; +}); + +export default TwoToneBackground; diff --git a/apps/roboshield/src/components/TwoToneBackground/index.ts b/apps/roboshield/src/components/TwoToneBackground/index.ts new file mode 100644 index 000000000..6ff8a0d75 --- /dev/null +++ b/apps/roboshield/src/components/TwoToneBackground/index.ts @@ -0,0 +1,3 @@ +import TwoToneBackground from "./TwoToneBackground"; + +export default TwoToneBackground; diff --git a/apps/roboshield/src/lib/data/blockify/index.ts b/apps/roboshield/src/lib/data/blockify/index.ts new file mode 100644 index 000000000..6b18ff40c --- /dev/null +++ b/apps/roboshield/src/lib/data/blockify/index.ts @@ -0,0 +1,52 @@ +import { Page } from "@/root/payload-types"; +import { ExtractBlockType } from "@/roboshield/utils/blocks"; +import { Api } from "@/roboshield/lib/payload"; + +type PropsifyBlockFunction = ( + block: T, + api: Api, +) => Promise; + +type PropsifyBlockBySlug = { + [K in NonNullable< + Page["blocks"] + >[number]["blockType"]]?: PropsifyBlockFunction< + ExtractBlockType[number], K> + >; +}; + +const pageHeader: PropsifyBlockFunction< + ExtractBlockType[number], "page-header"> +> = async (block, api) => { + // some block specific computation, i.e using api + return { + ...block, + slug: "page-header", + }; +}; + +const propsifyBlockBySlug: PropsifyBlockBySlug = { + "page-header": pageHeader, +}; + +export const blockify = async (blocks: Page["blocks"], api: Api) => { + const promises = blocks?.map(async (block) => { + const slug = block.blockType as NonNullable< + Page["blocks"] + >[number]["blockType"]; + const propsifyBlock = propsifyBlockBySlug[slug]; + + if (propsifyBlock) { + return propsifyBlock(block, api); + } + return { + ...block, + slug, + }; + }); + + if (promises) { + return Promise.all(promises); + } + return blocks ?? null; +}; diff --git a/apps/roboshield/src/lib/data/common/index.ts b/apps/roboshield/src/lib/data/common/index.ts index daa5d7c41..d5e19abc9 100644 --- a/apps/roboshield/src/lib/data/common/index.ts +++ b/apps/roboshield/src/lib/data/common/index.ts @@ -1,27 +1,32 @@ -import { Api, MediaData, Settings } from "../payload.types"; -import { AppContext } from "next/app"; +import { blockify } from "../blockify"; +import { GetServerSidePropsContext } from "next"; +import { Api } from "@/roboshield/lib/payload"; +import { SettingsSite } from "@/root/payload-types"; -export function imageFromMedia({ alt = null, url = null }: Partial) { +export function imageFromMedia(alt: string, url: string) { return { alt, src: url }; } -function getNavBar(settings: Settings) { +function getNavBar(settings: SettingsSite) { const { connect: { links = [] }, - primaryLogo: media, - primaryNavigation: { menus = null, connect }, + primaryLogo, + primaryNavigation, title, } = settings; - const socialLinks = links.filter((link) => link.platform === connect); - + const menus = primaryNavigation?.menus; + const connect = primaryNavigation?.connect; + const socialLinks = links?.filter((link) => link.platform === connect); + const primaryLogoUrl = + typeof primaryLogo === "string" ? null : primaryLogo.url; return { - logo: imageFromMedia({ alt: title, ...media }), + logo: imageFromMedia(title, primaryLogoUrl || ""), menus, socialLinks, }; } -function getFooter(settings: Settings) { +function getFooter(settings: SettingsSite) { const { primaryLogo, primaryNavigation, @@ -31,24 +36,43 @@ function getFooter(settings: Settings) { ...footer } = settings; const media = secondaryLogo || primaryLogo; + const footerLogoUrl = typeof media === "string" ? null : media.url; return { ...footer, - logo: imageFromMedia({ alt: title, ...media }), + logo: imageFromMedia(title, footerLogoUrl || ""), primaryMenus: primaryNavigation?.menus || null, secondaryMenus: secondaryNavigation?.menus || null, }; } -export async function getPageProps(api: Api, context: AppContext) { - const siteSettings: Settings = (await api.findGlobal( - "settings-site", - )) as Settings; +export async function getPageProps( + api: Api, + context: GetServerSidePropsContext, +) { + const { resolvedUrl } = context; + let path; + if (resolvedUrl === "/" || resolvedUrl === "") { + path = "index"; + } else { + path = resolvedUrl.replace(/^\//, ""); + } + const { + docs: [page], + } = await api.findPage(path); + + if (!page) { + return null; + } + + const blocks = await blockify(page.blocks, api); + + const siteSettings = await api.findGlobal("settings-site"); const navbar = getNavBar(siteSettings); const footer = getFooter(siteSettings); return { - blocks: [], + blocks, footer, navbar, }; diff --git a/apps/roboshield/src/lib/data/index.ts b/apps/roboshield/src/lib/data/index.ts index d299fa14b..6c0d33040 100644 --- a/apps/roboshield/src/lib/data/index.ts +++ b/apps/roboshield/src/lib/data/index.ts @@ -1 +1,7 @@ +import { Page } from "@/root/payload-types"; + export { getPageServerSideProps } from "./local"; + +export interface PageProps { + blocks: Page["blocks"]; +} diff --git a/apps/roboshield/src/lib/data/local/index.ts b/apps/roboshield/src/lib/data/local/index.ts index 9b39e0778..05a2557b8 100644 --- a/apps/roboshield/src/lib/data/local/index.ts +++ b/apps/roboshield/src/lib/data/local/index.ts @@ -1,8 +1,10 @@ import { getPageProps } from "@/roboshield/lib/data/common"; import api from "@/roboshield/lib/payload"; -import { AppContext } from "next/app"; +import { GetServerSidePropsContext } from "next"; -export async function getPageServerSideProps(context: AppContext) { +export async function getPageServerSideProps( + context: GetServerSidePropsContext, +) { const props = await getPageProps(api, context); if (!props) { return { notFound: true }; diff --git a/apps/roboshield/src/lib/data/payload.types.ts b/apps/roboshield/src/lib/data/payload.types.ts deleted file mode 100644 index f6ec878aa..000000000 --- a/apps/roboshield/src/lib/data/payload.types.ts +++ /dev/null @@ -1,111 +0,0 @@ -interface TextNode { - children: TextNode | null; - text?: string; -} - -interface BreadCrumbs { - doc: string; - url: string; - label: string; - id: string; -} - -interface Document { - id: string; - title: string; - fullTitle: string; - slug: string; - blocks: any[]; - meta: any; - breadcrumbs: BreadCrumbs[]; - createdAt: string; - updatedAt: string; -} - -interface Link { - label: string; - linkType: string; - doc: { - value: Document; - }; - relationTo: string; -} - -interface SocialMediaLink { - platform: string; - url: string; - id: string; -} - -interface StayInTouchData { - title: string; - links: SocialMediaLink[]; -} - -export interface MediaData { - id: string; - alt?: string | null; - prefix: string; - filename: string; - mimeType: string; - filesize: number; - width: number; - height: number; - createdAt: string; - updatedAt: string; - url: string | null; - src: string | null; -} - -export interface Partner { - logo: MediaData; - name: string; - url: string; -} -export interface Settings { - title: string; - description: TextNode; - connect: StayInTouchData; - primaryLogo: MediaData; - secondaryLogo: MediaData; - primaryNavigation: { - menus: Link[]; - connect: string; - }; - secondaryNavigation: { - menus: Link[]; - }; - newsletter: { - title: string; - embedCode: string; - }; - initiative: { - partners: Partner[]; - title: string; - description: TextNode; - }; -} - -export interface CollectionQuery { - collection: string; - depth: number; - page: number; - limit: number; - pagination: boolean; - where: Record; - sort: string; - locale: string; - fallbackLocale: boolean | string; - user: string; - overrideAccess: boolean; - showHiddenFields: boolean; -} - -export interface Api { - createCollection: (...args: any) => Promise; - deleteCollection: (...args: any) => Promise; - findGlobal: (...args: any) => Promise; - findPage: (...args: any) => Promise; - getCollection: (...args: any) => Promise; - updateCollection: (...args: any) => Promise; -} diff --git a/apps/roboshield/src/lib/payload/index.ts b/apps/roboshield/src/lib/payload/index.ts index d37400192..30216832d 100644 --- a/apps/roboshield/src/lib/payload/index.ts +++ b/apps/roboshield/src/lib/payload/index.ts @@ -1,13 +1,17 @@ import payload from "payload"; -import { CollectionQuery } from "../data/payload.types"; import { ByIDOptions } from "payload/dist/collections/operations/local/update"; +import { Options } from "payload/dist/globals/operations/local/findOne"; +import { PaginatedDocs } from "payload/database"; +import { Config, Page, SettingsSite } from "@/root/payload-types"; -async function findPage(slug: string, options: ByIDOptions) { +export type CollectionConfig = keyof Config["collections"]; +export type CollectionItemTypes = Config["collections"][CollectionConfig]; +export type GlobalConfig = keyof Config["globals"]; + +async function findPage(slug: string): Promise> { return payload.find({ - ...options, collection: "pages", where: { - ...(options?.where || {}), slug: { equals: slug, }, @@ -16,9 +20,9 @@ async function findPage(slug: string, options: ByIDOptions) { } async function getCollection( - collection: string, - options: Partial>, -) { + collection: CollectionConfig, + options?: Partial>, +): Promise> { return payload.find({ limit: 0, ...options, @@ -26,7 +30,10 @@ async function getCollection( }); } -async function findGlobal(slug: string, options: ByIDOptions) { +async function findGlobal( + slug: GlobalConfig, + options?: Partial>, +): Promise { return payload.findGlobal({ ...options, slug, @@ -34,10 +41,10 @@ async function findGlobal(slug: string, options: ByIDOptions) { } async function createCollection( - collection: string, + collection: CollectionConfig, data: any, - options: Partial>, -) { + options?: Partial>, +): Promise { return payload.create({ collection, data, @@ -46,9 +53,9 @@ async function createCollection( } async function deleteCollection( - collection: string, - options: ByIDOptions, -) { + collection: CollectionConfig, + options: ByIDOptions, +): Promise { return payload.delete({ ...options, collection, @@ -56,11 +63,11 @@ async function deleteCollection( } async function updateCollection( - collection: string, + collection: CollectionConfig, id: string, data: any, - options: ByIDOptions, -) { + options?: ByIDOptions, +): Promise { const args = { ...options, collection, @@ -78,4 +85,6 @@ const api = { updateCollection, }; +export type Api = typeof api; + export default api; diff --git a/apps/roboshield/src/pages/[[...slug]].tsx b/apps/roboshield/src/pages/[[...slug]].tsx new file mode 100644 index 000000000..0e3b365ed --- /dev/null +++ b/apps/roboshield/src/pages/[[...slug]].tsx @@ -0,0 +1,21 @@ +import { getPageServerSideProps } from "@/roboshield/lib/data"; +import BlockRenderer from "@/roboshield/components/BlockRenderer"; +import { PageProps } from "@/roboshield/lib/data"; +import { GetServerSidePropsContext } from "next"; + +export default function Page({ blocks }: PageProps) { + return ( + <> + + + ); +} + +export async function getServerSideProps(context: GetServerSidePropsContext) { + const { props } = await getPageServerSideProps(context); + return { + props: { + ...props, + }, + }; +} diff --git a/apps/roboshield/src/pages/index.tsx b/apps/roboshield/src/pages/index.tsx deleted file mode 100644 index 362f300ca..000000000 --- a/apps/roboshield/src/pages/index.tsx +++ /dev/null @@ -1,227 +0,0 @@ -import { Section } from "@commons-ui/core"; -import { - IconButton, - Alert, - Box, - Paper, - Stack, - Step, - StepButton, - Stepper, - Tooltip, -} from "@mui/material"; -import { useEffect } from "react"; -import React from "react"; -import { useRef, useState } from "react"; - -import Delays from "@/roboshield/components/Delays"; -import Hero from "@/roboshield/components/Hero"; -import Sitemaps from "@/roboshield/components/Sitemaps"; - -import CommonBots from "@/roboshield/components/CommonBots"; -import CommonSettings from "@/roboshield/components/CommonSettings"; -import ExistingRobots from "@/roboshield/components/ExistingRobots"; -import Finish from "@/roboshield/components/Finish"; -import { - useGlobalState, - defaultState, -} from "@/roboshield/context/GlobalContext"; -import { generateRobots } from "@/roboshield/lib/robots"; -import { getPageServerSideProps } from "@/roboshield/lib/data"; - -interface Step { - label: string; - description: string; - component: React.FC; -} - -export default function Home() { - const [activeStep, setActiveStep] = useState(0); - const { state, setState } = useGlobalState(); - const [code, setCode] = useState(state.robots || ""); - const scrolRef = useRef(null); - - const steps: Step[] = [ - { - label: "Existing robots", - description: `Start by fetching the robots.txt file of the website you want to generate robots for.`, - component: ExistingRobots, - }, - { - label: "Delays", - description: `You can set bot delays for the robots you want to generate.`, - component: Delays, - }, - { - label: "Paths", - description: - "You can set disallowed and allowed paths for the robots you want to generate. All paths should be relative to the root of your site and end with a /", - component: CommonSettings, - }, - { - label: "Block Bots", - description: `Select bots you want to block from crawling your website.`, - component: CommonBots, - }, - { - label: "Site Maps", - description: `You can add sitemap URLs to your robots.txt file.`, - component: Sitemaps, - }, - { - label: "Finish", - description: `Your robots.txt file has been generated successfully. You can now copy the code or download the file.`, - component: Finish, - }, - ]; - - const handleNext = () => { - setActiveStep((prevActiveStep) => prevActiveStep + 1); - }; - - const handleBack = () => { - setActiveStep((prevActiveStep) => prevActiveStep - 1); - }; - - const handleReset = () => { - setState(defaultState); - setActiveStep(0); - }; - - const handleNextStep = (data: any) => { - const newState = { ...state, ...data }; - setState(newState); - handleNext(); - }; - - const handleSkipToLast = (data: any) => { - const newState = { ...state, ...data }; - setState(newState); - setActiveStep(steps.length - 1); - }; - - const handleStep = (step: number) => () => { - setActiveStep(step); - }; - - useEffect(() => { - const generateRobotsFile = async () => { - const robots = await generateRobots(state); - setCode(robots); - }; - - generateRobotsFile(); - }, [state]); - - const ActiveComponent = steps[activeStep]?.component ?? null; - - return ( - <> - -
- - - - - - - - {steps.map((step, index) => ( - - - {step.label} - - - ))} - - {ActiveComponent && ( - - - - )} - - - - -
- - ); -} - -export async function getServerSideProps(context: any) { - return getPageServerSideProps(context); -} diff --git a/apps/roboshield/src/payload/blocks/PageHeader.ts b/apps/roboshield/src/payload/blocks/PageHeader.ts new file mode 100644 index 000000000..b8a6a688f --- /dev/null +++ b/apps/roboshield/src/payload/blocks/PageHeader.ts @@ -0,0 +1,23 @@ +import { Block } from "payload/types"; + +export const PageHeader: Block = { + slug: "page-header", + labels: { + singular: "Page Header", + plural: "Page Header", + }, + fields: [ + { + name: "title", + type: "text", + label: "Title", + required: true, + }, + { + name: "subtitle", + type: "text", + label: "Subtitle", + required: true, + }, + ], +}; diff --git a/apps/roboshield/src/payload/collections/Pages.ts b/apps/roboshield/src/payload/collections/Pages.ts index e9c31e747..50c6029dd 100644 --- a/apps/roboshield/src/payload/collections/Pages.ts +++ b/apps/roboshield/src/payload/collections/Pages.ts @@ -1,6 +1,7 @@ import { CollectionConfig } from "payload/types"; import fullTitle from "../fields/fullTitle"; import slug from "../fields/slug"; +import { PageHeader } from "../blocks/PageHeader"; const Pages: CollectionConfig = { slug: "pages", @@ -25,7 +26,7 @@ const Pages: CollectionConfig = { { name: "blocks", type: "blocks", - blocks: [], + blocks: [PageHeader], localized: true, admin: { initCollapsed: true, diff --git a/apps/roboshield/src/payload/fields/richText.ts b/apps/roboshield/src/payload/fields/richText.ts index a5c67f60a..0aa6f0e0d 100644 --- a/apps/roboshield/src/payload/fields/richText.ts +++ b/apps/roboshield/src/payload/fields/richText.ts @@ -1,7 +1,7 @@ import { deepmerge } from "@mui/utils"; import mapLinkTypeToHref, { NodeType } from "../utils/mapLinkTypeToHref"; -import { Field, PayloadRequest } from "payload/types"; +import { Field, FieldHook, PayloadRequest } from "payload/types"; async function insertHref(nodes: NodeType[] | null, payload: PayloadRequest) { if (!nodes?.length) { @@ -53,15 +53,17 @@ async function mapLinkToHrefAfterRead({ return insertHref(value, payload); } -function richText(overrides: Partial) { - const richTextResult = { +function richText(overrides: Partial): Field { + const richTextResult: Partial = { type: "richText", hooks: { - afterRead: [mapLinkToHrefAfterRead], + afterRead: [ + mapLinkToHrefAfterRead as unknown as FieldHook, + ], }, }; - return deepmerge(richTextResult, overrides); + return deepmerge(richTextResult, overrides) as Field; } export default richText; diff --git a/apps/roboshield/src/payload/globals/Site/EngagementTab.ts b/apps/roboshield/src/payload/globals/Site/EngagementTab.ts index d7dc53f33..d61390ad6 100644 --- a/apps/roboshield/src/payload/globals/Site/EngagementTab.ts +++ b/apps/roboshield/src/payload/globals/Site/EngagementTab.ts @@ -1,6 +1,7 @@ +import { Tab } from "payload/types"; import socialLinks from "../../fields/socialLinks"; -const EngagementTab = { +const EngagementTab: Tab = { label: "Engagement", fields: [ { diff --git a/apps/roboshield/src/payload/globals/Site/GeneralTab.ts b/apps/roboshield/src/payload/globals/Site/GeneralTab.ts index a1fa6fb64..5ea5155de 100644 --- a/apps/roboshield/src/payload/globals/Site/GeneralTab.ts +++ b/apps/roboshield/src/payload/globals/Site/GeneralTab.ts @@ -1,7 +1,8 @@ +import { Tab } from "payload/types"; import image from "../../fields/image"; import richText from "../../fields/richText"; -const GeneralTab = { +const GeneralTab: Tab = { label: "General", fields: [ { diff --git a/apps/roboshield/src/payload/globals/Site/InitiativeTab.ts b/apps/roboshield/src/payload/globals/Site/InitiativeTab.ts index cf1d069da..cff569bf2 100644 --- a/apps/roboshield/src/payload/globals/Site/InitiativeTab.ts +++ b/apps/roboshield/src/payload/globals/Site/InitiativeTab.ts @@ -1,8 +1,9 @@ +import { Tab } from "payload/types"; import image from "../../fields/image"; import link from "../../fields/links/link"; import richText from "../../fields/richText"; -const PartnersTab = { +const PartnersTab: Tab = { label: "Initiative", fields: [ { diff --git a/apps/roboshield/src/payload/globals/Site/NavigationTab.ts b/apps/roboshield/src/payload/globals/Site/NavigationTab.ts index 6c2a3cf8b..769e0c006 100644 --- a/apps/roboshield/src/payload/globals/Site/NavigationTab.ts +++ b/apps/roboshield/src/payload/globals/Site/NavigationTab.ts @@ -1,3 +1,4 @@ +import { Tab } from "payload/types"; import link from "../../fields/links/link"; import linkArray from "../../fields/links/linkArray"; import { socialMediaOptions } from "../../fields/socialLinks"; @@ -6,7 +7,7 @@ const linkField = link({ disableOpenInNewTab: true, }); -const NavigationTab = { +const NavigationTab: Tab = { label: "Navigation", fields: [ { diff --git a/apps/roboshield/src/payload/globals/Site/index.ts b/apps/roboshield/src/payload/globals/Site/index.ts index f439b60f0..be6070119 100644 --- a/apps/roboshield/src/payload/globals/Site/index.ts +++ b/apps/roboshield/src/payload/globals/Site/index.ts @@ -2,8 +2,9 @@ import EngagementTab from "./EngagementTab"; import GeneralTab from "./GeneralTab"; import NavigationTab from "./NavigationTab"; import InitiativeTab from "./InitiativeTab"; +import { GlobalConfig } from "payload/types"; -const Site = { +const Site: GlobalConfig = { slug: "settings-site", label: "Site", access: { diff --git a/apps/roboshield/src/theme/index.ts b/apps/roboshield/src/theme/index.ts index 3e8d87c22..af44098ea 100644 --- a/apps/roboshield/src/theme/index.ts +++ b/apps/roboshield/src/theme/index.ts @@ -22,7 +22,7 @@ const palette = { grey: { main: "#B4ABAB", light: "#E3DFDF" }, text: { primary: "#000000", secondary: "#FFFFFF" }, divider: "#DAD5D5", - background: { main: "#F6F5F5" }, + background: { default: "#F6F5F5" }, action: { hoverOpacity: 0, focusOpacity: 0 }, highlight: { main: "#ED1C24" }, }; @@ -212,7 +212,7 @@ const theme = createTheme({ padding: 0, "&.MuiChip-clickable": { "&:hover": { - backgroundColor: palette.background.main, + backgroundColor: palette.background.default, ...(ownerState.variant === "filled" && ownerState.color === "primary" && { backgroundColor: "#E0E2FC", @@ -221,8 +221,8 @@ const theme = createTheme({ }, }), filled: ({ ownerState }: any) => ({ - border: `1px solid ${palette.background.main}`, - backgroundColor: palette.background.main, + border: `1px solid ${palette.background.default}`, + backgroundColor: palette.background.default, color: palette.secondary.light, ...(ownerState.color === "primary" && { border: `1px solid ${palette.primary.main}`, @@ -471,7 +471,7 @@ deepmerge( MuiCssBaseline: { styleOverrides: ` blockquote { - background-color: ${palette.background.main}; + background-color: ${palette.background.default}; font-size: ${pxToRem(16)}; line-height: ${26 / 16}; margin: 20px 0; diff --git a/apps/roboshield/src/utils/blocks.ts b/apps/roboshield/src/utils/blocks.ts new file mode 100644 index 000000000..2c114c59a --- /dev/null +++ b/apps/roboshield/src/utils/blocks.ts @@ -0,0 +1,2 @@ +// Utility type to extract block type +export type ExtractBlockType = T extends { blockType: U } ? T : never; diff --git a/apps/roboshield/tsconfig.json b/apps/roboshield/tsconfig.json index f90fae451..eb2f2f483 100644 --- a/apps/roboshield/tsconfig.json +++ b/apps/roboshield/tsconfig.json @@ -20,7 +20,8 @@ "paths": { "@/roboshield/*": ["./src/*"], "@/commons-ui/core/*": ["../../packages/commons-ui-core/src/*"], - "@/commons-ui/next/*": ["../../packages/commons-ui-next/src/*"] + "@/commons-ui/next/*": ["../../packages/commons-ui-next/src/*"], + "@/root/*": ["./*"] } }, "include": [ diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e6d590e74..434f42664 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -785,7 +785,7 @@ importers: version: 3.0.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) jest-config-commons-ui: specifier: workspace:* version: link:../../packages/jest-config-commons-ui @@ -866,7 +866,7 @@ importers: version: 5.0.0-alpha.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.15.20(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react@18.3.1)(tiny-warning@1.0.3) formik-mui-lab: specifier: ^1.0.0 - version: 1.0.0(au23chaimxrf4qlnsjncm6hkeu) + version: 1.0.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/lab@5.0.0-alpha.155(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.15.20(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mui/material@5.15.20(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react@18.3.1)(tiny-warning@1.0.3) jwt-decode: specifier: ^4.0.0 version: 4.0.0 @@ -957,7 +957,7 @@ importers: version: 3.0.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) jest-config-commons-ui: specifier: workspace:* version: link:../../packages/jest-config-commons-ui @@ -1014,25 +1014,25 @@ importers: version: 14.2.4 '@payloadcms/bundler-webpack': specifier: ^1.0.7 - version: 1.0.7(@swc/core@1.6.1(@swc/helpers@0.5.5))(ajv@8.16.0)(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(sass@1.69.4) + version: 1.0.7(@swc/core@1.6.1(@swc/helpers@0.5.5))(ajv@8.16.0)(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(sass@1.69.4) '@payloadcms/db-mongodb': specifier: ^1.5.2 - version: 1.5.2(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5)))) + version: 1.5.2(@aws-sdk/client-sso-oidc@3.600.0)(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5)))) '@payloadcms/plugin-cloud-storage': specifier: ^1.1.3 - version: 1.1.3(@aws-sdk/client-s3@3.600.0)(@aws-sdk/lib-storage@3.600.0(@aws-sdk/client-s3@3.600.0))(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5)))) + version: 1.1.3(@aws-sdk/client-s3@3.600.0)(@aws-sdk/lib-storage@3.600.0(@aws-sdk/client-s3@3.600.0))(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5)))) '@payloadcms/plugin-nested-docs': specifier: ^1.0.12 - version: 1.0.12(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5)))) + version: 1.0.12(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5)))) '@payloadcms/plugin-sentry': specifier: ^0.0.6 - version: 0.0.6(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(react@18.3.1) + version: 0.0.6(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(react@18.3.1) '@payloadcms/plugin-seo': specifier: ^2.3.2 - version: 2.3.2(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(react@18.3.1) + version: 2.3.2(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(react@18.3.1) '@payloadcms/richtext-slate': specifier: ^1.5.2 - version: 1.5.2(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 1.5.2(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) '@sentry/nextjs': specifier: ^8.12.0 version: 8.12.0(@opentelemetry/api@1.9.0)(@opentelemetry/core@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/instrumentation@0.52.1(@opentelemetry/api@1.9.0))(@opentelemetry/sdk-trace-base@1.25.1(@opentelemetry/api@1.9.0))(@opentelemetry/semantic-conventions@1.25.1)(encoding@0.1.13)(next@14.2.4(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.45.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.69.4))(react@18.3.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) @@ -1059,7 +1059,7 @@ importers: version: 1.0.3 payload: specifier: 2.22.0 - version: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) + version: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) react: specifier: ^18.3.1 version: 18.3.1 @@ -1096,7 +1096,7 @@ importers: version: link:../../packages/commons-ui-testing-library '@svgr/webpack': specifier: ^8.1.0 - version: 8.1.0(typescript@5.5.2) + version: 8.1.0(typescript@5.4.5) '@types/express': specifier: ^4.17.21 version: 4.17.21 @@ -1120,7 +1120,7 @@ importers: version: 8.57.0 eslint-config-next: specifier: ^14.2.4 - version: 14.2.4(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0)(typescript@5.5.2) + version: 14.2.4(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0)(typescript@5.4.5) eslint-config-prettier: specifier: ^9.1.0 version: 9.1.0(eslint@8.57.0) @@ -1132,7 +1132,7 @@ importers: version: 2.29.1(eslint-import-resolver-webpack@0.13.8)(eslint@8.57.0) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) jest-config-commons-ui: specifier: workspace:* version: link:../../packages/jest-config-commons-ui @@ -1141,10 +1141,10 @@ importers: version: 3.1.1 ts-node: specifier: ^10.9.2 - version: 10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2) + version: 10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5) typescript: - specifier: ^5.5.2 - version: 5.5.2 + specifier: 5.4.5 + version: 5.4.5 apps/vpnmanager: dependencies: @@ -1198,7 +1198,7 @@ importers: version: 133.0.0(encoding@0.1.13) jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) next: specifier: ^14.2.4 version: 14.2.4(@babel/core@7.24.7)(@opentelemetry/api@1.9.0)(@playwright/test@1.45.0)(babel-plugin-macros@3.1.0)(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(sass@1.69.4) @@ -1284,7 +1284,7 @@ importers: version: 3.0.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) jest-config-commons-ui: specifier: workspace:* version: link:../jest-config-commons-ui @@ -1342,7 +1342,7 @@ importers: version: link:../eslint-config-commons-ui jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) jest-config-commons-ui: specifier: workspace:* version: link:../jest-config-commons-ui @@ -1412,7 +1412,7 @@ importers: version: 3.0.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) jest-config-commons-ui: specifier: workspace:* version: link:../jest-config-commons-ui @@ -1460,7 +1460,7 @@ importers: version: 1.1.0 eslint-plugin-import: specifier: ^2.29.1 - version: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) + version: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) eslint-plugin-jest: specifier: ^27.9.0 version: 27.9.0(eslint@8.57.0)(jest@29.7.0)(typescript@5.5.2) @@ -1534,7 +1534,7 @@ importers: version: 3.0.0 jest: specifier: ^29.7.0 - version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + version: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) prettier: specifier: ^3.3.2 version: 3.3.2 @@ -12120,6 +12120,11 @@ packages: resolution: {integrity: sha512-/OxDN6OtAk5KBpGb28T+HZc2M+ADtvRxXrKKbUwtsLgdoxgX13hyy7ek6bFRl5+aBs2yZzB0c4CnQfAtVypW/g==} engines: {node: '>= 0.4'} + typescript@5.4.5: + resolution: {integrity: sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==} + engines: {node: '>=14.17'} + hasBin: true + typescript@5.5.2: resolution: {integrity: sha512-NcRtPEOsPFFWjobJEtfihkLCZCXZt/os3zf8nTxjVH3RvTSxjrCamJpbExGvYOF+tFHc3pA65qpdwPbzjohhew==} engines: {node: '>=14.17'} @@ -13066,7 +13071,7 @@ snapshots: '@aws-sdk/client-sso-oidc': 3.600.0(@aws-sdk/client-sts@3.600.0) '@aws-sdk/client-sts': 3.600.0 '@aws-sdk/core': 3.598.0 - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0) + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0) '@aws-sdk/middleware-host-header': 3.598.0 '@aws-sdk/middleware-logger': 3.598.0 '@aws-sdk/middleware-recursion-detection': 3.598.0 @@ -13114,7 +13119,7 @@ snapshots: '@aws-sdk/client-sso-oidc': 3.600.0(@aws-sdk/client-sts@3.600.0) '@aws-sdk/client-sts': 3.600.0 '@aws-sdk/core': 3.598.0 - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0) + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0) '@aws-sdk/middleware-bucket-endpoint': 3.598.0 '@aws-sdk/middleware-expect-continue': 3.598.0 '@aws-sdk/middleware-flexible-checksums': 3.598.0 @@ -13175,7 +13180,7 @@ snapshots: '@aws-crypto/sha256-js': 5.2.0 '@aws-sdk/client-sts': 3.600.0 '@aws-sdk/core': 3.598.0 - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0) + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0) '@aws-sdk/middleware-host-header': 3.598.0 '@aws-sdk/middleware-logger': 3.598.0 '@aws-sdk/middleware-recursion-detection': 3.598.0 @@ -13264,7 +13269,7 @@ snapshots: '@aws-crypto/sha256-js': 5.2.0 '@aws-sdk/client-sso-oidc': 3.600.0(@aws-sdk/client-sts@3.600.0) '@aws-sdk/core': 3.598.0 - '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0) + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0) '@aws-sdk/middleware-host-header': 3.598.0 '@aws-sdk/middleware-logger': 3.598.0 '@aws-sdk/middleware-recursion-detection': 3.598.0 @@ -13343,6 +13348,24 @@ snapshots: '@smithy/util-stream': 3.0.4 tslib: 2.6.3 + '@aws-sdk/credential-provider-ini@3.598.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0)': + dependencies: + '@aws-sdk/client-sts': 3.600.0 + '@aws-sdk/credential-provider-env': 3.598.0 + '@aws-sdk/credential-provider-http': 3.598.0 + '@aws-sdk/credential-provider-process': 3.598.0 + '@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0) + '@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.600.0) + '@aws-sdk/types': 3.598.0 + '@smithy/credential-provider-imds': 3.1.2 + '@smithy/property-provider': 3.1.2 + '@smithy/shared-ini-file-loader': 3.1.2 + '@smithy/types': 3.2.0 + tslib: 2.6.3 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + '@aws-sdk/credential-provider-ini@3.598.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0)': dependencies: '@aws-sdk/client-sts': 3.600.0 @@ -13360,6 +13383,26 @@ snapshots: transitivePeerDependencies: - '@aws-sdk/client-sso-oidc' - aws-crt + optional: true + + '@aws-sdk/credential-provider-node@3.600.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0)': + dependencies: + '@aws-sdk/credential-provider-env': 3.598.0 + '@aws-sdk/credential-provider-http': 3.598.0 + '@aws-sdk/credential-provider-ini': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0) + '@aws-sdk/credential-provider-process': 3.598.0 + '@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0) + '@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.600.0) + '@aws-sdk/types': 3.598.0 + '@smithy/credential-provider-imds': 3.1.2 + '@smithy/property-provider': 3.1.2 + '@smithy/shared-ini-file-loader': 3.1.2 + '@smithy/types': 3.2.0 + tslib: 2.6.3 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - '@aws-sdk/client-sts' + - aws-crt '@aws-sdk/credential-provider-node@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)(@aws-sdk/client-sts@3.600.0)': dependencies: @@ -13379,6 +13422,7 @@ snapshots: - '@aws-sdk/client-sso-oidc' - '@aws-sdk/client-sts' - aws-crt + optional: true '@aws-sdk/credential-provider-process@3.598.0': dependencies: @@ -13410,6 +13454,29 @@ snapshots: tslib: 2.6.3 '@aws-sdk/credential-providers@3.600.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))': + dependencies: + '@aws-sdk/client-cognito-identity': 3.600.0 + '@aws-sdk/client-sso': 3.598.0 + '@aws-sdk/client-sts': 3.600.0 + '@aws-sdk/credential-provider-cognito-identity': 3.600.0 + '@aws-sdk/credential-provider-env': 3.598.0 + '@aws-sdk/credential-provider-http': 3.598.0 + '@aws-sdk/credential-provider-ini': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0) + '@aws-sdk/credential-provider-node': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(@aws-sdk/client-sts@3.600.0) + '@aws-sdk/credential-provider-process': 3.598.0 + '@aws-sdk/credential-provider-sso': 3.598.0(@aws-sdk/client-sso-oidc@3.600.0) + '@aws-sdk/credential-provider-web-identity': 3.598.0(@aws-sdk/client-sts@3.600.0) + '@aws-sdk/types': 3.598.0 + '@smithy/credential-provider-imds': 3.1.2 + '@smithy/property-provider': 3.1.2 + '@smithy/types': 3.2.0 + tslib: 2.6.3 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + optional: true + + '@aws-sdk/credential-providers@3.600.0(@aws-sdk/client-sso-oidc@3.600.0)': dependencies: '@aws-sdk/client-cognito-identity': 3.600.0 '@aws-sdk/client-sso': 3.598.0 @@ -15352,7 +15419,7 @@ snapshots: - ts-node optional: true - '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2))': + '@jest/core@29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5))': dependencies: '@jest/console': 29.7.0 '@jest/reporters': 29.7.0 @@ -15366,7 +15433,7 @@ snapshots: exit: 0.1.2 graceful-fs: 4.2.11 jest-changed-files: 29.7.0 - jest-config: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + jest-config: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) jest-haste-map: 29.7.0 jest-message-util: 29.7.0 jest-regex-util: 29.6.3 @@ -16212,7 +16279,7 @@ snapshots: '@panva/hkdf@1.2.0': {} - '@payloadcms/bundler-webpack@1.0.7(@swc/core@1.6.1(@swc/helpers@0.5.5))(ajv@8.16.0)(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(sass@1.69.4)': + '@payloadcms/bundler-webpack@1.0.7(@swc/core@1.6.1(@swc/helpers@0.5.5))(ajv@8.16.0)(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(sass@1.69.4)': dependencies: ajv: 8.16.0 compression: 1.7.4 @@ -16224,7 +16291,7 @@ snapshots: md5: 2.3.0 mini-css-extract-plugin: 1.6.2(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))(webpack-cli@4.10.0)) path-browserify: 1.0.1 - payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) + payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) postcss: 8.4.31 postcss-loader: 6.2.1(postcss@8.4.31)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))(webpack-cli@4.10.0)) postcss-preset-env: 9.0.0(postcss@8.4.31) @@ -16344,7 +16411,7 @@ snapshots: - utf-8-validate - webpack-dev-server - '@payloadcms/db-mongodb@1.5.2(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))': + '@payloadcms/db-mongodb@1.5.2(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(payload@2.22.2(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.5(@swc/helpers@0.5.5))(webpack-cli@4.10.0)))': dependencies: bson-objectid: 2.0.4 deepmerge: 4.3.1 @@ -16353,7 +16420,7 @@ snapshots: mongoose: 6.12.3(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0)) mongoose-aggregate-paginate-v2: 1.0.6 mongoose-paginate-v2: 1.7.22 - payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) + payload: 2.22.2(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.5(@swc/helpers@0.5.5))(webpack-cli@4.10.0)) prompts: 2.4.2 uuid: 9.0.0 transitivePeerDependencies: @@ -16361,7 +16428,7 @@ snapshots: - aws-crt - supports-color - '@payloadcms/db-mongodb@1.5.2(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(payload@2.22.2(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.5(@swc/helpers@0.5.5))(webpack-cli@4.10.0)))': + '@payloadcms/db-mongodb@1.5.2(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(payload@2.22.2(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.5(@swc/helpers@0.5.5))))': dependencies: bson-objectid: 2.0.4 deepmerge: 4.3.1 @@ -16370,7 +16437,7 @@ snapshots: mongoose: 6.12.3(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0)) mongoose-aggregate-paginate-v2: 1.0.6 mongoose-paginate-v2: 1.7.22 - payload: 2.22.2(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.5(@swc/helpers@0.5.5))(webpack-cli@4.10.0)) + payload: 2.22.2(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.5(@swc/helpers@0.5.5))) prompts: 2.4.2 uuid: 9.0.0 transitivePeerDependencies: @@ -16378,16 +16445,16 @@ snapshots: - aws-crt - supports-color - '@payloadcms/db-mongodb@1.5.2(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0))(payload@2.22.2(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.5(@swc/helpers@0.5.5))))': + '@payloadcms/db-mongodb@1.5.2(@aws-sdk/client-sso-oidc@3.600.0)(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))': dependencies: bson-objectid: 2.0.4 deepmerge: 4.3.1 get-port: 5.1.1 http-status: 1.6.2 - mongoose: 6.12.3(@aws-sdk/client-sso-oidc@3.600.0(@aws-sdk/client-sts@3.600.0)) + mongoose: 6.12.3(@aws-sdk/client-sso-oidc@3.600.0) mongoose-aggregate-paginate-v2: 1.0.6 mongoose-paginate-v2: 1.7.22 - payload: 2.22.2(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.5(@swc/helpers@0.5.5))) + payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) prompts: 2.4.2 uuid: 9.0.0 transitivePeerDependencies: @@ -16395,10 +16462,10 @@ snapshots: - aws-crt - supports-color - '@payloadcms/plugin-cloud-storage@1.1.3(@aws-sdk/client-s3@3.600.0)(@aws-sdk/lib-storage@3.600.0(@aws-sdk/client-s3@3.600.0))(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))': + '@payloadcms/plugin-cloud-storage@1.1.3(@aws-sdk/client-s3@3.600.0)(@aws-sdk/lib-storage@3.600.0(@aws-sdk/client-s3@3.600.0))(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))': dependencies: find-node-modules: 2.1.3 - payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) + payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) range-parser: 1.2.1 optionalDependencies: '@aws-sdk/client-s3': 3.600.0 @@ -16422,9 +16489,9 @@ snapshots: '@aws-sdk/client-s3': 3.600.0 '@aws-sdk/lib-storage': 3.600.0(@aws-sdk/client-s3@3.600.0) - '@payloadcms/plugin-nested-docs@1.0.12(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))': + '@payloadcms/plugin-nested-docs@1.0.12(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))': dependencies: - payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) + payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) '@payloadcms/plugin-nested-docs@1.0.12(payload@2.22.2(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.5(@swc/helpers@0.5.5))(webpack-cli@4.10.0)))': dependencies: @@ -16434,12 +16501,12 @@ snapshots: dependencies: payload: 2.22.2(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.5(@swc/helpers@0.5.5))) - '@payloadcms/plugin-sentry@0.0.6(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(react@18.3.1)': + '@payloadcms/plugin-sentry@0.0.6(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(react@18.3.1)': dependencies: '@sentry/node': 7.118.0 '@sentry/types': 7.118.0 express: 4.19.2 - payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) + payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) react: 18.3.1 transitivePeerDependencies: - supports-color @@ -16464,9 +16531,9 @@ snapshots: transitivePeerDependencies: - supports-color - '@payloadcms/plugin-seo@2.3.2(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(react@18.3.1)': + '@payloadcms/plugin-seo@2.3.2(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(react@18.3.1)': dependencies: - payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) + payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) react: 18.3.1 '@payloadcms/plugin-seo@2.3.2(payload@2.22.2(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.5(@swc/helpers@0.5.5))(webpack-cli@4.10.0)))(react@18.3.1)': @@ -16479,12 +16546,12 @@ snapshots: payload: 2.22.2(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.5(@swc/helpers@0.5.5))) react: 18.3.1 - '@payloadcms/richtext-slate@1.5.2(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@payloadcms/richtext-slate@1.5.2(payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: '@faceless-ui/modal': 2.0.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) i18next: 22.5.1 is-hotkey: 0.2.0 - payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) + payload: 2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) react: 18.3.1 react-i18next: 11.18.6(i18next@22.5.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) slate: 0.91.4 @@ -18535,6 +18602,17 @@ snapshots: '@svgr/babel-plugin-transform-react-native-svg': 8.1.0(@babel/core@7.24.7) '@svgr/babel-plugin-transform-svg-component': 8.0.0(@babel/core@7.24.7) + '@svgr/core@8.1.0(typescript@5.4.5)': + dependencies: + '@babel/core': 7.24.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.24.7) + camelcase: 6.3.0 + cosmiconfig: 8.3.6(typescript@5.4.5) + snake-case: 3.0.4 + transitivePeerDependencies: + - supports-color + - typescript + '@svgr/core@8.1.0(typescript@5.5.2)': dependencies: '@babel/core': 7.24.7 @@ -18551,6 +18629,16 @@ snapshots: '@babel/types': 7.24.7 entities: 4.5.0 + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.4.5))': + dependencies: + '@babel/core': 7.24.7 + '@svgr/babel-preset': 8.1.0(@babel/core@7.24.7) + '@svgr/core': 8.1.0(typescript@5.4.5) + '@svgr/hast-util-to-babel-ast': 8.0.0 + svg-parser: 2.0.4 + transitivePeerDependencies: + - supports-color + '@svgr/plugin-jsx@8.1.0(@svgr/core@8.1.0(typescript@5.5.2))': dependencies: '@babel/core': 7.24.7 @@ -18561,6 +18649,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.4.5))(typescript@5.4.5)': + dependencies: + '@svgr/core': 8.1.0(typescript@5.4.5) + cosmiconfig: 8.3.6(typescript@5.4.5) + deepmerge: 4.3.1 + svgo: 3.3.2 + transitivePeerDependencies: + - typescript + '@svgr/plugin-svgo@8.1.0(@svgr/core@8.1.0(typescript@5.5.2))(typescript@5.5.2)': dependencies: '@svgr/core': 8.1.0(typescript@5.5.2) @@ -18570,6 +18667,20 @@ snapshots: transitivePeerDependencies: - typescript + '@svgr/webpack@8.1.0(typescript@5.4.5)': + dependencies: + '@babel/core': 7.24.7 + '@babel/plugin-transform-react-constant-elements': 7.24.7(@babel/core@7.24.7) + '@babel/preset-env': 7.24.7(@babel/core@7.24.7) + '@babel/preset-react': 7.24.7(@babel/core@7.24.7) + '@babel/preset-typescript': 7.24.7(@babel/core@7.24.7) + '@svgr/core': 8.1.0(typescript@5.4.5) + '@svgr/plugin-jsx': 8.1.0(@svgr/core@8.1.0(typescript@5.4.5)) + '@svgr/plugin-svgo': 8.1.0(@svgr/core@8.1.0(typescript@5.4.5))(typescript@5.4.5) + transitivePeerDependencies: + - supports-color + - typescript + '@svgr/webpack@8.1.0(typescript@5.5.2)': dependencies: '@babel/core': 7.24.7 @@ -18731,7 +18842,7 @@ snapshots: optionalDependencies: '@jest/globals': 29.7.0 '@types/jest': 29.5.12 - jest: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + jest: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0) '@testing-library/jest-dom@6.4.5(@jest/globals@29.7.0)(@types/jest@29.5.12)(jest@29.7.0(@types/node@20.14.9))': dependencies: @@ -18761,7 +18872,7 @@ snapshots: optionalDependencies: '@jest/globals': 29.7.0 '@types/jest': 29.5.12 - jest: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + jest: 29.7.0(babel-plugin-macros@3.1.0) '@testing-library/react@14.3.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': dependencies: @@ -19131,6 +19242,19 @@ snapshots: dependencies: '@types/yargs-parser': 21.0.3 + '@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5)': + dependencies: + '@typescript-eslint/scope-manager': 7.2.0 + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/typescript-estree': 7.2.0(typescript@5.4.5) + '@typescript-eslint/visitor-keys': 7.2.0 + debug: 4.3.5 + eslint: 8.57.0 + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2)': dependencies: '@typescript-eslint/scope-manager': 7.2.0 @@ -19172,6 +19296,21 @@ snapshots: transitivePeerDependencies: - supports-color + '@typescript-eslint/typescript-estree@7.2.0(typescript@5.4.5)': + dependencies: + '@typescript-eslint/types': 7.2.0 + '@typescript-eslint/visitor-keys': 7.2.0 + debug: 4.3.5 + globby: 11.1.0 + is-glob: 4.0.3 + minimatch: 9.0.3 + semver: 7.6.2 + ts-api-utils: 1.3.0(typescript@5.4.5) + optionalDependencies: + typescript: 5.4.5 + transitivePeerDependencies: + - supports-color + '@typescript-eslint/typescript-estree@7.2.0(typescript@5.5.2)': dependencies: '@typescript-eslint/types': 7.2.0 @@ -20431,6 +20570,15 @@ snapshots: path-type: 4.0.0 yaml: 1.10.2 + cosmiconfig@8.3.6(typescript@5.4.5): + dependencies: + import-fresh: 3.3.0 + js-yaml: 4.1.0 + parse-json: 5.2.0 + path-type: 4.0.0 + optionalDependencies: + typescript: 5.4.5 + cosmiconfig@8.3.6(typescript@5.5.2): dependencies: import-fresh: 3.3.0 @@ -20491,13 +20639,13 @@ snapshots: - ts-node optional: true - create-jest@29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)): + create-jest@29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)): dependencies: '@jest/types': 29.6.3 chalk: 4.1.2 exit: 0.1.2 graceful-fs: 4.2.11 - jest-config: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + jest-config: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) jest-util: 29.7.0 prompts: 2.4.2 transitivePeerDependencies: @@ -21416,7 +21564,7 @@ snapshots: dependencies: confusing-browser-globals: 1.0.11 eslint: 8.57.0 - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) object.assign: 4.1.5 object.entries: 1.1.8 semver: 6.3.1 @@ -21425,27 +21573,27 @@ snapshots: dependencies: eslint: 8.57.0 eslint-config-airbnb-base: 15.0.0(eslint-plugin-import@2.29.1(eslint@8.57.0))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.9.0(eslint@8.57.0) eslint-plugin-react: 7.34.3(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) object.assign: 4.1.5 object.entries: 1.1.8 - eslint-config-next@14.2.4(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0)(typescript@5.5.2): + eslint-config-next@14.2.4(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0)(typescript@5.4.5): dependencies: '@next/eslint-plugin-next': 14.2.4 '@rushstack/eslint-patch': 1.10.3 - '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint-plugin-import@2.29.1)(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) eslint-plugin-jsx-a11y: 6.9.0(eslint@8.57.0) eslint-plugin-react: 7.34.3(eslint@8.57.0) eslint-plugin-react-hooks: 4.6.2(eslint@8.57.0) optionalDependencies: - typescript: 5.5.2 + typescript: 5.4.5 transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color @@ -21498,13 +21646,13 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint-plugin-import@2.29.1)(eslint@8.57.0): + eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint-plugin-import@2.29.1)(eslint@8.57.0): dependencies: debug: 4.3.5 enhanced-resolve: 5.17.0 eslint: 8.57.0 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) - eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) + eslint-plugin-import: 2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) fast-glob: 3.3.2 get-tsconfig: 4.7.5 is-core-module: 2.14.0 @@ -21622,14 +21770,14 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0): + eslint-module-utils@2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0): dependencies: debug: 3.2.7 optionalDependencies: - '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint-plugin-import@2.29.1)(eslint@8.57.0) + eslint-import-resolver-typescript: 3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint-plugin-import@2.29.1)(eslint@8.57.0) eslint-import-resolver-webpack: 0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) transitivePeerDependencies: - supports-color @@ -21655,7 +21803,7 @@ snapshots: transitivePeerDependencies: - supports-color - eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0): + eslint-plugin-import@2.29.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-typescript@3.6.1)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0): dependencies: array-includes: 3.1.8 array.prototype.findlastindex: 1.2.5 @@ -21665,7 +21813,7 @@ snapshots: doctrine: 2.1.0 eslint: 8.57.0 eslint-import-resolver-node: 0.3.9 - eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.5.2))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) + eslint-module-utils: 2.8.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-typescript@3.6.1(@typescript-eslint/parser@7.2.0(eslint@8.57.0)(typescript@5.4.5))(eslint-import-resolver-node@0.3.9)(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint-plugin-import@2.29.1)(eslint@8.57.0))(eslint-import-resolver-webpack@0.13.8(eslint-plugin-import@2.29.1)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))))(eslint@8.57.0) hasown: 2.0.2 is-core-module: 2.14.0 is-glob: 4.0.3 @@ -21676,7 +21824,7 @@ snapshots: semver: 6.3.1 tsconfig-paths: 3.15.0 optionalDependencies: - '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.5.2) + '@typescript-eslint/parser': 7.2.0(eslint@8.57.0)(typescript@5.4.5) transitivePeerDependencies: - eslint-import-resolver-typescript - eslint-import-resolver-webpack @@ -21747,7 +21895,7 @@ snapshots: '@typescript-eslint/utils': 5.62.0(eslint@8.57.0)(typescript@5.5.2) eslint: 8.57.0 optionalDependencies: - jest: 29.7.0(@types/node@20.14.9) + jest: 29.7.0 transitivePeerDependencies: - supports-color - typescript @@ -22336,8 +22484,8 @@ snapshots: combined-stream: 1.0.8 mime-types: 2.1.35 - formik-mui-lab@1.0.0(au23chaimxrf4qlnsjncm6hkeu): - dependencies: + ? formik-mui-lab@1.0.0(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/lab@5.0.0-alpha.155(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.15.20(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@mui/material@5.15.20(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(formik@2.4.6(react@18.3.1))(react@18.3.1)(tiny-warning@1.0.3) + : dependencies: '@emotion/react': 11.11.4(@types/react@18.3.3)(react@18.3.1) '@emotion/styled': 11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1) '@mui/lab': 5.0.0-alpha.155(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@mui/material@5.15.20(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@emotion/styled@11.11.5(@emotion/react@11.11.4(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(@types/react@18.3.3)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -23507,16 +23655,16 @@ snapshots: - ts-node optional: true - jest-cli@29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)): + jest-cli@29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) '@jest/test-result': 29.7.0 '@jest/types': 29.6.3 chalk: 4.1.2 - create-jest: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + create-jest: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) exit: 0.1.2 import-local: 3.1.0 - jest-config: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + jest-config: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) jest-util: 29.7.0 jest-validate: 29.7.0 yargs: 17.7.2 @@ -23576,7 +23724,7 @@ snapshots: - supports-color optional: true - jest-config@29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)): + jest-config@29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)): dependencies: '@babel/core': 7.24.7 '@jest/test-sequencer': 29.7.0 @@ -23602,7 +23750,7 @@ snapshots: strip-json-comments: 3.1.1 optionalDependencies: '@types/node': 20.14.9 - ts-node: 10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2) + ts-node: 10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5) transitivePeerDependencies: - babel-plugin-macros - supports-color @@ -23874,6 +24022,19 @@ snapshots: merge-stream: 2.0.0 supports-color: 8.1.1 + jest@29.7.0: + dependencies: + '@jest/core': 29.7.0 + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@20.14.9) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + optional: true + jest@29.7.0(@types/node@20.14.9): dependencies: '@jest/core': 29.7.0 @@ -23887,12 +24048,25 @@ snapshots: - ts-node optional: true - jest@29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)): + jest@29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0): dependencies: - '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) '@jest/types': 29.6.3 import-local: 3.1.0 - jest-cli: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2)) + jest-cli: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + optional: true + + jest@29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) transitivePeerDependencies: - '@types/node' - babel-plugin-macros @@ -23911,6 +24085,19 @@ snapshots: - supports-color - ts-node + jest@29.7.0(babel-plugin-macros@3.1.0): + dependencies: + '@jest/core': 29.7.0(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) + '@jest/types': 29.6.3 + import-local: 3.1.0 + jest-cli: 29.7.0(@types/node@20.14.9)(babel-plugin-macros@3.1.0)(ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5)) + transitivePeerDependencies: + - '@types/node' + - babel-plugin-macros + - supports-color + - ts-node + optional: true + jiti@1.21.6: {} jmespath@0.16.0: {} @@ -24673,6 +24860,18 @@ snapshots: - '@aws-sdk/client-sso-oidc' - aws-crt + mongodb@4.17.1(@aws-sdk/client-sso-oidc@3.600.0): + dependencies: + bson: 4.7.2 + mongodb-connection-string-url: 2.6.0 + socks: 2.8.3 + optionalDependencies: + '@aws-sdk/credential-providers': 3.600.0(@aws-sdk/client-sso-oidc@3.600.0) + '@mongodb-js/saslprep': 1.1.7 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + mongoose-aggregate-paginate-v2@1.0.6: {} mongoose-paginate-v2@1.7.22: {} @@ -24691,6 +24890,20 @@ snapshots: - aws-crt - supports-color + mongoose@6.12.3(@aws-sdk/client-sso-oidc@3.600.0): + dependencies: + bson: 4.7.2 + kareem: 2.5.1 + mongodb: 4.17.1(@aws-sdk/client-sso-oidc@3.600.0) + mpath: 0.9.0 + mquery: 4.0.3 + ms: 2.1.3 + sift: 16.0.1 + transitivePeerDependencies: + - '@aws-sdk/client-sso-oidc' + - aws-crt + - supports-color + mpath@0.9.0: {} mpd-parser@1.3.0: @@ -25287,7 +25500,7 @@ snapshots: pause@0.0.1: {} - payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.5.2)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))): + payload@2.22.0(@swc/helpers@0.5.5)(@types/react@18.3.3)(encoding@0.1.13)(typescript@5.4.5)(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))): dependencies: '@date-io/date-fns': 2.16.0(date-fns@2.30.0) '@dnd-kit/core': 6.0.8(react-dom@18.3.1(react@18.3.1))(react@18.3.1) @@ -25374,7 +25587,7 @@ snapshots: sharp: 0.33.4 swc-loader: 0.2.3(@swc/core@1.6.1(@swc/helpers@0.5.5))(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) terser-webpack-plugin: 5.3.9(@swc/core@1.6.1(@swc/helpers@0.5.5))(webpack@5.92.1(@swc/core@1.6.1(@swc/helpers@0.5.5))) - ts-essentials: 7.0.3(typescript@5.5.2) + ts-essentials: 7.0.3(typescript@5.4.5) use-context-selector: 1.4.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(scheduler@0.23.0) uuid: 9.0.1 transitivePeerDependencies: @@ -27837,12 +28050,20 @@ snapshots: dependencies: utf8-byte-length: 1.0.5 + ts-api-utils@1.3.0(typescript@5.4.5): + dependencies: + typescript: 5.4.5 + ts-api-utils@1.3.0(typescript@5.5.2): dependencies: typescript: 5.5.2 ts-dedent@2.2.0: {} + ts-essentials@7.0.3(typescript@5.4.5): + dependencies: + typescript: 5.4.5 + ts-essentials@7.0.3(typescript@5.5.2): dependencies: typescript: 5.5.2 @@ -27859,7 +28080,7 @@ snapshots: dependencies: tslib: 1.14.1 - ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.5.2): + ts-node@10.9.2(@swc/core@1.6.1(@swc/helpers@0.5.5))(@types/node@20.14.9)(typescript@5.4.5): dependencies: '@cspotcode/source-map-support': 0.8.1 '@tsconfig/node10': 1.0.11 @@ -27873,7 +28094,7 @@ snapshots: create-require: 1.1.1 diff: 4.0.2 make-error: 1.3.6 - typescript: 5.5.2 + typescript: 5.4.5 v8-compile-cache-lib: 3.0.1 yn: 3.1.1 optionalDependencies: @@ -28036,6 +28257,8 @@ snapshots: is-typed-array: 1.1.13 possible-typed-array-names: 1.0.0 + typescript@5.4.5: {} + typescript@5.5.2: {} ufo@1.5.3: {}