From 87f5d8515acd5b1c2a42650c2f6f5b51e94a156d Mon Sep 17 00:00:00 2001 From: Baptiste Arnaud Date: Tue, 16 Apr 2024 12:56:47 +0200 Subject: [PATCH] :recycle: Add a test for internal waitUntil --- .../api/v1/whatsapp/preview/webhook.ts | 41 - apps/builder/next.config.mjs | 1 - apps/builder/package.json | 21 +- .../src/components/inputs/CodeEditor.tsx | 2 +- .../auth/helpers/sendVerificationRequest.ts | 2 +- .../components/TextBubbleEditor.tsx | 2 +- .../components/TextEditorEditorContent.tsx | 4 +- .../components/plate/MarkToolbarButton.tsx | 2 +- .../components/plate/PlateBlock.tsx | 2 +- .../sendEmail/components/SmtpConfigForm.tsx | 2 +- .../components/nodes/block/BlockNode.tsx | 2 +- .../embeds/modals/FramerModal/FramerModal.tsx | 2 +- .../embeds/modals/GtmModal/GtmModal.tsx | 2 +- .../modals/Javascript/JavascriptModal.tsx | 2 +- .../embeds/modals/Nextjs/NextjsModal.tsx | 2 +- .../embeds/modals/React/ReactModal.tsx | 2 +- .../embeds/modals/Script/ScriptModal.tsx | 2 +- .../modals/ShopifyModal/ShopifyModal.tsx | 2 +- .../modals/WebflowModal/WebflowModal.tsx | 2 +- .../embeds/modals/WixModal/WixModal.tsx | 2 +- .../src/features/results/hooks/useLogs.ts | 2 +- .../api/typebots/[typebotId]/invitations.ts | 2 +- .../workspaces/[workspaceId]/invitations.ts | 2 +- apps/builder/tsconfig.json | 20 +- apps/docs/openapi/builder.json | 424 ------ apps/docs/openapi/viewer.json | 20 +- apps/landing-page/package.json | 2 +- .../whatsapp/[credentialsId]/webhook.ts | 53 - apps/viewer/next.config.mjs | 6 +- apps/viewer/package.json | 6 +- .../[typebotId]/integrations/email.tsx | 3 +- apps/viewer/src/pages/api/waitUntilTest.ts | 20 + packages/billing/package.json | 2 +- .../sendEmail/executeSendEmailBlock.tsx | 7 +- packages/bot-engine/package.json | 2 +- packages/bot-engine/parseBubbleBlock.ts | 2 +- packages/emails/package.json | 4 +- packages/embeds/js/package.json | 4 +- .../components/plate/PlateBlock.tsx | 2 +- .../helpers/convertRichTextToPlainText.ts | 2 +- packages/embeds/nextjs/package.json | 2 +- packages/embeds/react/package.json | 2 +- packages/forge/blocks/anthropic/package.json | 2 +- packages/forge/blocks/calCom/package.json | 2 +- packages/forge/blocks/chatNode/package.json | 2 +- packages/forge/blocks/difyAi/package.json | 2 +- packages/forge/blocks/elevenlabs/package.json | 2 +- packages/forge/blocks/mistral/package.json | 2 +- packages/forge/blocks/openRouter/package.json | 2 +- packages/forge/blocks/openai/package.json | 2 +- packages/forge/blocks/qrcode/package.json | 4 +- packages/forge/blocks/togetherAi/package.json | 2 +- packages/forge/blocks/zemanticAi/package.json | 2 +- packages/forge/cli/index.ts | 2 +- packages/forge/cli/package.json | 2 +- packages/forge/core/package.json | 2 +- packages/forge/repository/package.json | 2 +- .../lib/markdown/convertMarkdownToRichText.ts | 6 +- .../lib/markdown/convertRichTextToMarkdown.ts | 2 +- .../lib/markdown/deserializer/deserialize.ts | 3 +- packages/lib/markdown/deserializer/types.ts | 2 +- .../remark-slate/remarkDefaultElementRules.ts | 9 +- .../remark-slate/remarkDefaultTextRules.ts | 3 +- .../lib/markdown/remark-slate/remarkPlugin.ts | 2 +- .../remark-slate/remarkTransformElement.ts | 2 +- .../remarkTransformElementChildren.ts | 2 +- .../remark-slate/remarkTransformNode.ts | 2 +- .../remark-slate/remarkTransformText.ts | 2 +- packages/lib/markdown/remark-slate/types.ts | 3 +- packages/lib/package.json | 24 +- packages/migrations/package.json | 2 +- packages/playwright/package.json | 2 +- packages/radar/package.json | 2 +- packages/results/package.json | 2 +- .../features/blocks/bubbles/text/schema.ts | 2 +- packages/schemas/package.json | 2 +- packages/scripts/checkAndReportChatsUsage.ts | 2 +- packages/scripts/package.json | 2 +- packages/telemetry/package.json | 2 +- packages/theme/package.json | 2 +- packages/transactional/package.json | 12 +- packages/transactional/render.ts | 1 + .../templates/marketing/V2dot22Update.tsx | 1 - .../templates/marketing/V2dot23Update.tsx | 2 - .../templates/marketing/V2dot24Update.tsx | 1 - .../DefaultSendEmailNotification.tsx | 89 ++ .../templates/transactional/MagicLink.tsx | 1 - packages/transactional/tsconfig.json | 9 + pnpm-lock.yaml | 1265 ++++++++++------- 89 files changed, 1029 insertions(+), 1154 deletions(-) delete mode 100644 apps/builder/api/v1/whatsapp/preview/webhook.ts delete mode 100644 apps/viewer/api/v1/workspaces/[workspaceId]/whatsapp/[credentialsId]/webhook.ts create mode 100644 apps/viewer/src/pages/api/waitUntilTest.ts create mode 100644 packages/transactional/render.ts create mode 100644 packages/transactional/templates/transactional/DefaultSendEmailNotification.tsx create mode 100644 packages/transactional/tsconfig.json diff --git a/apps/builder/api/v1/whatsapp/preview/webhook.ts b/apps/builder/api/v1/whatsapp/preview/webhook.ts deleted file mode 100644 index e62dc8025..000000000 --- a/apps/builder/api/v1/whatsapp/preview/webhook.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { - WhatsAppWebhookRequestBody, - whatsAppWebhookRequestBodySchema, -} from '@typebot.io/schemas/features/whatsapp' -import { resumeWhatsAppFlow } from '@typebot.io/bot-engine/whatsapp/resumeWhatsAppFlow' -import { isNotDefined } from '@typebot.io/lib' -import { env } from '@typebot.io/env' -import type { RequestContext } from '@vercel/edge' - -const processWhatsAppReply = async ( - entry: WhatsAppWebhookRequestBody['entry'] -) => { - const receivedMessage = entry.at(0)?.changes.at(0)?.value.messages?.at(0) - if (isNotDefined(receivedMessage)) return { message: 'No message found' } - const contactName = - entry.at(0)?.changes.at(0)?.value?.contacts?.at(0)?.profile?.name ?? '' - const contactPhoneNumber = - entry.at(0)?.changes.at(0)?.value?.messages?.at(0)?.from ?? '' - return resumeWhatsAppFlow({ - receivedMessage, - sessionId: `wa-preview-${receivedMessage.from}`, - contact: { - name: contactName, - phoneNumber: contactPhoneNumber, - }, - }) -} - -export async function POST(request: Request, context: RequestContext) { - if (!env.WHATSAPP_PREVIEW_FROM_PHONE_NUMBER_ID) - return new Response( - 'WHATSAPP_PREVIEW_FROM_PHONE_NUMBER_ID is not defined', - { - status: 500, - } - ) - const body = await request.json() - const { entry } = whatsAppWebhookRequestBodySchema.parse(body) - context.waitUntil(processWhatsAppReply(entry)) - return new Response('Message is being processed.', { status: 200 }) -} diff --git a/apps/builder/next.config.mjs b/apps/builder/next.config.mjs index def99c9ce..8680171f3 100644 --- a/apps/builder/next.config.mjs +++ b/apps/builder/next.config.mjs @@ -40,7 +40,6 @@ const nextConfig = { transpilePackages: [ '@typebot.io/lib', '@typebot.io/schemas', - '@typebot.io/emails', '@typebot.io/env', ], i18n: { diff --git a/apps/builder/package.json b/apps/builder/package.json index 84afbd846..1ab50fe52 100644 --- a/apps/builder/package.json +++ b/apps/builder/package.json @@ -13,6 +13,7 @@ "format:check": "prettier --check ./src --ignore-path ../../.prettierignore" }, "dependencies": { + "@faire/mjml-react": "3.3.0", "@typebot.io/theme": "workspace:*", "@braintree/sanitize-url": "7.0.1", "@chakra-ui/anatomy": "2.1.1", @@ -23,7 +24,6 @@ "@dnd-kit/utilities": "3.2.1", "@emotion/react": "11.11.1", "@emotion/styled": "11.11.0", - "@faire/mjml-react": "3.3.0", "@giphy/js-fetch-api": "5.0.0", "@giphy/js-types": "4.4.0", "@giphy/js-util": "5.0.0", @@ -41,16 +41,18 @@ "@trpc/react-query": "10.40.0", "@trpc/server": "10.40.0", "@typebot.io/bot-engine": "workspace:*", - "@typebot.io/emails": "workspace:*", + "@typebot.io/email-legacy": "workspace:*", "@typebot.io/env": "workspace:*", "@typebot.io/js": "workspace:*", "@typebot.io/nextjs": "workspace:*", - "@udecode/cn": "29.0.1", - "@udecode/plate-basic-marks": "30.5.3", - "@udecode/plate-common": "30.4.5", - "@udecode/plate-core": "30.4.5", - "@udecode/plate-floating": "30.5.3", - "@udecode/plate-link": "30.5.3", + "@udecode/cn": "31.0.0", + "@udecode/plate-basic-marks": "31.0.0", + "@udecode/plate-core": "31.3.2", + "@udecode/plate-floating": "31.0.0", + "@udecode/plate-link": "31.0.0", + "@udecode/slate": "31.0.0", + "@udecode/slate-react": "31.0.0", + "@udecode/plate-utils": "31.0.0", "@uiw/codemirror-extensions-langs": "4.21.24", "@uiw/codemirror-theme-github": "4.21.24", "@uiw/codemirror-theme-tokyo-night": "4.21.24", @@ -74,7 +76,7 @@ "libphonenumber-js": "1.10.37", "micro": "10.0.1", "micro-cors": "0.1.1", - "next": "14.1.0", + "next": "14.2.1", "next-auth": "4.22.1", "nextjs-cors": "2.1.2", "nodemailer": "6.9.8", @@ -123,7 +125,6 @@ "@types/qs": "6.9.7", "@types/react": "18.2.15", "@types/tinycolor2": "1.4.3", - "@vercel/edge": "1.1.1", "dotenv-cli": "7.2.1", "eslint": "8.44.0", "eslint-config-custom": "workspace:*", diff --git a/apps/builder/src/components/inputs/CodeEditor.tsx b/apps/builder/src/components/inputs/CodeEditor.tsx index 4b989a5f6..b4bd29e6a 100644 --- a/apps/builder/src/components/inputs/CodeEditor.tsx +++ b/apps/builder/src/components/inputs/CodeEditor.tsx @@ -18,9 +18,9 @@ import CodeMirror, { ReactCodeMirrorRef } from '@uiw/react-codemirror' import { tokyoNight } from '@uiw/codemirror-theme-tokyo-night' import { githubLight } from '@uiw/codemirror-theme-github' import { LanguageName, loadLanguage } from '@uiw/codemirror-extensions-langs' -import { isDefined } from '@udecode/plate-common' import { CopyButton } from '../CopyButton' import { MoreInfoTooltip } from '../MoreInfoTooltip' +import { isDefined } from '@typebot.io/lib/utils' type Props = { label?: string diff --git a/apps/builder/src/features/auth/helpers/sendVerificationRequest.ts b/apps/builder/src/features/auth/helpers/sendVerificationRequest.ts index 1cf579b0e..a4dfed917 100644 --- a/apps/builder/src/features/auth/helpers/sendVerificationRequest.ts +++ b/apps/builder/src/features/auth/helpers/sendVerificationRequest.ts @@ -1,4 +1,4 @@ -import { sendMagicLinkEmail } from '@typebot.io/emails' +import { sendMagicLinkEmail } from '@typebot.io/email-legacy' type Props = { identifier: string diff --git a/apps/builder/src/features/blocks/bubbles/textBubble/components/TextBubbleEditor.tsx b/apps/builder/src/features/blocks/bubbles/textBubble/components/TextBubbleEditor.tsx index 474bc4db2..584104d70 100644 --- a/apps/builder/src/features/blocks/bubbles/textBubble/components/TextBubbleEditor.tsx +++ b/apps/builder/src/features/blocks/bubbles/textBubble/components/TextBubbleEditor.tsx @@ -1,7 +1,7 @@ import React, { useEffect, useRef } from 'react' import { Plate } from '@udecode/plate-core' import { platePlugins } from '@/lib/plate' -import { TElement } from '@udecode/plate-common' +import { TElement } from '@udecode/slate' import { TextEditorEditorContent } from './TextEditorEditorContent' type TextBubbleEditorContentProps = { diff --git a/apps/builder/src/features/blocks/bubbles/textBubble/components/TextEditorEditorContent.tsx b/apps/builder/src/features/blocks/bubbles/textBubble/components/TextEditorEditorContent.tsx index 158e8c165..0da780775 100644 --- a/apps/builder/src/features/blocks/bubbles/textBubble/components/TextEditorEditorContent.tsx +++ b/apps/builder/src/features/blocks/bubbles/textBubble/components/TextEditorEditorContent.tsx @@ -15,8 +15,10 @@ import { useCallback, useEffect, useRef, useState } from 'react' import { TextEditorToolBar } from './TextEditorToolBar' import { useTranslate } from '@tolgee/react' import { PlateContent, useEditorRef } from '@udecode/plate-core' -import { focusEditor, insertText, selectEditor } from '@udecode/plate-common' import { useOutsideClick } from '@/hooks/useOutsideClick' +import { insertText } from '@udecode/slate' +import { focusEditor } from '@udecode/slate-react' +import { selectEditor } from '@udecode/plate-utils' type Props = { closeEditor: () => void diff --git a/apps/builder/src/features/blocks/bubbles/textBubble/components/plate/MarkToolbarButton.tsx b/apps/builder/src/features/blocks/bubbles/textBubble/components/plate/MarkToolbarButton.tsx index 83ccd2c51..cfd0a36fd 100644 --- a/apps/builder/src/features/blocks/bubbles/textBubble/components/plate/MarkToolbarButton.tsx +++ b/apps/builder/src/features/blocks/bubbles/textBubble/components/plate/MarkToolbarButton.tsx @@ -2,7 +2,7 @@ import React from 'react' import { useMarkToolbarButton, useMarkToolbarButtonState, -} from '@udecode/plate-common' +} from '@udecode/plate-utils' import { IconButton, IconButtonProps } from '@chakra-ui/react' type Props = { diff --git a/apps/builder/src/features/blocks/bubbles/textBubble/components/plate/PlateBlock.tsx b/apps/builder/src/features/blocks/bubbles/textBubble/components/plate/PlateBlock.tsx index 867aa5d78..8a77707bb 100644 --- a/apps/builder/src/features/blocks/bubbles/textBubble/components/plate/PlateBlock.tsx +++ b/apps/builder/src/features/blocks/bubbles/textBubble/components/plate/PlateBlock.tsx @@ -1,4 +1,4 @@ -import { TElement, TText, TDescendant } from '@udecode/plate-common' +import { TElement, TText, TDescendant } from '@udecode/slate' import { PlateText } from './PlateText' export const PlateBlock = ({ element }: { element: TElement | TText }) => { diff --git a/apps/builder/src/features/blocks/integrations/sendEmail/components/SmtpConfigForm.tsx b/apps/builder/src/features/blocks/integrations/sendEmail/components/SmtpConfigForm.tsx index c117025df..45b567f6f 100644 --- a/apps/builder/src/features/blocks/integrations/sendEmail/components/SmtpConfigForm.tsx +++ b/apps/builder/src/features/blocks/integrations/sendEmail/components/SmtpConfigForm.tsx @@ -1,7 +1,7 @@ import { TextInput, NumberInput } from '@/components/inputs' import { SwitchWithLabel } from '@/components/inputs/SwitchWithLabel' import { Stack } from '@chakra-ui/react' -import { isDefined } from '@udecode/plate-common' +import { isDefined } from '@typebot.io/lib/utils' import { SmtpCredentials } from '@typebot.io/schemas' import React from 'react' diff --git a/apps/builder/src/features/graph/components/nodes/block/BlockNode.tsx b/apps/builder/src/features/graph/components/nodes/block/BlockNode.tsx index e872e4174..510ce4fe0 100644 --- a/apps/builder/src/features/graph/components/nodes/block/BlockNode.tsx +++ b/apps/builder/src/features/graph/components/nodes/block/BlockNode.tsx @@ -42,7 +42,7 @@ import { hasDefaultConnector } from '@/features/typebot/helpers/hasDefaultConnec import { setMultipleRefs } from '@/helpers/setMultipleRefs' import { TargetEndpoint } from '../../endpoints/TargetEndpoint' import { SettingsModal } from './SettingsModal' -import { TElement } from '@udecode/plate-common' +import { TElement } from '@udecode/slate' import { LogicBlockType } from '@typebot.io/schemas/features/blocks/logic/constants' import { useGroupsStore } from '@/features/graph/hooks/useGroupsStore' import { TurnableIntoParam } from '@typebot.io/forge' diff --git a/apps/builder/src/features/publish/components/embeds/modals/FramerModal/FramerModal.tsx b/apps/builder/src/features/publish/components/embeds/modals/FramerModal/FramerModal.tsx index a19ba16b6..31b516f1a 100644 --- a/apps/builder/src/features/publish/components/embeds/modals/FramerModal/FramerModal.tsx +++ b/apps/builder/src/features/publish/components/embeds/modals/FramerModal/FramerModal.tsx @@ -1,8 +1,8 @@ import React, { useState } from 'react' import { ModalProps } from '../../EmbedButton' import { EmbedModal } from '../../EmbedModal' -import { isDefined } from '@udecode/plate-common' import { FramerInstructions } from './instructions/FramerInstructions' +import { isDefined } from '@typebot.io/lib/utils' export const FramerModal = ({ isOpen, onClose, isPublished }: ModalProps) => { const [selectedEmbedType, setSelectedEmbedType] = useState< diff --git a/apps/builder/src/features/publish/components/embeds/modals/GtmModal/GtmModal.tsx b/apps/builder/src/features/publish/components/embeds/modals/GtmModal/GtmModal.tsx index e71a0afbe..948bf5c92 100644 --- a/apps/builder/src/features/publish/components/embeds/modals/GtmModal/GtmModal.tsx +++ b/apps/builder/src/features/publish/components/embeds/modals/GtmModal/GtmModal.tsx @@ -1,8 +1,8 @@ import React, { useState } from 'react' import { ModalProps } from '../../EmbedButton' import { EmbedModal } from '../../EmbedModal' -import { isDefined } from '@udecode/plate-common' import { GtmInstructions } from './instructions/GtmInstructions' +import { isDefined } from '@typebot.io/lib/utils' export const GtmModal = ({ isOpen, diff --git a/apps/builder/src/features/publish/components/embeds/modals/Javascript/JavascriptModal.tsx b/apps/builder/src/features/publish/components/embeds/modals/Javascript/JavascriptModal.tsx index 3f3dba227..094d29a89 100644 --- a/apps/builder/src/features/publish/components/embeds/modals/Javascript/JavascriptModal.tsx +++ b/apps/builder/src/features/publish/components/embeds/modals/Javascript/JavascriptModal.tsx @@ -1,8 +1,8 @@ import React, { useState } from 'react' import { ModalProps } from '../../EmbedButton' import { EmbedModal } from '../../EmbedModal' -import { isDefined } from '@udecode/plate-common' import { JavascriptInstructions } from './instructions/JavascriptInstructions' +import { isDefined } from '@typebot.io/lib/utils' export const JavascriptModal = ({ isOpen, diff --git a/apps/builder/src/features/publish/components/embeds/modals/Nextjs/NextjsModal.tsx b/apps/builder/src/features/publish/components/embeds/modals/Nextjs/NextjsModal.tsx index ab005fa4d..8c07aebe1 100644 --- a/apps/builder/src/features/publish/components/embeds/modals/Nextjs/NextjsModal.tsx +++ b/apps/builder/src/features/publish/components/embeds/modals/Nextjs/NextjsModal.tsx @@ -1,8 +1,8 @@ import React, { useState } from 'react' import { ModalProps } from '../../EmbedButton' import { EmbedModal } from '../../EmbedModal' -import { isDefined } from '@udecode/plate-common' import { NextjsInstructions } from './instructions/NextjsInstructions' +import { isDefined } from '@typebot.io/lib/utils' export const NextjsModal = ({ isOpen, onClose, isPublished }: ModalProps) => { const [selectedEmbedType, setSelectedEmbedType] = useState< diff --git a/apps/builder/src/features/publish/components/embeds/modals/React/ReactModal.tsx b/apps/builder/src/features/publish/components/embeds/modals/React/ReactModal.tsx index e2c7f916d..8c634aa75 100644 --- a/apps/builder/src/features/publish/components/embeds/modals/React/ReactModal.tsx +++ b/apps/builder/src/features/publish/components/embeds/modals/React/ReactModal.tsx @@ -1,8 +1,8 @@ import React, { useState } from 'react' import { ModalProps } from '../../EmbedButton' import { EmbedModal } from '../../EmbedModal' -import { isDefined } from '@udecode/plate-common' import { ReactInstructions } from './instructions/ReactInstructions' +import { isDefined } from '@typebot.io/lib/utils' export const ReactModal = ({ isOpen, onClose, isPublished }: ModalProps) => { const [selectedEmbedType, setSelectedEmbedType] = useState< diff --git a/apps/builder/src/features/publish/components/embeds/modals/Script/ScriptModal.tsx b/apps/builder/src/features/publish/components/embeds/modals/Script/ScriptModal.tsx index 16a405a08..ed1058aec 100644 --- a/apps/builder/src/features/publish/components/embeds/modals/Script/ScriptModal.tsx +++ b/apps/builder/src/features/publish/components/embeds/modals/Script/ScriptModal.tsx @@ -1,8 +1,8 @@ import React, { useState } from 'react' import { ModalProps } from '../../EmbedButton' import { EmbedModal } from '../../EmbedModal' -import { isDefined } from '@udecode/plate-common' import { ScriptInstructions } from './instructions/ScriptInstructions' +import { isDefined } from '@typebot.io/lib/utils' export const ScriptModal = ({ isOpen, onClose, isPublished }: ModalProps) => { const [selectedEmbedType, setSelectedEmbedType] = useState< diff --git a/apps/builder/src/features/publish/components/embeds/modals/ShopifyModal/ShopifyModal.tsx b/apps/builder/src/features/publish/components/embeds/modals/ShopifyModal/ShopifyModal.tsx index bd6945ee3..bd186d1fd 100644 --- a/apps/builder/src/features/publish/components/embeds/modals/ShopifyModal/ShopifyModal.tsx +++ b/apps/builder/src/features/publish/components/embeds/modals/ShopifyModal/ShopifyModal.tsx @@ -1,8 +1,8 @@ import React, { useState } from 'react' import { ModalProps } from '../../EmbedButton' import { EmbedModal } from '../../EmbedModal' -import { isDefined } from '@udecode/plate-common' import { ShopifyInstructions } from './instructions/ShopifyInstructions' +import { isDefined } from '@typebot.io/lib/utils' export const ShopifyModal = ({ isOpen, diff --git a/apps/builder/src/features/publish/components/embeds/modals/WebflowModal/WebflowModal.tsx b/apps/builder/src/features/publish/components/embeds/modals/WebflowModal/WebflowModal.tsx index 9e78b0392..7290d32f5 100644 --- a/apps/builder/src/features/publish/components/embeds/modals/WebflowModal/WebflowModal.tsx +++ b/apps/builder/src/features/publish/components/embeds/modals/WebflowModal/WebflowModal.tsx @@ -1,8 +1,8 @@ import React, { useState } from 'react' import { ModalProps } from '../../EmbedButton' import { EmbedModal } from '../../EmbedModal' -import { isDefined } from '@udecode/plate-common' import { WebflowInstructions } from './instructions/WebflowInstructions' +import { isDefined } from '@typebot.io/lib/utils' export const WebflowModal = ({ isOpen, onClose, isPublished }: ModalProps) => { const [selectedEmbedType, setSelectedEmbedType] = useState< diff --git a/apps/builder/src/features/publish/components/embeds/modals/WixModal/WixModal.tsx b/apps/builder/src/features/publish/components/embeds/modals/WixModal/WixModal.tsx index fa590f4ac..7f053b0e3 100644 --- a/apps/builder/src/features/publish/components/embeds/modals/WixModal/WixModal.tsx +++ b/apps/builder/src/features/publish/components/embeds/modals/WixModal/WixModal.tsx @@ -1,8 +1,8 @@ import React, { useState } from 'react' import { ModalProps } from '../../EmbedButton' import { EmbedModal } from '../../EmbedModal' -import { isDefined } from '@udecode/plate-common' import { WixInstructions } from './instructions/WixInstructions' +import { isDefined } from '@typebot.io/lib/utils' export const WixModal = ({ isOpen, onClose, isPublished }: ModalProps) => { const [selectedEmbedType, setSelectedEmbedType] = useState< diff --git a/apps/builder/src/features/results/hooks/useLogs.ts b/apps/builder/src/features/results/hooks/useLogs.ts index 7b9f33531..38103fa08 100644 --- a/apps/builder/src/features/results/hooks/useLogs.ts +++ b/apps/builder/src/features/results/hooks/useLogs.ts @@ -1,5 +1,5 @@ import { trpc } from '@/lib/trpc' -import { isDefined } from '@udecode/plate-common' +import { isDefined } from '@typebot.io/lib/utils' export const useLogs = ( typebotId: string, diff --git a/apps/builder/src/pages/api/typebots/[typebotId]/invitations.ts b/apps/builder/src/pages/api/typebots/[typebotId]/invitations.ts index f7d614171..a71fb786f 100644 --- a/apps/builder/src/pages/api/typebots/[typebotId]/invitations.ts +++ b/apps/builder/src/pages/api/typebots/[typebotId]/invitations.ts @@ -13,7 +13,7 @@ import { notAuthenticated, } from '@typebot.io/lib/api' import { getAuthenticatedUser } from '@/features/auth/helpers/getAuthenticatedUser' -import { sendGuestInvitationEmail } from '@typebot.io/emails' +import { sendGuestInvitationEmail } from '@typebot.io/email-legacy' import { env } from '@typebot.io/env' const handler = async (req: NextApiRequest, res: NextApiResponse) => { diff --git a/apps/builder/src/pages/api/workspaces/[workspaceId]/invitations.ts b/apps/builder/src/pages/api/workspaces/[workspaceId]/invitations.ts index 8162bae47..270e21e53 100644 --- a/apps/builder/src/pages/api/workspaces/[workspaceId]/invitations.ts +++ b/apps/builder/src/pages/api/workspaces/[workspaceId]/invitations.ts @@ -7,7 +7,7 @@ import { notAuthenticated, } from '@typebot.io/lib/api' import { getAuthenticatedUser } from '@/features/auth/helpers/getAuthenticatedUser' -import { sendWorkspaceMemberInvitationEmail } from '@typebot.io/emails' +import { sendWorkspaceMemberInvitationEmail } from '@typebot.io/email-legacy' import { getSeatsLimit } from '@typebot.io/billing/getSeatsLimit' import { env } from '@typebot.io/env' diff --git a/apps/builder/tsconfig.json b/apps/builder/tsconfig.json index edafbbb8c..14fec1ff4 100644 --- a/apps/builder/tsconfig.json +++ b/apps/builder/tsconfig.json @@ -3,8 +3,22 @@ "compilerOptions": { "baseUrl": ".", "paths": { - "@/*": ["src/*"] - } + "@/*": [ + "src/*" + ] + }, + "plugins": [ + { + "name": "next" + } + ], + "strictNullChecks": true }, - "include": ["next-env.d.ts", "tolgee.d.ts", "**/*.ts", "**/*.tsx"] + "include": [ + "next-env.d.ts", + "tolgee.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts" + ] } diff --git a/apps/docs/openapi/builder.json b/apps/docs/openapi/builder.json index 00a19d87d..b7d7edce4 100644 --- a/apps/docs/openapi/builder.json +++ b/apps/docs/openapi/builder.json @@ -14532,430 +14532,6 @@ } } } - }, - "post": { - "operationId": "whatsApp-receiveMessagePreview", - "summary": "Message webhook", - "tags": [ - "WhatsApp" - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "entry": { - "type": "array", - "items": { - "type": "object", - "properties": { - "changes": { - "type": "array", - "items": { - "type": "object", - "properties": { - "value": { - "type": "object", - "properties": { - "metadata": { - "type": "object", - "properties": { - "phone_number_id": { - "type": "string" - } - }, - "required": [ - "phone_number_id" - ] - }, - "contacts": { - "type": "array", - "items": { - "type": "object", - "properties": { - "profile": { - "type": "object", - "properties": { - "name": { - "type": "string" - } - }, - "required": [ - "name" - ] - } - }, - "required": [ - "profile" - ] - } - }, - "messages": { - "type": "array", - "items": { - "oneOf": [ - { - "type": "object", - "properties": { - "from": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "text" - ] - }, - "text": { - "type": "object", - "properties": { - "body": { - "type": "string" - } - }, - "required": [ - "body" - ] - }, - "timestamp": { - "type": "string" - } - }, - "required": [ - "from", - "type", - "text", - "timestamp" - ] - }, - { - "type": "object", - "properties": { - "from": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "button" - ] - }, - "button": { - "type": "object", - "properties": { - "text": { - "type": "string" - }, - "payload": { - "type": "string" - } - }, - "required": [ - "text", - "payload" - ] - }, - "timestamp": { - "type": "string" - } - }, - "required": [ - "from", - "type", - "button", - "timestamp" - ] - }, - { - "type": "object", - "properties": { - "from": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "interactive" - ] - }, - "interactive": { - "type": "object", - "properties": { - "button_reply": { - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "title": { - "type": "string" - } - }, - "required": [ - "id", - "title" - ] - } - }, - "required": [ - "button_reply" - ] - }, - "timestamp": { - "type": "string" - } - }, - "required": [ - "from", - "type", - "interactive", - "timestamp" - ] - }, - { - "type": "object", - "properties": { - "from": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "image" - ] - }, - "image": { - "type": "object", - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ] - }, - "timestamp": { - "type": "string" - } - }, - "required": [ - "from", - "type", - "image", - "timestamp" - ] - }, - { - "type": "object", - "properties": { - "from": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "video" - ] - }, - "video": { - "type": "object", - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ] - }, - "timestamp": { - "type": "string" - } - }, - "required": [ - "from", - "type", - "video", - "timestamp" - ] - }, - { - "type": "object", - "properties": { - "from": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "audio" - ] - }, - "audio": { - "type": "object", - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ] - }, - "timestamp": { - "type": "string" - } - }, - "required": [ - "from", - "type", - "audio", - "timestamp" - ] - }, - { - "type": "object", - "properties": { - "from": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "document" - ] - }, - "document": { - "type": "object", - "properties": { - "id": { - "type": "string" - } - }, - "required": [ - "id" - ] - }, - "timestamp": { - "type": "string" - } - }, - "required": [ - "from", - "type", - "document", - "timestamp" - ] - }, - { - "type": "object", - "properties": { - "from": { - "type": "string" - }, - "type": { - "type": "string", - "enum": [ - "location" - ] - }, - "location": { - "type": "object", - "properties": { - "latitude": { - "type": "number" - }, - "longitude": { - "type": "number" - } - }, - "required": [ - "latitude", - "longitude" - ] - }, - "timestamp": { - "type": "string" - } - }, - "required": [ - "from", - "type", - "location", - "timestamp" - ] - } - ] - } - } - }, - "required": [ - "metadata" - ] - } - }, - "required": [ - "value" - ] - } - } - }, - "required": [ - "changes" - ] - } - } - }, - "required": [ - "entry" - ] - } - } - } - }, - "responses": { - "200": { - "description": "Successful response", - "content": { - "application/json": { - "schema": { - "type": "object", - "properties": { - "message": { - "type": "string" - } - }, - "required": [ - "message" - ] - } - } - } - }, - "400": { - "description": "Invalid input data", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error.BAD_REQUEST" - } - } - } - }, - "500": { - "description": "Internal server error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/error.INTERNAL_SERVER_ERROR" - } - } - } - } - } } }, "/v1/folders/{folderId}": { diff --git a/apps/docs/openapi/viewer.json b/apps/docs/openapi/viewer.json index 7010fb9ec..349c38c84 100644 --- a/apps/docs/openapi/viewer.json +++ b/apps/docs/openapi/viewer.json @@ -12473,10 +12473,18 @@ } } } + }, + "runtime": { + "type": "string", + "enum": [ + "edge", + "nodejs" + ] } }, "required": [ - "messages" + "messages", + "runtime" ] }, "lastBubbleBlockId": { @@ -12753,6 +12761,13 @@ true ] }, + "runtime": { + "type": "string", + "enum": [ + "edge", + "nodejs" + ] + }, "lastBubbleBlockId": { "type": "string" }, @@ -12762,7 +12777,8 @@ }, "required": [ "type", - "stream" + "stream", + "runtime" ], "title": "Exec stream" }, diff --git a/apps/landing-page/package.json b/apps/landing-page/package.json index 33a60ab63..640fa7a00 100644 --- a/apps/landing-page/package.json +++ b/apps/landing-page/package.json @@ -20,7 +20,7 @@ "aos": "2.3.4", "focus-visible": "5.2.0", "framer-motion": "10.12.20", - "next": "14.1.0", + "next": "14.2.1", "react": "18.2.0", "react-dom": "18.2.0", "@typebot.io/billing": "workspace:*" diff --git a/apps/viewer/api/v1/workspaces/[workspaceId]/whatsapp/[credentialsId]/webhook.ts b/apps/viewer/api/v1/workspaces/[workspaceId]/whatsapp/[credentialsId]/webhook.ts deleted file mode 100644 index b1e23e40a..000000000 --- a/apps/viewer/api/v1/workspaces/[workspaceId]/whatsapp/[credentialsId]/webhook.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { - WhatsAppWebhookRequestBody, - whatsAppWebhookRequestBodySchema, -} from '@typebot.io/schemas/features/whatsapp' -import { resumeWhatsAppFlow } from '@typebot.io/bot-engine/whatsapp/resumeWhatsAppFlow' -import { isNotDefined } from '@typebot.io/lib' -import type { RequestContext } from '@vercel/edge' - -type Props = { - entry: WhatsAppWebhookRequestBody['entry'] - workspaceId: string - credentialsId: string -} - -const processWhatsAppReply = async ({ - entry, - workspaceId, - credentialsId, -}: Props) => { - const receivedMessage = entry.at(0)?.changes.at(0)?.value.messages?.at(0) - if (isNotDefined(receivedMessage)) return { message: 'No message found' } - const contactName = - entry.at(0)?.changes.at(0)?.value?.contacts?.at(0)?.profile?.name ?? '' - const contactPhoneNumber = - entry.at(0)?.changes.at(0)?.value?.messages?.at(0)?.from ?? '' - const phoneNumberId = entry.at(0)?.changes.at(0)?.value - .metadata.phone_number_id - if (!phoneNumberId) return { message: 'No phone number id found' } - return resumeWhatsAppFlow({ - receivedMessage, - sessionId: `wa-${phoneNumberId}-${receivedMessage.from}`, - phoneNumberId, - credentialsId, - workspaceId, - contact: { - name: contactName, - phoneNumber: contactPhoneNumber, - }, - }) -} - -export async function POST(request: Request, context: RequestContext) { - const workspaceId = request.url.match(/\/workspaces\/([^/]+)\//)?.[1] - const credentialsId = request.url.match(/\/whatsapp\/([^/]+)\//)?.[1] - if (!workspaceId || !credentialsId) { - console.error('No workspace or credentials id found') - return { message: 'No workspace or credentials id found' } - } - const body = await request.json() - const { entry } = whatsAppWebhookRequestBodySchema.parse(body) - context.waitUntil(processWhatsAppReply({ entry, workspaceId, credentialsId })) - return new Response('Message is being processed.', { status: 200 }) -} diff --git a/apps/viewer/next.config.mjs b/apps/viewer/next.config.mjs index c9a76527c..1b5b88495 100644 --- a/apps/viewer/next.config.mjs +++ b/apps/viewer/next.config.mjs @@ -41,11 +41,7 @@ const landingPagePaths = [ /** @type {import('next').NextConfig} */ const nextConfig = { reactStrictMode: true, - transpilePackages: [ - '@typebot.io/lib', - '@typebot.io/schemas', - '@typebot.io/emails', - ], + transpilePackages: ['@typebot.io/lib', '@typebot.io/schemas'], output: 'standalone', experimental: { outputFileTracingRoot: join(__dirname, '../../'), diff --git a/apps/viewer/package.json b/apps/viewer/package.json index 145645e26..075a69706 100644 --- a/apps/viewer/package.json +++ b/apps/viewer/package.json @@ -21,13 +21,14 @@ "@typebot.io/js": "workspace:*", "@typebot.io/nextjs": "workspace:*", "@typebot.io/prisma": "workspace:*", + "@udecode/plate-core": "31.3.2", "ai": "3.0.12", "bot-engine": "workspace:*", "cors": "2.8.5", "google-spreadsheet": "4.1.1", "got": "12.6.0", "ky": "1.2.3", - "next": "14.1.0", + "next": "14.2.1", "nextjs-cors": "2.1.2", "nodemailer": "6.9.8", "openai": "4.28.4", @@ -40,7 +41,7 @@ "@faire/mjml-react": "3.3.0", "@paralleldrive/cuid2": "2.2.1", "@playwright/test": "1.36.0", - "@typebot.io/emails": "workspace:*", + "@typebot.io/email-legacy": "workspace:*", "@typebot.io/env": "workspace:*", "@typebot.io/forge": "workspace:*", "@typebot.io/forge-repository": "workspace:*", @@ -56,7 +57,6 @@ "@types/papaparse": "5.3.7", "@types/qs": "6.9.7", "@types/react": "18.2.15", - "@vercel/edge": "1.1.1", "dotenv": "16.4.5", "dotenv-cli": "7.2.1", "eslint": "8.44.0", diff --git a/apps/viewer/src/pages/api/typebots/[typebotId]/integrations/email.tsx b/apps/viewer/src/pages/api/typebots/[typebotId]/integrations/email.tsx index d018bf3df..a10c1d9f3 100644 --- a/apps/viewer/src/pages/api/typebots/[typebotId]/integrations/email.tsx +++ b/apps/viewer/src/pages/api/typebots/[typebotId]/integrations/email.tsx @@ -13,8 +13,7 @@ import { decrypt } from '@typebot.io/lib/api/encryption/decrypt' import Cors from 'cors' import Mail from 'nodemailer/lib/mailer' -import { DefaultBotNotificationEmail } from '@typebot.io/emails' -import { render } from '@faire/mjml-react/utils/render' +import { DefaultBotNotificationEmail, render } from '@typebot.io/email-legacy' import prisma from '@typebot.io/lib/prisma' import { env } from '@typebot.io/env' import { saveErrorLog } from '@typebot.io/bot-engine/logs/saveErrorLog' diff --git a/apps/viewer/src/pages/api/waitUntilTest.ts b/apps/viewer/src/pages/api/waitUntilTest.ts new file mode 100644 index 000000000..d2e5f3b06 --- /dev/null +++ b/apps/viewer/src/pages/api/waitUntilTest.ts @@ -0,0 +1,20 @@ +import { NextApiRequest, NextApiResponse } from 'next' +import { createPlateEditor } from '@udecode/plate-core' + +export const config = { + supportsResponseStreaming: true, +} + +export default async function handler(_: NextApiRequest, res: NextApiResponse) { + console.log(createPlateEditor()) + // eslint-disable-next-line @typescript-eslint/ban-ts-comment + // @ts-ignore + const ctx = globalThis[Symbol.for('@vercel/request-context')] + ctx.get().waitUntil(wait) + return res.status(200).send('Message is being processed.') +} + +const wait = async () => { + await new Promise((resolve) => setTimeout(resolve, 5000)) + return +} diff --git a/packages/billing/package.json b/packages/billing/package.json index fca687e88..3f73e1f56 100644 --- a/packages/billing/package.json +++ b/packages/billing/package.json @@ -8,7 +8,7 @@ }, "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "dependencies": { "@typebot.io/prisma": "workspace:*", "@typebot.io/schemas": "workspace:*", diff --git a/packages/bot-engine/blocks/integrations/sendEmail/executeSendEmailBlock.tsx b/packages/bot-engine/blocks/integrations/sendEmail/executeSendEmailBlock.tsx index 36161dd87..62985f3db 100644 --- a/packages/bot-engine/blocks/integrations/sendEmail/executeSendEmailBlock.tsx +++ b/packages/bot-engine/blocks/integrations/sendEmail/executeSendEmailBlock.tsx @@ -1,4 +1,5 @@ -import { DefaultBotNotificationEmail, render } from '@typebot.io/emails' +import { render } from '@typebot.io/emails/render' +import DefaultSendEmailNotification from '@typebot.io/emails/templates/transactional/DefaultSendEmailNotification' import { AnswerInSessionState, ChatLog, @@ -253,11 +254,11 @@ const getEmailBody = async ({ }) return { html: render( - - ).html, + ), } } diff --git a/packages/bot-engine/package.json b/packages/bot-engine/package.json index ddc968e18..392b4c272 100644 --- a/packages/bot-engine/package.json +++ b/packages/bot-engine/package.json @@ -18,7 +18,7 @@ "@typebot.io/schemas": "workspace:*", "@typebot.io/tsconfig": "workspace:*", "@typebot.io/variables": "workspace:*", - "@udecode/plate-common": "30.4.5", + "@udecode/slate": "31.0.0", "ai": "3.0.12", "chrono-node": "2.7.5", "date-fns": "2.30.0", diff --git a/packages/bot-engine/parseBubbleBlock.ts b/packages/bot-engine/parseBubbleBlock.ts index f943e1d07..095a6679c 100644 --- a/packages/bot-engine/parseBubbleBlock.ts +++ b/packages/bot-engine/parseBubbleBlock.ts @@ -11,7 +11,7 @@ import { getVariablesToParseInfoInText, parseVariables, } from '@typebot.io/variables/parseVariables' -import { TDescendant } from '@udecode/plate-common' +import { TDescendant } from '@udecode/slate' import { BubbleBlockType } from '@typebot.io/schemas/features/blocks/bubbles/constants' import { defaultVideoBubbleContent } from '@typebot.io/schemas/features/blocks/bubbles/video/constants' import { convertMarkdownToRichText } from '@typebot.io/lib/markdown/convertMarkdownToRichText' diff --git a/packages/emails/package.json b/packages/emails/package.json index e6bd1d876..9710d3808 100644 --- a/packages/emails/package.json +++ b/packages/emails/package.json @@ -1,5 +1,5 @@ { - "name": "@typebot.io/emails", + "name": "@typebot.io/email-legacy", "version": "1.0.0", "description": "", "private": true, @@ -13,7 +13,7 @@ }, "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@faire/mjml-react": "3.3.0", "@types/node": "20.4.2", diff --git a/packages/embeds/js/package.json b/packages/embeds/js/package.json index f5eb4eaba..7fb6b1fba 100644 --- a/packages/embeds/js/package.json +++ b/packages/embeds/js/package.json @@ -11,10 +11,10 @@ "lint": "eslint --fix \"src/**/*.ts*\"", "format:check": "prettier --check ./src" }, - "license": "MIT", + "license": "AGPL-3.0-or-later", "dependencies": { "@stripe/stripe-js": "1.54.1", - "@udecode/plate-common": "30.4.5", + "@udecode/slate": "31.0.0", "dompurify": "3.0.6", "ky": "1.1.3", "marked": "9.0.3", diff --git a/packages/embeds/js/src/features/blocks/bubbles/textBubble/components/plate/PlateBlock.tsx b/packages/embeds/js/src/features/blocks/bubbles/textBubble/components/plate/PlateBlock.tsx index 75ecb8d2f..e84ec58bf 100644 --- a/packages/embeds/js/src/features/blocks/bubbles/textBubble/components/plate/PlateBlock.tsx +++ b/packages/embeds/js/src/features/blocks/bubbles/textBubble/components/plate/PlateBlock.tsx @@ -1,4 +1,4 @@ -import type { TElement, TText, TDescendant } from '@udecode/plate-common' +import type { TElement, TText, TDescendant } from '@udecode/slate' import { PlateText, PlateTextProps } from './PlateText' import { For, JSXElement, Match, Switch } from 'solid-js' import { isDefined } from '@typebot.io/lib/utils' diff --git a/packages/embeds/js/src/features/blocks/bubbles/textBubble/helpers/convertRichTextToPlainText.ts b/packages/embeds/js/src/features/blocks/bubbles/textBubble/helpers/convertRichTextToPlainText.ts index e9990c5b5..413c0909c 100644 --- a/packages/embeds/js/src/features/blocks/bubbles/textBubble/helpers/convertRichTextToPlainText.ts +++ b/packages/embeds/js/src/features/blocks/bubbles/textBubble/helpers/convertRichTextToPlainText.ts @@ -1,4 +1,4 @@ -import type { TDescendant } from '@udecode/plate-common' +import type { TDescendant } from '@udecode/slate' export const computePlainText = (elements: TDescendant[]): string => elements diff --git a/packages/embeds/nextjs/package.json b/packages/embeds/nextjs/package.json index ae680c2dd..a575d8336 100644 --- a/packages/embeds/nextjs/package.json +++ b/packages/embeds/nextjs/package.json @@ -13,7 +13,7 @@ }, "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@babel/preset-react": "7.22.5", "@babel/preset-typescript": "7.22.5", diff --git a/packages/embeds/react/package.json b/packages/embeds/react/package.json index aa15451f0..d2c08a52f 100644 --- a/packages/embeds/react/package.json +++ b/packages/embeds/react/package.json @@ -15,7 +15,7 @@ }, "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "dependencies": { "@ladle/react": "2.5.1" }, diff --git a/packages/forge/blocks/anthropic/package.json b/packages/forge/blocks/anthropic/package.json index ef0934634..9d0ee6632 100644 --- a/packages/forge/blocks/anthropic/package.json +++ b/packages/forge/blocks/anthropic/package.json @@ -5,7 +5,7 @@ "main": "index.ts", "keywords": [], "author": "Enchatted P.C.", - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@typebot.io/forge": "workspace:*", "@typebot.io/lib": "workspace:*", diff --git a/packages/forge/blocks/calCom/package.json b/packages/forge/blocks/calCom/package.json index b4e4ef7f9..1cd0ac7a6 100644 --- a/packages/forge/blocks/calCom/package.json +++ b/packages/forge/blocks/calCom/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.ts", "keywords": [], - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@typebot.io/forge": "workspace:*", "@typebot.io/tsconfig": "workspace:*", diff --git a/packages/forge/blocks/chatNode/package.json b/packages/forge/blocks/chatNode/package.json index 2e697d07d..7452fdae2 100644 --- a/packages/forge/blocks/chatNode/package.json +++ b/packages/forge/blocks/chatNode/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.ts", "keywords": [], - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@typebot.io/forge": "workspace:*", "@typebot.io/lib": "workspace:*", diff --git a/packages/forge/blocks/difyAi/package.json b/packages/forge/blocks/difyAi/package.json index 2174ee540..41cdc9130 100644 --- a/packages/forge/blocks/difyAi/package.json +++ b/packages/forge/blocks/difyAi/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.ts", "keywords": [], - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@typebot.io/forge": "workspace:*", "@typebot.io/lib": "workspace:*", diff --git a/packages/forge/blocks/elevenlabs/package.json b/packages/forge/blocks/elevenlabs/package.json index f97412dc1..ca330d174 100644 --- a/packages/forge/blocks/elevenlabs/package.json +++ b/packages/forge/blocks/elevenlabs/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.ts", "keywords": [], - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@typebot.io/forge": "workspace:*", "@typebot.io/lib": "workspace:*", diff --git a/packages/forge/blocks/mistral/package.json b/packages/forge/blocks/mistral/package.json index 945555861..b00130bbe 100644 --- a/packages/forge/blocks/mistral/package.json +++ b/packages/forge/blocks/mistral/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.ts", "keywords": [], - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@typebot.io/forge": "workspace:*", "@typebot.io/lib": "workspace:*", diff --git a/packages/forge/blocks/openRouter/package.json b/packages/forge/blocks/openRouter/package.json index 6b1067b4e..195af6221 100644 --- a/packages/forge/blocks/openRouter/package.json +++ b/packages/forge/blocks/openRouter/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.ts", "keywords": [], - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@typebot.io/forge": "workspace:*", "@typebot.io/tsconfig": "workspace:*", diff --git a/packages/forge/blocks/openai/package.json b/packages/forge/blocks/openai/package.json index 5e1045712..4a871d182 100644 --- a/packages/forge/blocks/openai/package.json +++ b/packages/forge/blocks/openai/package.json @@ -5,7 +5,7 @@ "main": "index.ts", "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "dependencies": { "ai": "3.0.12", "openai": "4.28.4" diff --git a/packages/forge/blocks/qrcode/package.json b/packages/forge/blocks/qrcode/package.json index 04cc52984..4a810621a 100644 --- a/packages/forge/blocks/qrcode/package.json +++ b/packages/forge/blocks/qrcode/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.ts", "keywords": [], - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@typebot.io/forge": "workspace:*", "@typebot.io/lib": "workspace:*", @@ -16,4 +16,4 @@ "dependencies": { "qrcode": "^1.5.3" } -} \ No newline at end of file +} diff --git a/packages/forge/blocks/togetherAi/package.json b/packages/forge/blocks/togetherAi/package.json index 6c65e1a3c..3c91b3241 100644 --- a/packages/forge/blocks/togetherAi/package.json +++ b/packages/forge/blocks/togetherAi/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.ts", "keywords": [], - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@typebot.io/forge": "workspace:*", "@typebot.io/lib": "workspace:*", diff --git a/packages/forge/blocks/zemanticAi/package.json b/packages/forge/blocks/zemanticAi/package.json index 1db95535e..0a408f8a2 100644 --- a/packages/forge/blocks/zemanticAi/package.json +++ b/packages/forge/blocks/zemanticAi/package.json @@ -4,7 +4,7 @@ "description": "", "main": "index.ts", "keywords": [], - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@typebot.io/forge": "workspace:*", "@typebot.io/tsconfig": "workspace:*", diff --git a/packages/forge/cli/index.ts b/packages/forge/cli/index.ts index dd1bd9542..15328133e 100644 --- a/packages/forge/cli/index.ts +++ b/packages/forge/cli/index.ts @@ -162,7 +162,7 @@ const createPackageJson = async (path: string, { id }: { id: unknown }) => { description: '', main: 'index.ts', keywords: [], - license: 'ISC', + license: 'AGPL-3.0-or-later', devDependencies: { '@typebot.io/forge': 'workspace:*', '@typebot.io/tsconfig': 'workspace:*', diff --git a/packages/forge/cli/package.json b/packages/forge/cli/package.json index 8766f7d23..a86441e99 100644 --- a/packages/forge/cli/package.json +++ b/packages/forge/cli/package.json @@ -8,7 +8,7 @@ }, "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@clack/prompts": "^0.7.0", "@typebot.io/tsconfig": "workspace:*", diff --git a/packages/forge/core/package.json b/packages/forge/core/package.json index 173ff867c..31231a309 100644 --- a/packages/forge/core/package.json +++ b/packages/forge/core/package.json @@ -5,7 +5,7 @@ "main": "index.ts", "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "dependencies": { "zod": "3.22.4" }, diff --git a/packages/forge/repository/package.json b/packages/forge/repository/package.json index 9e10c1c1f..779a0845b 100644 --- a/packages/forge/repository/package.json +++ b/packages/forge/repository/package.json @@ -4,7 +4,7 @@ "description": "", "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "devDependencies": { "@typebot.io/forge": "workspace:*", "@typebot.io/openai-block": "workspace:*", diff --git a/packages/lib/markdown/convertMarkdownToRichText.ts b/packages/lib/markdown/convertMarkdownToRichText.ts index 699a20c1b..f91a81340 100644 --- a/packages/lib/markdown/convertMarkdownToRichText.ts +++ b/packages/lib/markdown/convertMarkdownToRichText.ts @@ -2,9 +2,9 @@ import { createPlateEditor, createPluginFactory, getPluginOptions, - isUrl, - Value, -} from '@udecode/plate-common' +} from '@udecode/plate-core' +import { Value } from '@udecode/slate' +import { isUrl } from '@udecode/utils' import markdown from 'remark-parse' import { unified } from 'unified' diff --git a/packages/lib/markdown/convertRichTextToMarkdown.ts b/packages/lib/markdown/convertRichTextToMarkdown.ts index 6123fbb11..cbded9ee8 100644 --- a/packages/lib/markdown/convertRichTextToMarkdown.ts +++ b/packages/lib/markdown/convertRichTextToMarkdown.ts @@ -1,6 +1,6 @@ -import { TElement } from '@udecode/plate-common' import serialize from './serializer/serialize' import { defaultNodeTypes } from './serializer/ast-types' +import { TElement } from '@udecode/slate' export const convertRichTextToMarkdown = ( richText: TElement[], diff --git a/packages/lib/markdown/deserializer/deserialize.ts b/packages/lib/markdown/deserializer/deserialize.ts index b5b304240..ac1aae8e0 100644 --- a/packages/lib/markdown/deserializer/deserialize.ts +++ b/packages/lib/markdown/deserializer/deserialize.ts @@ -1,4 +1,5 @@ -import { getPluginOptions, PlateEditor, Value } from '@udecode/plate-common' +import { Value } from '@udecode/slate' +import { getPluginOptions, PlateEditor } from '@udecode/plate-core' import markdown from 'remark-parse' import { unified } from 'unified' diff --git a/packages/lib/markdown/deserializer/types.ts b/packages/lib/markdown/deserializer/types.ts index bcfbe690e..502493b3e 100644 --- a/packages/lib/markdown/deserializer/types.ts +++ b/packages/lib/markdown/deserializer/types.ts @@ -1,4 +1,4 @@ -import { Value } from '@udecode/plate-common' +import { Value } from '@udecode/slate' import { RemarkElementRules, RemarkTextRules } from '../remark-slate/types' export interface DeserializeMdPlugin { diff --git a/packages/lib/markdown/remark-slate/remarkDefaultElementRules.ts b/packages/lib/markdown/remark-slate/remarkDefaultElementRules.ts index 86876adbb..958048c0c 100644 --- a/packages/lib/markdown/remark-slate/remarkDefaultElementRules.ts +++ b/packages/lib/markdown/remark-slate/remarkDefaultElementRules.ts @@ -3,13 +3,8 @@ import { ELEMENT_CODE_BLOCK, ELEMENT_CODE_LINE, } from '@udecode/plate-code-block' -import { - getPluginType, - TDescendant, - TElement, - TText, - Value, -} from '@udecode/plate-common' +import { TDescendant, TElement, TText, Value } from '@udecode/slate' +import { getPluginType } from '@udecode/plate-core' import { ELEMENT_H1, ELEMENT_H2, diff --git a/packages/lib/markdown/remark-slate/remarkDefaultTextRules.ts b/packages/lib/markdown/remark-slate/remarkDefaultTextRules.ts index c695a0600..1bb113cd0 100644 --- a/packages/lib/markdown/remark-slate/remarkDefaultTextRules.ts +++ b/packages/lib/markdown/remark-slate/remarkDefaultTextRules.ts @@ -1,5 +1,6 @@ import { MARK_BOLD, MARK_CODE, MARK_ITALIC } from '@udecode/plate-basic-marks' -import { getPluginType, Value } from '@udecode/plate-common' +import { Value } from '@udecode/slate' +import { getPluginType } from '@udecode/plate-core' import { RemarkTextRules } from './types' diff --git a/packages/lib/markdown/remark-slate/remarkPlugin.ts b/packages/lib/markdown/remark-slate/remarkPlugin.ts index c9b620fa3..cb5a80dc5 100644 --- a/packages/lib/markdown/remark-slate/remarkPlugin.ts +++ b/packages/lib/markdown/remark-slate/remarkPlugin.ts @@ -1,4 +1,4 @@ -import { Value } from '@udecode/plate-common' +import { Value } from '@udecode/slate' import { remarkTransformNode } from './remarkTransformNode' import { MdastNode, RemarkPluginOptions } from './types' diff --git a/packages/lib/markdown/remark-slate/remarkTransformElement.ts b/packages/lib/markdown/remark-slate/remarkTransformElement.ts index 07a85351e..f068e42fa 100644 --- a/packages/lib/markdown/remark-slate/remarkTransformElement.ts +++ b/packages/lib/markdown/remark-slate/remarkTransformElement.ts @@ -1,4 +1,4 @@ -import { TElement, Value } from '@udecode/plate-common' +import { TElement, Value } from '@udecode/slate' import { MdastNode, RemarkPluginOptions } from './types' diff --git a/packages/lib/markdown/remark-slate/remarkTransformElementChildren.ts b/packages/lib/markdown/remark-slate/remarkTransformElementChildren.ts index 3df11a0e9..f490e025e 100644 --- a/packages/lib/markdown/remark-slate/remarkTransformElementChildren.ts +++ b/packages/lib/markdown/remark-slate/remarkTransformElementChildren.ts @@ -1,4 +1,4 @@ -import { TDescendant, Value } from '@udecode/plate-common' +import { TDescendant, Value } from '@udecode/slate' import { remarkTransformNode } from './remarkTransformNode' import { MdastNode, RemarkPluginOptions } from './types' diff --git a/packages/lib/markdown/remark-slate/remarkTransformNode.ts b/packages/lib/markdown/remark-slate/remarkTransformNode.ts index c7234c146..971656f58 100644 --- a/packages/lib/markdown/remark-slate/remarkTransformNode.ts +++ b/packages/lib/markdown/remark-slate/remarkTransformNode.ts @@ -1,4 +1,4 @@ -import { TDescendant, Value } from '@udecode/plate-common' +import { TDescendant, Value } from '@udecode/slate' import { remarkTextTypes } from './remarkTextTypes' import { remarkTransformElement } from './remarkTransformElement' diff --git a/packages/lib/markdown/remark-slate/remarkTransformText.ts b/packages/lib/markdown/remark-slate/remarkTransformText.ts index c78234405..8f19d2d00 100644 --- a/packages/lib/markdown/remark-slate/remarkTransformText.ts +++ b/packages/lib/markdown/remark-slate/remarkTransformText.ts @@ -1,4 +1,4 @@ -import { TText, Value } from '@udecode/plate-common' +import { TText, Value } from '@udecode/slate' import { remarkDefaultTextRules } from './remarkDefaultTextRules' import { MdastNode, RemarkPluginOptions } from './types' diff --git a/packages/lib/markdown/remark-slate/types.ts b/packages/lib/markdown/remark-slate/types.ts index 4f0e19b7b..92cafd2f2 100644 --- a/packages/lib/markdown/remark-slate/types.ts +++ b/packages/lib/markdown/remark-slate/types.ts @@ -1,4 +1,5 @@ -import { PlateEditor, TElement, Value } from '@udecode/plate-common' +import { TElement, Value } from '@udecode/slate' +import { PlateEditor } from '@udecode/plate-core' export type MdastElementType = | 'paragraph' diff --git a/packages/lib/package.json b/packages/lib/package.json index 52f188f90..a6629d7ba 100644 --- a/packages/lib/package.json +++ b/packages/lib/package.json @@ -14,7 +14,7 @@ "@types/escape-html": "^1.0.4", "@types/nodemailer": "6.4.8", "@types/validator": "13.11.9", - "next": "14.1.0", + "next": "14.2.1", "nodemailer": "6.9.8", "tslib": "2.6.0", "typescript": "5.3.2" @@ -26,16 +26,18 @@ "dependencies": { "@sentry/nextjs": "7.77.0", "@trpc/server": "10.40.0", - "@udecode/plate-basic-marks": "30.5.3", - "@udecode/plate-block-quote": "30.5.3", - "@udecode/plate-code-block": "30.7.0", - "@udecode/plate-common": "30.4.5", - "@udecode/plate-heading": "30.5.3", - "@udecode/plate-horizontal-rule": "30.5.3", - "@udecode/plate-link": "30.5.3", - "@udecode/plate-list": "30.5.3", - "@udecode/plate-media": "30.5.3", - "@udecode/plate-paragraph": "30.5.3", + "@udecode/plate-basic-marks": "31.0.0", + "@udecode/plate-block-quote": "31.0.0", + "@udecode/plate-code-block": "31.3.4", + "@udecode/plate-core": "31.3.2", + "@udecode/plate-heading": "31.0.0", + "@udecode/plate-horizontal-rule": "31.0.0", + "@udecode/plate-link": "31.0.0", + "@udecode/plate-list": "31.1.3", + "@udecode/plate-media": "31.0.0", + "@udecode/plate-paragraph": "31.0.0", + "@udecode/slate": "31.0.0", + "@udecode/utils": "31.0.0", "escape-html": "1.0.3", "google-auth-library": "8.9.0", "ky": "1.2.3", diff --git a/packages/migrations/package.json b/packages/migrations/package.json index a238e0ec0..f19cde1ff 100644 --- a/packages/migrations/package.json +++ b/packages/migrations/package.json @@ -5,7 +5,7 @@ "scripts": {}, "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "dependencies": { "@typebot.io/schemas": "workspace:*", "@typebot.io/lib": "workspace:*", diff --git a/packages/playwright/package.json b/packages/playwright/package.json index c5778293b..a3dc2d5a5 100644 --- a/packages/playwright/package.json +++ b/packages/playwright/package.json @@ -5,7 +5,7 @@ "scripts": {}, "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "dependencies": { "@playwright/test": "^1.42.1", "@typebot.io/lib": "workspace:*", diff --git a/packages/radar/package.json b/packages/radar/package.json index ec0ce7bad..923b5f2db 100644 --- a/packages/radar/package.json +++ b/packages/radar/package.json @@ -6,7 +6,7 @@ "license": "AGPL-3.0-or-later", "private": true, "dependencies": { - "@udecode/plate-common": "30.4.5" + "@udecode/slate": "31.0.0" }, "devDependencies": { "@typebot.io/schemas": "workspace:*", diff --git a/packages/results/package.json b/packages/results/package.json index 719100746..86f2ae0e4 100644 --- a/packages/results/package.json +++ b/packages/results/package.json @@ -5,7 +5,7 @@ "scripts": {}, "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "dependencies": { "@typebot.io/schemas": "workspace:*", "@typebot.io/lib": "workspace:*", diff --git a/packages/schemas/features/blocks/bubbles/text/schema.ts b/packages/schemas/features/blocks/bubbles/text/schema.ts index 5922d7c47..f5c07891e 100644 --- a/packages/schemas/features/blocks/bubbles/text/schema.ts +++ b/packages/schemas/features/blocks/bubbles/text/schema.ts @@ -1,5 +1,5 @@ import { z } from '../../../../zod' -import type { TElement } from '@udecode/plate-common' +import type { TElement } from '@udecode/slate' import { blockBaseSchema } from '../../shared' import { BubbleBlockType } from '../constants' diff --git a/packages/schemas/package.json b/packages/schemas/package.json index 5f4465819..81c6f3aa6 100644 --- a/packages/schemas/package.json +++ b/packages/schemas/package.json @@ -6,7 +6,7 @@ "license": "AGPL-3.0-or-later", "private": true, "dependencies": { - "@udecode/plate-common": "30.4.5", + "@udecode/slate": "31.0.0", "zod": "3.22.4", "zod-openapi": "^2.11.0" }, diff --git a/packages/scripts/checkAndReportChatsUsage.ts b/packages/scripts/checkAndReportChatsUsage.ts index 46a880601..1e31fc2ad 100644 --- a/packages/scripts/checkAndReportChatsUsage.ts +++ b/packages/scripts/checkAndReportChatsUsage.ts @@ -3,7 +3,7 @@ import { isDefined, isEmpty } from '@typebot.io/lib' import { getChatsLimit } from '@typebot.io/billing/getChatsLimit' import { promptAndSetEnvironment } from './utils' import { Workspace } from '@typebot.io/schemas' -import { sendAlmostReachedChatsLimitEmail } from '@typebot.io/emails/src/emails/AlmostReachedChatsLimitEmail' +import { sendAlmostReachedChatsLimitEmail } from '@typebot.io/email-legacy/src/emails/AlmostReachedChatsLimitEmail' import { TelemetryEvent } from '@typebot.io/schemas/features/telemetry' import { trackEvents } from '@typebot.io/telemetry/trackEvents' import Stripe from 'stripe' diff --git a/packages/scripts/package.json b/packages/scripts/package.json index 7cc2d54cc..2c766270e 100644 --- a/packages/scripts/package.json +++ b/packages/scripts/package.json @@ -33,7 +33,7 @@ "deleteChatSession": "tsx deleteChatSession.ts" }, "devDependencies": { - "@typebot.io/emails": "workspace:*", + "@typebot.io/email-legacy": "workspace:*", "@typebot.io/lib": "workspace:*", "@typebot.io/prisma": "workspace:*", "@typebot.io/schemas": "workspace:*", diff --git a/packages/telemetry/package.json b/packages/telemetry/package.json index b836b2757..41fa6cdcb 100644 --- a/packages/telemetry/package.json +++ b/packages/telemetry/package.json @@ -5,7 +5,7 @@ "scripts": {}, "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "dependencies": { "@typebot.io/schemas": "workspace:*", "ky": "1.2.3", diff --git a/packages/theme/package.json b/packages/theme/package.json index c9caec17a..b5ed84a22 100644 --- a/packages/theme/package.json +++ b/packages/theme/package.json @@ -5,7 +5,7 @@ "scripts": {}, "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "dependencies": { "@typebot.io/schemas": "workspace:*", "@typebot.io/lib": "workspace:*" diff --git a/packages/transactional/package.json b/packages/transactional/package.json index e195806a3..c2530abca 100644 --- a/packages/transactional/package.json +++ b/packages/transactional/package.json @@ -1,5 +1,5 @@ { - "name": "transactional", + "name": "@typebot.io/emails", "version": "1.0.0", "description": "", "scripts": { @@ -7,13 +7,15 @@ }, "keywords": [], "author": "Baptiste Arnaud", - "license": "ISC", + "license": "AGPL-3.0-or-later", "dependencies": { - "@react-email/components": "0.0.14", - "react-email": "2.0.0", - "@typebot.io/env": "workspace:*" + "@react-email/components": "0.0.16", + "@react-email/render": "0.0.12", + "@typebot.io/env": "workspace:*", + "react-email": "2.1.1" }, "devDependencies": { + "@typebot.io/tsconfig": "workspace:^", "dotenv-cli": "7.2.1" } } diff --git a/packages/transactional/render.ts b/packages/transactional/render.ts new file mode 100644 index 000000000..91c67034e --- /dev/null +++ b/packages/transactional/render.ts @@ -0,0 +1 @@ +export { render } from '@react-email/render' diff --git a/packages/transactional/templates/marketing/V2dot22Update.tsx b/packages/transactional/templates/marketing/V2dot22Update.tsx index 8c7569f0d..753f48010 100644 --- a/packages/transactional/templates/marketing/V2dot22Update.tsx +++ b/packages/transactional/templates/marketing/V2dot22Update.tsx @@ -12,7 +12,6 @@ import { Button, Section, } from '@react-email/components' -import * as React from 'react' import { env } from '@typebot.io/env' import { main, diff --git a/packages/transactional/templates/marketing/V2dot23Update.tsx b/packages/transactional/templates/marketing/V2dot23Update.tsx index 955ce6cfa..908e03186 100644 --- a/packages/transactional/templates/marketing/V2dot23Update.tsx +++ b/packages/transactional/templates/marketing/V2dot23Update.tsx @@ -9,10 +9,8 @@ import { Text, Hr, Heading, - Button, Section, } from '@react-email/components' -import * as React from 'react' import { env } from '@typebot.io/env' import { main, diff --git a/packages/transactional/templates/marketing/V2dot24Update.tsx b/packages/transactional/templates/marketing/V2dot24Update.tsx index c7ef311a8..262cc896f 100644 --- a/packages/transactional/templates/marketing/V2dot24Update.tsx +++ b/packages/transactional/templates/marketing/V2dot24Update.tsx @@ -11,7 +11,6 @@ import { Heading, Section, } from '@react-email/components' -import * as React from 'react' import { env } from '@typebot.io/env' import { main, diff --git a/packages/transactional/templates/transactional/DefaultSendEmailNotification.tsx b/packages/transactional/templates/transactional/DefaultSendEmailNotification.tsx new file mode 100644 index 000000000..440d7b038 --- /dev/null +++ b/packages/transactional/templates/transactional/DefaultSendEmailNotification.tsx @@ -0,0 +1,89 @@ +import { + Body, + Button, + Container, + Head, + Html, + Link, + Text, +} from '@react-email/components' + +const emailRegex = + /^(([^<>()[\]\\.,;:\s@"]+(\.[^<>()[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/ + +type Props = { + resultsUrl: string + answers: { [key: string]: string } +} + +const DefaultSendEmailNotification = ({ resultsUrl, answers }: Props) => ( + + + + + {Object.keys(answers).map((key, index) => { + const isEmail = emailRegex.test(answers[key]) + + return ( + + {key}:{' '} + {isEmail ? ( + {answers[key]} + ) : answers[key].includes('\n') ? ( + answers[key].split('\n').map((line) => ( + <> + {line} +
+ + )) + ) : ( + answers[key] + )} +
+ ) + })} + +
+ + +) + +const body = { + fontFamily: + "-apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen', 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue', sans-serif", +} + +const container = { + maxWidth: '600px', + margin: '0 auto', + padding: '20px 30px', + border: '1px solid #eaeaea', +} + +const goToResultsButton = { + backgroundColor: '#0042DA', + padding: '10px 24px', + borderRadius: '6px', + color: 'white', +} + +const firstEntry = { + margin: '0 0 24x 0', +} + +const entry = { + margin: '24px 0', +} + +DefaultSendEmailNotification.PreviewProps = { + resultsUrl: 'http://localhost:3000', + answers: { + Name: 'John Doe', + Email: 'baptiste@typebot.io', + 'Additional information': 'I have a question about your product.', + }, +} satisfies Props + +export default DefaultSendEmailNotification diff --git a/packages/transactional/templates/transactional/MagicLink.tsx b/packages/transactional/templates/transactional/MagicLink.tsx index 0e8894d34..056959a9d 100644 --- a/packages/transactional/templates/transactional/MagicLink.tsx +++ b/packages/transactional/templates/transactional/MagicLink.tsx @@ -9,7 +9,6 @@ import { Preview, Text, } from '@react-email/components' -import * as React from 'react' import { env } from '@typebot.io/env' interface Props { diff --git a/packages/transactional/tsconfig.json b/packages/transactional/tsconfig.json new file mode 100644 index 000000000..667b8506d --- /dev/null +++ b/packages/transactional/tsconfig.json @@ -0,0 +1,9 @@ +{ + "extends": "@typebot.io/tsconfig/base.json", + "include": ["**/*.ts", "**/*.tsx"], + "exclude": ["dist", "node_modules"], + "compilerOptions": { + "jsx": "preserve", + "lib": ["ESNext"] + } +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 1cb646425..d40fc268c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -82,7 +82,7 @@ importers: version: 2.2.1 '@sentry/nextjs': specifier: 7.77.0 - version: 7.77.0(next@14.1.0)(react@18.2.0) + version: 7.77.0(next@14.2.1)(react@18.2.0) '@tanstack/react-query': specifier: 4.29.19 version: 4.29.19(react-dom@18.2.0)(react@18.2.0) @@ -100,7 +100,7 @@ importers: version: 10.40.0(@trpc/server@10.40.0) '@trpc/next': specifier: 10.40.0 - version: 10.40.0(@tanstack/react-query@4.29.19)(@trpc/client@10.40.0)(@trpc/react-query@10.40.0)(@trpc/server@10.40.0)(next@14.1.0)(react-dom@18.2.0)(react@18.2.0) + version: 10.40.0(@tanstack/react-query@4.29.19)(@trpc/client@10.40.0)(@trpc/react-query@10.40.0)(@trpc/server@10.40.0)(next@14.2.1)(react-dom@18.2.0)(react@18.2.0) '@trpc/react-query': specifier: 10.40.0 version: 10.40.0(@tanstack/react-query@4.29.19)(@trpc/client@10.40.0)(@trpc/server@10.40.0)(react-dom@18.2.0)(react@18.2.0) @@ -110,7 +110,7 @@ importers: '@typebot.io/bot-engine': specifier: workspace:* version: link:../../packages/bot-engine - '@typebot.io/emails': + '@typebot.io/email-legacy': specifier: workspace:* version: link:../../packages/emails '@typebot.io/env': @@ -126,23 +126,29 @@ importers: specifier: workspace:* version: link:../../packages/theme '@udecode/cn': - specifier: 29.0.1 - version: 29.0.1(@types/react@18.2.15)(class-variance-authority@0.7.0)(react-dom@18.2.0)(react@18.2.0)(tailwind-merge@2.2.1) + specifier: 31.0.0 + version: 31.0.0(@types/react@18.2.15)(class-variance-authority@0.7.0)(react-dom@18.2.0)(react@18.2.0)(tailwind-merge@2.2.1) '@udecode/plate-basic-marks': - specifier: 30.5.3 - version: 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/plate-common': - specifier: 30.4.5 - version: 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.0.0 + version: 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-core': - specifier: 30.4.5 - version: 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.3.2 + version: 31.3.2(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-floating': - specifier: 30.5.3 - version: 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.0.0 + version: 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-link': - specifier: 30.5.3 - version: 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.0.0 + version: 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-utils': + specifier: 31.0.0 + version: 31.0.0(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate': + specifier: 31.0.0 + version: 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': + specifier: 31.0.0 + version: 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@uiw/codemirror-extensions-langs': specifier: 4.21.24 version: 4.21.24(@codemirror/autocomplete@6.14.0)(@codemirror/language-data@6.4.1)(@codemirror/language@6.10.1)(@codemirror/legacy-modes@6.3.3)(@codemirror/state@6.4.1)(@codemirror/view@6.25.1)(@lezer/common@1.2.1)(@lezer/highlight@1.2.0)(@lezer/javascript@1.4.13)(@lezer/lr@1.4.0) @@ -213,14 +219,14 @@ importers: specifier: 0.1.1 version: 0.1.1 next: - specifier: 14.1.0 - version: 14.1.0(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.1 + version: 14.2.1(@playwright/test@1.41.2)(react-dom@18.2.0)(react@18.2.0) next-auth: specifier: 4.22.1 - version: 4.22.1(next@14.1.0)(nodemailer@6.9.8)(react-dom@18.2.0)(react@18.2.0) + version: 4.22.1(next@14.2.1)(nodemailer@6.9.8)(react-dom@18.2.0)(react@18.2.0) nextjs-cors: specifier: 2.1.2 - version: 2.1.2(next@14.1.0) + version: 2.1.2(next@14.2.1) nodemailer: specifier: 6.9.8 version: 6.9.8 @@ -354,9 +360,6 @@ importers: '@types/tinycolor2': specifier: 1.4.3 version: 1.4.3 - '@vercel/edge': - specifier: 1.1.1 - version: 1.1.1 dotenv-cli: specifier: 7.2.1 version: 7.2.1 @@ -497,8 +500,8 @@ importers: specifier: 10.12.20 version: 10.12.20(react-dom@18.2.0)(react@18.2.0) next: - specifier: 14.1.0 - version: 14.1.0(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.1 + version: 14.2.1(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) react: specifier: 18.2.0 version: 18.2.0 @@ -568,7 +571,7 @@ importers: version: 1.8.0 '@sentry/nextjs': specifier: 7.77.0 - version: 7.77.0(next@14.1.0)(react@18.2.0) + version: 7.77.0(next@14.2.1)(react@18.2.0) '@trpc/server': specifier: 10.40.0 version: 10.40.0 @@ -584,6 +587,9 @@ importers: '@typebot.io/prisma': specifier: workspace:* version: link:../../packages/prisma + '@udecode/plate-core': + specifier: 31.3.2 + version: 31.3.2(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) ai: specifier: 3.0.12 version: 3.0.12(react@18.2.0)(solid-js@1.7.8)(svelte@4.2.12)(vue@3.4.21)(zod@3.22.4) @@ -603,11 +609,11 @@ importers: specifier: 1.2.3 version: 1.2.3 next: - specifier: 14.1.0 - version: 14.1.0(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.1 + version: 14.2.1(@playwright/test@1.36.0)(react-dom@18.2.0)(react@18.2.0) nextjs-cors: specifier: 2.1.2 - version: 2.1.2(next@14.1.0) + version: 2.1.2(next@14.2.1) nodemailer: specifier: 6.9.8 version: 6.9.8 @@ -636,7 +642,7 @@ importers: '@playwright/test': specifier: 1.36.0 version: 1.36.0 - '@typebot.io/emails': + '@typebot.io/email-legacy': specifier: workspace:* version: link:../../packages/emails '@typebot.io/env': @@ -684,9 +690,6 @@ importers: '@types/react': specifier: 18.2.15 version: 18.2.15 - '@vercel/edge': - specifier: 1.1.1 - version: 1.1.1 dotenv: specifier: 16.4.5 version: 16.4.5 @@ -744,13 +747,13 @@ importers: version: 1.8.0 '@sentry/nextjs': specifier: 7.77.0 - version: 7.77.0(next@14.1.0)(react@18.2.0) + version: 7.77.0(next@14.2.1)(react@18.2.0) '@trpc/server': specifier: 10.40.0 version: 10.40.0 '@typebot.io/emails': specifier: workspace:* - version: link:../emails + version: link:../transactional '@typebot.io/env': specifier: workspace:* version: link:../env @@ -772,9 +775,9 @@ importers: '@typebot.io/variables': specifier: workspace:* version: link:../variables - '@udecode/plate-common': - specifier: 30.4.5 - version: 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate': + specifier: 31.0.0 + version: 31.0.0(slate-history@0.100.0)(slate@0.102.0) ai: specifier: 3.0.12 version: 3.0.12(react@18.2.0)(solid-js@1.7.8)(svelte@4.2.12)(vue@3.4.21)(zod@3.22.4) @@ -1011,9 +1014,9 @@ importers: '@stripe/stripe-js': specifier: 1.54.1 version: 1.54.1 - '@udecode/plate-common': - specifier: 30.4.5 - version: 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate': + specifier: 31.0.0 + version: 31.0.0(slate-history@0.100.0)(slate@0.102.0) dompurify: specifier: 3.0.6 version: 3.0.6 @@ -1620,40 +1623,46 @@ importers: dependencies: '@sentry/nextjs': specifier: 7.77.0 - version: 7.77.0(next@14.1.0)(react@18.2.0) + version: 7.77.0(next@14.2.1)(react@18.2.0) '@trpc/server': specifier: 10.40.0 version: 10.40.0 '@udecode/plate-basic-marks': - specifier: 30.5.3 - version: 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.0.0 + version: 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-block-quote': - specifier: 30.5.3 - version: 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.0.0 + version: 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-code-block': - specifier: 30.7.0 - version: 30.7.0(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/plate-common': - specifier: 30.4.5 - version: 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.3.4 + version: 31.3.4(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-core': + specifier: 31.3.2 + version: 31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-heading': - specifier: 30.5.3 - version: 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.0.0 + version: 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-horizontal-rule': - specifier: 30.5.3 - version: 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.0.0 + version: 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-link': - specifier: 30.5.3 - version: 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.0.0 + version: 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-list': - specifier: 30.5.3 - version: 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.1.3 + version: 31.1.3(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-media': - specifier: 30.5.3 - version: 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.0.0 + version: 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) '@udecode/plate-paragraph': - specifier: 30.5.3 - version: 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + specifier: 31.0.0 + version: 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate': + specifier: 31.0.0 + version: 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': + specifier: 31.0.0 + version: 31.0.0 escape-html: specifier: 1.0.3 version: 1.0.3 @@ -1710,8 +1719,8 @@ importers: specifier: 13.11.9 version: 13.11.9 next: - specifier: 14.1.0 - version: 14.1.0(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) + specifier: 14.2.1 + version: 14.2.1(@playwright/test@1.36.0)(react-dom@18.2.0)(react@18.2.0) nodemailer: specifier: 6.9.8 version: 6.9.8 @@ -1787,9 +1796,9 @@ importers: packages/radar: dependencies: - '@udecode/plate-common': - specifier: 30.4.5 - version: 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate': + specifier: 31.0.0 + version: 31.0.0(slate-history@0.100.0)(slate@0.102.0) devDependencies: '@typebot.io/env': specifier: workspace:* @@ -1825,9 +1834,9 @@ importers: packages/schemas: dependencies: - '@udecode/plate-common': - specifier: 30.4.5 - version: 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate': + specifier: 31.0.0 + version: 31.0.0(slate-history@0.100.0)(slate@0.102.0) zod: specifier: 3.22.4 version: 3.22.4 @@ -1872,7 +1881,7 @@ importers: specifier: 5.4.1 version: 5.4.1 devDependencies: - '@typebot.io/emails': + '@typebot.io/email-legacy': specifier: workspace:* version: link:../emails '@typebot.io/lib': @@ -1949,15 +1958,21 @@ importers: packages/transactional: dependencies: '@react-email/components': - specifier: 0.0.14 - version: 0.0.14(@types/react@18.2.15)(react@18.2.0) + specifier: 0.0.16 + version: 0.0.16(@types/react@18.2.15)(react@18.2.0) + '@react-email/render': + specifier: 0.0.12 + version: 0.0.12 '@typebot.io/env': specifier: workspace:* version: link:../env react-email: - specifier: 2.0.0 - version: 2.0.0(eslint@8.44.0) + specifier: 2.1.1 + version: 2.1.1(eslint@8.44.0) devDependencies: + '@typebot.io/tsconfig': + specifier: workspace:^ + version: link:../tsconfig dotenv-cli: specifier: 7.2.1 version: 7.2.1 @@ -2342,6 +2357,14 @@ packages: dependencies: '@babel/types': 7.24.0 + /@babel/parser@7.24.1: + resolution: {integrity: sha512-Zo9c7N3xdOIQrNip7Lc9wvRPzlRtovHVE4lkz8WEDr7uYh/GMQhSiIgFxGIArRHYdJE5kxtZjAf8rT0xhdLCzg==} + engines: {node: '>=6.0.0'} + hasBin: true + dependencies: + '@babel/types': 7.24.0 + dev: false + /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@7.23.3(@babel/core@7.22.9): resolution: {integrity: sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==} engines: {node: '>=6.9.0'} @@ -7485,12 +7508,12 @@ packages: zod-to-json-schema: 3.22.4(zod@3.22.4) dev: true - /@next/env@14.0.5-canary.46: - resolution: {integrity: sha512-dvNzrArTfe3VY1VIscpb3E2e7SZ1qwFe82WGzpOVbxilT3JcsnVGYF/uq8Jj1qKWPI5C/aePNXwA97JRNAXpRQ==} - dev: false - /@next/env@14.1.0: resolution: {integrity: sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==} + dev: false + + /@next/env@14.2.1: + resolution: {integrity: sha512-qsHJle3GU3CmVx7pUoXcghX4sRN+vINkbLdH611T8ZlsP//grzqVW87BSUgOZeSAD4q7ZdZicdwNe/20U2janA==} /@next/eslint-plugin-next@13.4.9: resolution: {integrity: sha512-nDtGpa992tNyAkT/KmSMy7QkHfNZmGCBYhHtafU97DubqxzNdvLsqRtliQ4FU04CysRCtvP2hg8rRC1sAKUTUA==} @@ -7498,30 +7521,21 @@ packages: glob: 7.1.7 dev: false - /@next/swc-darwin-arm64@14.0.5-canary.46: - resolution: {integrity: sha512-7Bq9rjWl4sq70Zkn6h6mn8/tgYTH2SQ8lIm8b/j1MAnTiJYyVBLapu//gT/cgtqx6y8SwSc2JNviBue35zeCNw==} - engines: {node: '>= 10'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: false - optional: true - /@next/swc-darwin-arm64@14.1.0: resolution: {integrity: sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] requiresBuild: true + dev: false optional: true - /@next/swc-darwin-x64@14.0.5-canary.46: - resolution: {integrity: sha512-3oI8rDVBZsfkTdqXwtRjxA85o0RIjZv9uuOLohfaIuFP3oZnCM0dRZREP2umYcFQRxdavW+TDJzYcqzKxYTujA==} + /@next/swc-darwin-arm64@14.2.1: + resolution: {integrity: sha512-kGjnjcIJehEcd3rT/3NAATJQndAEELk0J9GmGMXHSC75TMnvpOhONcjNHbjtcWE5HUQnIHy5JVkatrnYm1QhVw==} engines: {node: '>= 10'} - cpu: [x64] + cpu: [arm64] os: [darwin] requiresBuild: true - dev: false optional: true /@next/swc-darwin-x64@14.1.0: @@ -7530,15 +7544,15 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: false optional: true - /@next/swc-linux-arm64-gnu@14.0.5-canary.46: - resolution: {integrity: sha512-gXSS328bUWxBwQfeDFROOzFSzzoyX1075JxOeArLl63sV59cbnRrwHHhD4CWG1bYYzcHxHfVugZgvyCucaHCIw==} + /@next/swc-darwin-x64@14.2.1: + resolution: {integrity: sha512-dAdWndgdQi7BK2WSXrx4lae7mYcOYjbHJUhvOUnJjMNYrmYhxbbvJ2xElZpxNxdfA6zkqagIB9He2tQk+l16ew==} engines: {node: '>= 10'} - cpu: [arm64] - os: [linux] + cpu: [x64] + os: [darwin] requiresBuild: true - dev: false optional: true /@next/swc-linux-arm64-gnu@14.1.0: @@ -7547,15 +7561,15 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: false optional: true - /@next/swc-linux-arm64-musl@14.0.5-canary.46: - resolution: {integrity: sha512-7QkBRKlDsjaWGbfIKh6qJK0HiHJISNGoKpwFTcnZvlhAEaydS5Hmu0zh64kbLRlzwXtkpj6/iCwjrWnHes59aA==} + /@next/swc-linux-arm64-gnu@14.2.1: + resolution: {integrity: sha512-2ZctfnyFOGvTkoD6L+DtQtO3BfFz4CapoHnyLTXkOxbZkVRgg3TQBUjTD/xKrO1QWeydeo8AWfZRg8539qNKrg==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] requiresBuild: true - dev: false optional: true /@next/swc-linux-arm64-musl@14.1.0: @@ -7564,15 +7578,15 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: false optional: true - /@next/swc-linux-x64-gnu@14.0.5-canary.46: - resolution: {integrity: sha512-DS5wTjw3FtcLFVzRxLMJgmDNMoeaXp5qBdKUSBrKTq4zQnqUi99CGz2461DlUSxJCWPUgAVo23MdoQD6Siuk7A==} + /@next/swc-linux-arm64-musl@14.2.1: + resolution: {integrity: sha512-jazZXctiaanemy4r+TPIpFP36t1mMwWCKMsmrTRVChRqE6putyAxZA4PDujx0SnfvZHosjdkx9xIq9BzBB5tWg==} engines: {node: '>= 10'} - cpu: [x64] + cpu: [arm64] os: [linux] requiresBuild: true - dev: false optional: true /@next/swc-linux-x64-gnu@14.1.0: @@ -7581,15 +7595,15 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: false optional: true - /@next/swc-linux-x64-musl@14.0.5-canary.46: - resolution: {integrity: sha512-d409ur5JGj6HFp8DBu5M2oTh5EddDcrT+vjewQkAq/A7MZoAMAOH74xOFouEnJs0/dQ71XvH9Lw+1gJSnElcyQ==} + /@next/swc-linux-x64-gnu@14.2.1: + resolution: {integrity: sha512-VjCHWCjsAzQAAo8lkBOLEIkBZFdfW+Z18qcQ056kL4KpUYc8o59JhLDCBlhg+hINQRgzQ2UPGma2AURGOH0+Qg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] requiresBuild: true - dev: false optional: true /@next/swc-linux-x64-musl@14.1.0: @@ -7598,15 +7612,15 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: false optional: true - /@next/swc-win32-arm64-msvc@14.0.5-canary.46: - resolution: {integrity: sha512-goyh/RCFtivflIOvbwircMxTSObETufm3pcxtI8rIz9+pg/M2MmK8/z48EZybkEcPKl41xu4s1iqXThy/jDPng==} + /@next/swc-linux-x64-musl@14.2.1: + resolution: {integrity: sha512-7HZKYKvAp4nAHiHIbY04finRqjeYvkITOGOurP1aLMexIFG/1+oCnqhGogBdc4lao/lkMW1c+AkwWSzSlLasqw==} engines: {node: '>= 10'} - cpu: [arm64] - os: [win32] + cpu: [x64] + os: [linux] requiresBuild: true - dev: false optional: true /@next/swc-win32-arm64-msvc@14.1.0: @@ -7615,15 +7629,15 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: false optional: true - /@next/swc-win32-ia32-msvc@14.0.5-canary.46: - resolution: {integrity: sha512-SEnrOZ7ASXdd/GBq2x0IfpSbfamv1rZfcDeZZLF7kzu0pY7jDQwcW8zTKwwC8JH5CLGLfI3wD6wUYrA+PgJSCw==} + /@next/swc-win32-arm64-msvc@14.2.1: + resolution: {integrity: sha512-YGHklaJ/Cj/F0Xd8jxgj2p8po4JTCi6H7Z3Yics3xJhm9CPIqtl8erlpK1CLv+HInDqEWfXilqatF8YsLxxA2Q==} engines: {node: '>= 10'} - cpu: [ia32] + cpu: [arm64] os: [win32] requiresBuild: true - dev: false optional: true /@next/swc-win32-ia32-msvc@14.1.0: @@ -7632,10 +7646,19 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: false optional: true - /@next/swc-win32-x64-msvc@14.0.5-canary.46: - resolution: {integrity: sha512-NK1EJLyeUxgX9IHSxO0kN1Nk8VsaDfjHVYL4p9fM24e/9rG8jPcxquIQJ4Wy+ZdqxaVivqQ2eHrJYUpXpfOXmw==} + /@next/swc-win32-ia32-msvc@14.2.1: + resolution: {integrity: sha512-o+ISKOlvU/L43ZhtAAfCjwIfcwuZstiHVXq/BDsZwGqQE0h/81td95MPHliWCnFoikzWcYqh+hz54ZB2FIT8RA==} + engines: {node: '>= 10'} + cpu: [ia32] + os: [win32] + requiresBuild: true + optional: true + + /@next/swc-win32-x64-msvc@14.1.0: + resolution: {integrity: sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -7643,8 +7666,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@14.1.0: - resolution: {integrity: sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==} + /@next/swc-win32-x64-msvc@14.2.1: + resolution: {integrity: sha512-GmRoTiLcvCLifujlisknv4zu9/C4i9r0ktsA8E51EMqJL4bD4CpO7lDYr7SrUxCR0tS4RVcrqKmCak24T0ohaw==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -7847,7 +7870,6 @@ packages: playwright-core: 1.36.0 optionalDependencies: fsevents: 2.3.2 - dev: true /@playwright/test@1.41.2: resolution: {integrity: sha512-qQB9h7KbibJzrDpkXkYvsmiDJK14FULCCZgEcoe2AvFAS64oCirWTwzTlAYEbKaRxWs5TFesE1Na6izMv3HfGg==} @@ -7855,7 +7877,6 @@ packages: hasBin: true dependencies: playwright: 1.41.2 - dev: true /@playwright/test@1.42.1: resolution: {integrity: sha512-Gq9rmS54mjBL/7/MvBaNOBwbfnh7beHvS6oS4srqXFcQHpQCV1+c8JXWE8VLPyRDhgS3H8x8A7hztqI9VnwrAQ==} @@ -8059,6 +8080,31 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false + /@radix-ui/react-dismissable-layer@1.0.5(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-aJeDjQhywg9LBu2t/At58hCvr7pEm0o2Ke1x33B+MhjNmmZ17sy4KImo0KPLgsnc/zN7GPdce8Cnn0SWvwZO7g==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.24.0 + '@radix-ui/primitive': 1.0.1 + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.15)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.15)(react@18.2.0) + '@radix-ui/react-use-escape-keydown': 1.0.3(@types/react@18.2.15)(react@18.2.0) + '@types/react': 18.2.15 + '@types/react-dom': 18.2.21 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@radix-ui/react-focus-guards@1.0.1(@types/react@18.2.15)(react@18.2.0): resolution: {integrity: sha512-Rect2dWbQ8waGzhMavsIbmSVCgYxkXLxxR3ZvCX79JOglzdEy4JXMb98lq4hPxUbLr77nP0UOGf4rcMU+s1pUA==} peerDependencies: @@ -8073,8 +8119,8 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-focus-scope@1.0.3(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-upXdPfqI4islj2CslyfUBNlaJCPybbqRHAi1KER7Isel9Q2AtSJ0zRBZv8mWQiFXD2nyAJ4BhC3yXgZ6kMBSrQ==} + /@radix-ui/react-focus-scope@1.0.4(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-sL04Mgvf+FmyvZeYfNu1EPAaaxD+aw7cYeIB9L9Fvq8+urhltTRaEo5ysKOpHuKPclsZcSUMKlN05x4u+CINpA==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -8111,8 +8157,8 @@ packages: react: 18.2.0 dev: false - /@radix-ui/react-popover@1.0.6(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-cZ4defGpkZ0qTRtlIBzJLSzL6ht7ofhhW4i1+pkemjV1IKXm0wgCRnee154qlV6r9Ttunmh2TNZhMfV2bavUyA==} + /@radix-ui/react-popover@1.0.7(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-shtvVnlsxT6faMnK/a7n0wptwBD23xc1Z5mdrtKLwVEfsEMXodS0r5s0/g5P0hX//EKYZS2sxUjqfzlg52ZSnQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -8128,12 +8174,12 @@ packages: '@radix-ui/primitive': 1.0.1 '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.15)(react@18.2.0) '@radix-ui/react-context': 1.0.1(@types/react@18.2.15)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.0.4(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-dismissable-layer': 1.0.5(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-focus-guards': 1.0.1(@types/react@18.2.15)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.0.3(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-focus-scope': 1.0.4(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-id': 1.0.1(@types/react@18.2.15)(react@18.2.0) - '@radix-ui/react-popper': 1.1.2(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-portal': 1.0.3(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popper': 1.1.3(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-portal': 1.0.4(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-presence': 1.0.1(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.15)(react@18.2.0) @@ -8176,6 +8222,36 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false + /@radix-ui/react-popper@1.1.3(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-cKpopj/5RHZWjrbF2846jBNacjQVwkP068DfmgrNJXpvVWrOvlAmE9xSiy5OqeE+Gi8D9fP+oDhUnPqNMY8/5w==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.24.0 + '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-arrow': 1.0.3(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-compose-refs': 1.0.1(@types/react@18.2.15)(react@18.2.0) + '@radix-ui/react-context': 1.0.1(@types/react@18.2.15)(react@18.2.0) + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-use-callback-ref': 1.0.1(@types/react@18.2.15)(react@18.2.0) + '@radix-ui/react-use-layout-effect': 1.0.1(@types/react@18.2.15)(react@18.2.0) + '@radix-ui/react-use-rect': 1.0.1(@types/react@18.2.15)(react@18.2.0) + '@radix-ui/react-use-size': 1.0.1(@types/react@18.2.15)(react@18.2.0) + '@radix-ui/rect': 1.0.1 + '@types/react': 18.2.15 + '@types/react-dom': 18.2.21 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@radix-ui/react-portal@1.0.3(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-xLYZeHrWoPmA5mEKEfZZevoVRK/Q43GfzRXkWV6qawIWWK8t6ifIiLQdd7rmQ4Vk1bmI21XhqF9BN3jWf+phpA==} peerDependencies: @@ -8197,6 +8273,27 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: false + /@radix-ui/react-portal@1.0.4(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-Qki+C/EuGUVCQTOTD5vzJzJuMUlewbzuKyUy+/iHM2uwGiru9gZeBJtHAPKAEkB5KWGi9mP/CHKcY0wt1aW45Q==} + peerDependencies: + '@types/react': '*' + '@types/react-dom': '*' + react: ^16.8 || ^17.0 || ^18.0 + react-dom: ^16.8 || ^17.0 || ^18.0 + peerDependenciesMeta: + '@types/react': + optional: true + '@types/react-dom': + optional: true + dependencies: + '@babel/runtime': 7.24.0 + '@radix-ui/react-primitive': 1.0.3(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@types/react': 18.2.15 + '@types/react-dom': 18.2.21 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + dev: false + /@radix-ui/react-presence@1.0.1(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-UXLW4UAbIY5ZjcvzjfRFo5gxva8QirC9hF7wRE4U5gz+TP0DbRk+//qyuAQ1McDxBt1xNMBTaciFGvEmJvAZCg==} peerDependencies: @@ -8489,8 +8586,8 @@ packages: react: 18.2.0 dev: false - /@react-email/button@0.0.13(react@18.2.0): - resolution: {integrity: sha512-e/y8u2odJ8fF83B+wvL2FXzVcbQSUh2Cn2JH2Ez4L6AuPELsh8s2JYo081IDsXc16IyFiYpObn0blOt7s/qp8g==} + /@react-email/button@0.0.14(react@18.2.0): + resolution: {integrity: sha512-SMk40moGcAvkHIALX4XercQlK0PNeeEIam6OXHw68ea9WtzzqVwiK4pzLY0iiMI9B4xWHcaS2lCPf3cKbQBf1Q==} engines: {node: '>=18.0.0'} peerDependencies: react: 18.2.0 @@ -8498,8 +8595,8 @@ packages: react: 18.2.0 dev: false - /@react-email/code-block@0.0.2(react@18.2.0): - resolution: {integrity: sha512-bQApEmpsvIcVYXdPCXhJB9CGCyShhn/c1JdctE/6R1uIosLbWt40evvVfp2X9STdi02Dhsjxw/AcGuQE6zGZqw==} + /@react-email/code-block@0.0.3(react@18.2.0): + resolution: {integrity: sha512-nxhl7WjjM2cOYtl0boBZfSObTrUCz2LbarcMyHkTVAsA9rbjbtWAQF7jmlefXJusk3Uol5l2c8hTh2lHLlHTRQ==} engines: {node: '>=18.0.0'} peerDependencies: react: 18.2.0 @@ -8526,15 +8623,15 @@ packages: react: 18.2.0 dev: false - /@react-email/components@0.0.14(@types/react@18.2.15)(react@18.2.0): - resolution: {integrity: sha512-t/sNj0R9Mx9Sx5degPQcSBeWotNs7eUwiv72KN8v6fxaf87XlnMo0CPcKI/1by2DHZr5S0258ZQOO7vEFrbcLw==} + /@react-email/components@0.0.16(@types/react@18.2.15)(react@18.2.0): + resolution: {integrity: sha512-1WATpMSH03cRvhfNjGl/Up3seZJOzN9KLzlk3Q9g/cqNhZEJ7HYxoZM4AQKAI0V3ttXzzxKv8Oj+AZQLHDiICA==} engines: {node: '>=18.0.0'} peerDependencies: react: 18.2.0 dependencies: '@react-email/body': 0.0.7(react@18.2.0) - '@react-email/button': 0.0.13(react@18.2.0) - '@react-email/code-block': 0.0.2(react@18.2.0) + '@react-email/button': 0.0.14(react@18.2.0) + '@react-email/code-block': 0.0.3(react@18.2.0) '@react-email/code-inline': 0.0.1(react@18.2.0) '@react-email/column': 0.0.9(react@18.2.0) '@react-email/container': 0.0.11(react@18.2.0) @@ -8545,11 +8642,12 @@ packages: '@react-email/html': 0.0.7(react@18.2.0) '@react-email/img': 0.0.7(react@18.2.0) '@react-email/link': 0.0.7(react@18.2.0) + '@react-email/markdown': 0.0.9(react@18.2.0) '@react-email/preview': 0.0.8(react@18.2.0) '@react-email/render': 0.0.12 '@react-email/row': 0.0.7(react@18.2.0) '@react-email/section': 0.0.11(react@18.2.0) - '@react-email/tailwind': 0.0.14(react@18.2.0) + '@react-email/tailwind': 0.0.15(react@18.2.0) '@react-email/text': 0.0.7(react@18.2.0) react: 18.2.0 transitivePeerDependencies: @@ -8630,6 +8728,16 @@ packages: react: 18.2.0 dev: false + /@react-email/markdown@0.0.9(react@18.2.0): + resolution: {integrity: sha512-t//19Zz+W5svKqrSrqoOLpf6dq70jbwYxX8Z+NEMi4LqylklccOaYAyKrkYyulfZwhW7KDH9d2wjVk5jfUABxQ==} + engines: {node: '>=18.0.0'} + peerDependencies: + react: 18.2.0 + dependencies: + md-to-react-email: 5.0.2(react@18.2.0) + react: 18.2.0 + dev: false + /@react-email/preview@0.0.8(react@18.2.0): resolution: {integrity: sha512-Jm0KUYBZQd2w0s2QRMQy0zfHdo3Ns+9bYSE1OybjknlvhANirjuZw9E5KfWgdzO7PyrRtB1OBOQD8//Obc4uIQ==} engines: {node: '>=18.0.0'} @@ -8667,8 +8775,8 @@ packages: react: 18.2.0 dev: false - /@react-email/tailwind@0.0.14(react@18.2.0): - resolution: {integrity: sha512-SRRcm08zxrAR5XozaW0X+GAJlTJITakZe0UXBiFZDlSDBLwFMxjaGuQwccqNF0LxDnxmduxYB71mzEAqecgTZg==} + /@react-email/tailwind@0.0.15(react@18.2.0): + resolution: {integrity: sha512-TE3NQ7VKhhvv3Zv0Z1NtoV6AF7aOWiG4juVezMZw1hZCG0mkN6iXC63u23vPQi12y6xCp20ZUHfg67kQeDSP/g==} engines: {node: '>=18.0.0'} peerDependencies: react: 18.2.0 @@ -8966,7 +9074,7 @@ packages: localforage: 1.10.0 dev: false - /@sentry/nextjs@7.77.0(next@14.1.0)(react@18.2.0): + /@sentry/nextjs@7.77.0(next@14.2.1)(react@18.2.0): resolution: {integrity: sha512-8tYPBt5luFjrng1sAMJqNjM9sq80q0jbt6yariADU9hEr7Zk8YqFaOI2/Q6yn9dZ6XyytIRtLEo54kk2AO94xw==} engines: {node: '>=8'} peerDependencies: @@ -8987,7 +9095,7 @@ packages: '@sentry/vercel-edge': 7.77.0 '@sentry/webpack-plugin': 1.20.0 chalk: 3.0.0 - next: 14.1.0(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@playwright/test@1.41.2)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 resolve: 1.22.8 rollup: 2.78.0 @@ -9242,12 +9350,18 @@ packages: /@swc/counter@0.1.3: resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} - dev: false /@swc/helpers@0.5.2: resolution: {integrity: sha512-E4KcWTpoLHqwPHLxidpOqQbcrZVgi0rsmmZXUle1jXmJfuIf/UWpczUJ7MZZ5tlxytgJXyp0w4PGkkeLiuIdZw==} dependencies: tslib: 2.6.0 + dev: false + + /@swc/helpers@0.5.5: + resolution: {integrity: sha512-KGYxvIOXcceOAbEk4bi/dVLEK9z8sZ0uBB3Il5b1rhfClSpcX0yfRO0KmTkqR2cnQDymwLB+25ZyMzICg/cm/A==} + dependencies: + '@swc/counter': 0.1.3 + tslib: 2.6.0 /@swc/types@0.1.5: resolution: {integrity: sha512-myfUej5naTBWnqOCc/MdVOLVjXUXtIA+NpDrDBKJtLLg2shUjBu3cZmB/85RyitKc55+lUUyl7oRfLOvkr2hsw==} @@ -9380,7 +9494,7 @@ packages: '@trpc/server': 10.40.0 dev: false - /@trpc/next@10.40.0(@tanstack/react-query@4.29.19)(@trpc/client@10.40.0)(@trpc/react-query@10.40.0)(@trpc/server@10.40.0)(next@14.1.0)(react-dom@18.2.0)(react@18.2.0): + /@trpc/next@10.40.0(@tanstack/react-query@4.29.19)(@trpc/client@10.40.0)(@trpc/react-query@10.40.0)(@trpc/server@10.40.0)(next@14.2.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-GMOiN+2DIfUXxS2DuTuTT3FOzkuB5p6+1QglY5M9ywKFWBVTGkBnbLkTgoPGuglq+dPfcZbcSajRN22AUv5Qtg==} peerDependencies: '@tanstack/react-query': ^4.18.0 @@ -9395,7 +9509,7 @@ packages: '@trpc/client': 10.40.0(@trpc/server@10.40.0) '@trpc/react-query': 10.40.0(@tanstack/react-query@4.29.19)(@trpc/client@10.40.0)(@trpc/server@10.40.0)(react-dom@18.2.0)(react@18.2.0) '@trpc/server': 10.40.0 - next: 14.1.0(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@playwright/test@1.41.2)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) react-ssr-prepass: 1.5.0(react@18.2.0) @@ -9682,10 +9796,6 @@ packages: resolution: {integrity: sha512-iJt33IQnVRkqeqC7PzBHPTC6fDlRNRW8vjrgqtScAhrmMwe8c4Eo7+fUGTa+XdWrpEgpyKWMYmi2dIwMAYRzPw==} dev: false - /@types/minimist@1.2.5: - resolution: {integrity: sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag==} - dev: false - /@types/ms@0.7.34: resolution: {integrity: sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==} @@ -9714,7 +9824,6 @@ packages: resolution: {integrity: sha512-E+Fa9z3wSQpzgYQdYmme5X3OTuejnnTx88A6p6vkkJosR3KBz+HpE3kqNm98VE6cfLFcISx7zW7MsJkH6KwbTw==} dependencies: undici-types: 5.26.5 - dev: true /@types/node@20.4.2: resolution: {integrity: sha512-Dd0BYtWgnWJKwO1jkmTrzofjK2QXXcai0dmtzvIBhcA+RsG5h8R3xlyta0kGOZRNfL9GuRtb1knmPEhQrePCEw==} @@ -9737,6 +9846,7 @@ packages: /@types/normalize-package-data@2.4.4: resolution: {integrity: sha512-37i+OaWTh9qeK4LSHPsyRC7NahnGotNuZvjLSgcPzblpHB3rrCJxAOgI5gCdKm7coonsaX1Of0ILiTcnZjbfxA==} + dev: true /@types/nprogress@0.2.0: resolution: {integrity: sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A==} @@ -9869,7 +9979,7 @@ packages: /@types/webpack@5.28.5(@swc/core@1.3.101)(esbuild@0.19.11): resolution: {integrity: sha512-wR87cgvxj3p6D0Crt1r5avwqffqPXUkNlnQ1mjU93G7gCuFjufZR4I6j8cz5g1F1tTYpfOOFvly+cmIQwL9wvw==} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 tapable: 2.2.1 webpack: 5.90.3(@swc/core@1.3.101)(esbuild@0.19.11) transitivePeerDependencies: @@ -10096,15 +10206,15 @@ packages: '@typescript-eslint/types': 6.0.0 eslint-visitor-keys: 3.4.3 - /@udecode/cn@29.0.1(@types/react@18.2.15)(class-variance-authority@0.7.0)(react-dom@18.2.0)(react@18.2.0)(tailwind-merge@2.2.1): - resolution: {integrity: sha512-U41vXvTBKU+06CiQivy4pIWB7RzfaB3DlqkQMNv8UNK164pJhM3v6P0D45kFpbU2uOSOCGpYRSo4kMp9y8RtcQ==} + /@udecode/cn@31.0.0(@types/react@18.2.15)(class-variance-authority@0.7.0)(react-dom@18.2.0)(react@18.2.0)(tailwind-merge@2.2.1): + resolution: {integrity: sha512-ZjYL0uSbJIAx63+VAEmIJOMomL7oSi0AB52tUDcTCUxzCu7c7NVcAdJQBlFA9piF7IyLPo5qU0MJ98yTtvWZ4w==} peerDependencies: class-variance-authority: '>=0.7.0' react: '>=16.8.0' react-dom: '>=16.8.0' tailwind-merge: '>=2.2.0' dependencies: - '@udecode/react-utils': 29.0.1(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@udecode/react-utils': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) class-variance-authority: 0.7.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10113,10 +10223,10 @@ packages: - '@types/react' dev: false - /@udecode/plate-basic-marks@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-/p5WVEz20mWVg+HNrMemDLJ/n0AM2e0GZwn5NTQULXa5i9DcqqcZOXlOayXhxjG4P9/KV9nPdOttQtxti/Sr3g==} + /@udecode/plate-basic-marks@31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-yV05ohuWk7ZcVxshLQIoqRbJTCbn8hANaMR98PuOMHFajr68/Qvdn9B5MuOzLqPHyOOQ4yVBdzPNcsG6l1DuAg==} peerDependencies: - '@udecode/plate-common': '>=30.4.5 < 31' + '@udecode/plate-common': '>=31.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -10124,7 +10234,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -10133,10 +10243,10 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) dev: false - /@udecode/plate-block-quote@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-InFQ/IaS2BFj74CaDU4V/hlbcefXG3joRBw2cH8QJgbB1t4GSBTW8ZoMDDA6L6N9edBUu8R3vQWQgfZhp303Ig==} + /@udecode/plate-block-quote@31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-82gWC4uXsYvkkmtz4/mvlgAx7s6FgkUP80ZVVMJ2O9p9C6HipJs6/fvs5VWR1L8P04+leRIqi5dknm6ZzW5Epg==} peerDependencies: - '@udecode/plate-common': '>=30.4.5 < 31' + '@udecode/plate-common': '>=31.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -10144,7 +10254,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -10153,10 +10263,10 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) dev: false - /@udecode/plate-code-block@30.7.0(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-/wodH5+SH9eALLIiUAkcwRE2EO4eIBIe5bIoCYMToe3dwaDF4MVHwBU5jZLzi6cy9osar396CQfPmW1j63MJLQ==} + /@udecode/plate-code-block@31.3.4(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-1hWXL/pVHTUKTMch9ckeS806S8+Ie1nKc8m+nuDKUQ/kVHzrU1Z1mjH5Q+1At6NLHd8RfNMmRYtO6knEH1ux0A==} peerDependencies: - '@udecode/plate-common': '>=30.4.5 < 31' + '@udecode/plate-common': '>=31.3.2' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -10164,7 +10274,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) prismjs: 1.29.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10174,8 +10284,8 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) dev: false - /@udecode/plate-common@30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-p/hF7rvuEqyrxvsfgjaBswv82C/Z1/S5vNj+m33UG91cnPs5sLHbofd5qh7vRgKKfZ/uk028mNpUgemo1bFgbA==} + /@udecode/plate-common@31.3.2(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-yhfFoJUlX81gOur093uDXrZu8lflm43DpcRhjHtX0pE6MiwSWIGygTNdjyXEE/MWC4/mwdeU1k94ahCXkfiffw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -10184,13 +10294,13 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-core': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/plate-utils': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/react-utils': 29.0.1(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) - '@udecode/slate': 25.0.0(slate-history@0.100.0)(slate@0.102.0) - '@udecode/slate-react': 29.0.1(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/slate-utils': 25.0.0(slate-history@0.100.0)(slate@0.102.0) - '@udecode/utils': 24.3.0 + '@udecode/plate-core': 31.3.2(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-utils': 31.3.2(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 31.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -10204,8 +10314,8 @@ packages: - scheduler dev: false - /@udecode/plate-core@30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-x/X0dCLoWFyC7wEI9hTcVMR8C/xiTkF0w9I5fyhCMg1mXz/y4DB0CMute+hYT0Wz7rqgj9DYT4v8ryrB9fEu9A==} + /@udecode/plate-common@31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-yhfFoJUlX81gOur093uDXrZu8lflm43DpcRhjHtX0pE6MiwSWIGygTNdjyXEE/MWC4/mwdeU1k94ahCXkfiffw==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -10214,15 +10324,45 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/slate': 25.0.0(slate-history@0.100.0)(slate@0.102.0) - '@udecode/slate-react': 29.0.1(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/slate-utils': 25.0.0(slate-history@0.100.0)(slate@0.102.0) - '@udecode/utils': 24.3.0 + '@udecode/plate-core': 31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-utils': 31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 31.0.0 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) + transitivePeerDependencies: + - '@types/react' + - immer + - react-native + - scheduler + dev: false + + /@udecode/plate-core@31.0.0(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-pGojKZ4bWVBQH2KUQG+keWQkLzq/qkGp64ERhzqpSGVPTT6IFzJlC9GYMKc13m+Yolr6kMqGVsy5INGpf/CD9Q==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + slate: '>=0.94.0' + slate-history: '>=0.93.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' + dependencies: + '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate-utils': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 31.0.0 clsx: 1.2.1 is-hotkey: 0.2.0 - jotai: 2.7.0(@types/react@18.2.15)(react@18.2.0) - jotai-optics: 0.3.1(jotai@2.7.0)(optics-ts@2.4.1) - jotai-x: 1.2.2(@types/react@18.2.15)(jotai@2.7.0)(react@18.2.0) + jotai: 2.8.0(@types/react@18.2.15)(react@18.2.0) + jotai-optics: 0.3.2(jotai@2.8.0)(optics-ts@2.4.1) + jotai-x: 1.2.2(@types/react@18.2.15)(jotai@2.8.0)(react@18.2.0) lodash: 4.17.21 nanoid: 3.3.7 optics-ts: 2.4.1 @@ -10234,8 +10374,8 @@ packages: slate-hyperscript: 0.100.0(slate@0.102.0) slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) use-deep-compare: 1.2.1(react@18.2.0) - zustand: 4.5.0(@types/react@18.2.15)(immer@10.0.2)(react@18.2.0) - zustand-x: 3.0.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.0) + zustand: 4.5.2(@types/react@18.2.15)(immer@10.0.2)(react@18.2.0) + zustand-x: 3.0.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.2) transitivePeerDependencies: - '@types/react' - immer @@ -10243,10 +10383,88 @@ packages: - scheduler dev: false - /@udecode/plate-floating@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-9KxpZdKLy45a3Z+MJqSGmuJKQrl7CrNsLyUdjKD4Iqd1DIdBwl65dGqTmgI1EycF2jUsWIrgGE3W71f7E5/JdA==} + /@udecode/plate-core@31.3.2(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-sBEB2vMu2KG4/KTBwyui1mBzORBm+tPg05p/mk+/Ihy/gBlxBpIyiuRUo3iRD9ZTm+sAJLZT5e3Vv8wWyu3Bfg==} peerDependencies: - '@udecode/plate-common': '>=30.4.5 < 31' + react: '>=16.8.0' + react-dom: '>=16.8.0' + slate: '>=0.94.0' + slate-history: '>=0.93.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' + dependencies: + '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 31.0.0 + clsx: 1.2.1 + is-hotkey: 0.2.0 + jotai: 2.8.0(@types/react@18.2.15)(react@18.2.0) + jotai-optics: 0.3.2(jotai@2.8.0)(optics-ts@2.4.1) + jotai-x: 1.2.2(@types/react@18.2.15)(jotai@2.8.0)(react@18.2.0) + lodash: 4.17.21 + nanoid: 3.3.7 + optics-ts: 2.4.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-hotkeys-hook: 4.5.0(react-dom@18.2.0)(react@18.2.0) + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) + use-deep-compare: 1.2.1(react@18.2.0) + zustand: 4.5.2(@types/react@18.2.15)(immer@10.0.2)(react@18.2.0) + zustand-x: 3.0.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.2) + transitivePeerDependencies: + - '@types/react' + - immer + - react-native + - scheduler + dev: false + + /@udecode/plate-core@31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-sBEB2vMu2KG4/KTBwyui1mBzORBm+tPg05p/mk+/Ihy/gBlxBpIyiuRUo3iRD9ZTm+sAJLZT5e3Vv8wWyu3Bfg==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + slate: '>=0.94.0' + slate-history: '>=0.93.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' + dependencies: + '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 31.0.0 + clsx: 1.2.1 + is-hotkey: 0.2.0 + jotai: 2.8.0(@types/react@18.2.15)(react@18.2.0) + jotai-optics: 0.3.2(jotai@2.8.0)(optics-ts@2.4.1) + jotai-x: 1.2.2(@types/react@18.2.15)(jotai@2.8.0)(react@18.2.0) + lodash: 4.17.21 + nanoid: 3.3.7 + optics-ts: 2.4.1 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + react-hotkeys-hook: 4.5.0(react-dom@18.2.0)(react@18.2.0) + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) + use-deep-compare: 1.2.1(react@18.2.0) + zustand: 4.5.2(@types/react@18.2.15)(immer@10.0.2)(react@18.2.0) + zustand-x: 3.0.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.2) + transitivePeerDependencies: + - '@types/react' + - immer + - react-native + - scheduler + dev: false + + /@udecode/plate-floating@31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-k1KZjpGCH+x/rDCSUZ1Kd4ttPc/35Xp/T+pmI2jYQ48dlorYQPJSuJxpFE/cpBp1g8G2lLh4xbH5BTYR1bypAQ==} + peerDependencies: + '@udecode/plate-common': '>=31.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -10256,7 +10474,7 @@ packages: dependencies: '@floating-ui/core': 1.6.0 '@floating-ui/react': 0.22.3(react-dom@18.2.0)(react@18.2.0) - '@udecode/plate-common': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -10265,10 +10483,10 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) dev: false - /@udecode/plate-heading@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-F0SRJSXQtIw6N4AXcENyR01KNSZdflExsQnsEyjDGHZfF0x4bjCt7AeMr79ZDJ+ZAFTrOUKGR53+z2CV2G5ixg==} + /@udecode/plate-heading@31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-TA9hc1sydRiLykqfJ5FmdYkLNpVkMxY7u0YL1QVOTQLCXYPbJVNuQ1vUsFxsU3mmqGb/J5Xsu87kLRHSnRQR0A==} peerDependencies: - '@udecode/plate-common': '>=30.4.5 < 31' + '@udecode/plate-common': '>=31.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -10276,7 +10494,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -10285,10 +10503,10 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) dev: false - /@udecode/plate-horizontal-rule@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-qsAnS9eW/REH+fXXWUy8O27VhYOEFRMhMlXIp83dIDKP2BtXeR2JeVHdM2wa5oEo+3G7o7Qy2DS5Yg51A3wu/Q==} + /@udecode/plate-horizontal-rule@31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-JtED7u6pYl0os8TfOft8txGPRQQQwNSrQIwLhAyo4rIXKfGMAPMym1LY2/83XidTYDSJSQVNHmA8vv6eOFQg/g==} peerDependencies: - '@udecode/plate-common': '>=30.4.5 < 31' + '@udecode/plate-common': '>=31.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -10296,7 +10514,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -10305,10 +10523,10 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) dev: false - /@udecode/plate-link@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-5XspGcriDMJOf3hput6N2XA0AouXy5YBJYHu4PaEq25hJblFgiJwvm3JWA0jMsH2HO2iffKpfpMFfcGOjjnR+w==} + /@udecode/plate-link@31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-607injR8Bf5Tek4LIjjcuPoDDFMq0i+3cuX1AlIsqbwqZH3gffQZ700OKhisy17bu8SD9aqAgiCfKKlHXM4cdA==} peerDependencies: - '@udecode/plate-common': '>=30.4.5 < 31' + '@udecode/plate-common': '>=31.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -10316,9 +10534,9 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/plate-floating': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/plate-normalizers': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-floating': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-normalizers': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -10327,10 +10545,10 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) dev: false - /@udecode/plate-list@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-Q6c1hE4oAZp3OkJzoeRIp+ULKcugsNx0Eh4o/yKyWJAx/DzZNPJyuuAyClA9nZMdWv96UAjvEZ75Em3BcFtTwg==} + /@udecode/plate-list@31.1.3(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-TjD5JeKsuzsdSkepgjFMDcJsB6BHdowO/ppHLxUCge74RwPVF7U97HPc7oEtx+OLsrC13gkbpZvwLHfdCy9dDQ==} peerDependencies: - '@udecode/plate-common': '>=30.4.5 < 31' + '@udecode/plate-common': '>=31.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -10338,8 +10556,8 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/plate-reset-node': 30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-reset-node': 31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10349,10 +10567,10 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) dev: false - /@udecode/plate-media@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-cO4o+257oDMqOtgLMgFxUbFLWov+HUi8GXpd6NbUxPkoGUw24vo3or6Wni+X3DlUJQF0Do5/g9bwZlQcT1IZGw==} + /@udecode/plate-media@31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-znAPwieefL86L13fmzN7CGOn3GfopU3PT6Sm6xpwo3ZKp8PGiSYScxvZj7AzqsNV2pYfrKIMK9kEMBEVDcuTRQ==} peerDependencies: - '@udecode/plate-common': '>=30.4.5 < 31' + '@udecode/plate-common': '>=31.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -10360,7 +10578,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) js-video-url-parser: 0.5.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10370,10 +10588,10 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) dev: false - /@udecode/plate-normalizers@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-jf8H5OPPLEYgaoQ0pyHZfSXwzZBxI959BxHy83Y1wvhB5Yykgc8NflNGme3ds/rMED3z90E7QOCL2h1waHNtNQ==} + /@udecode/plate-normalizers@31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-4HD39jOgv5Hf8sQqXtZdQLcWYHToXGjBPFU33pYHbEBmxEN9cd5ndxRTCnoOspI9HJMkpu0OzrhUfhLvoPDP4w==} peerDependencies: - '@udecode/plate-common': '>=30.4.5 < 31' + '@udecode/plate-common': '>=31.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -10381,7 +10599,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) lodash: 4.17.21 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10391,10 +10609,10 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) dev: false - /@udecode/plate-paragraph@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-vqvN6Gex1aj189C3ohuq85g6reajYqJMFb4CETGqUTifmKw0ReeJ6a8OYhNqX7v2xE+4gEBm+Z8qO3Z3CnoHqw==} + /@udecode/plate-paragraph@31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-uuaksPfDhK5ShVhjZ0pbXlUgy5nKKDkXzrAfDEZJzwF1R2N0HTy2WcmNJFm+aN8ZUFbZ4MHBuUUldZc/aLuCqw==} peerDependencies: - '@udecode/plate-common': '>=30.4.5 < 31' + '@udecode/plate-common': '>=31.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -10402,7 +10620,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -10411,10 +10629,10 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) dev: false - /@udecode/plate-reset-node@30.5.3(@udecode/plate-common@30.4.5)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-bBUnE3uMw+jp7zAaZtagCRB9WpBZxJfLdhc1YdqwU1Hmqqy4l0GaH4/oq2QtnN8DtZnOV/PkJlus8tgsP3yzjg==} + /@udecode/plate-reset-node@31.0.0(@udecode/plate-common@31.3.2)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-pIdexCNsJx21UHeHrDxeOTS2w0NfthCD5klZGiiKBkU+sd65btmyY1fEQmlVaaeqWKzYCXai2ctSlRAycBV7wA==} peerDependencies: - '@udecode/plate-common': '>=30.4.5 < 31' + '@udecode/plate-common': '>=31.0.0' react: '>=16.8.0' react-dom: '>=16.8.0' slate: '>=0.94.0' @@ -10422,7 +10640,7 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-common': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/plate-common': 31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -10431,8 +10649,8 @@ packages: slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) dev: false - /@udecode/plate-utils@30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-cJ0auswNFxhv/qF9yqrIbgPa3mqxWtLtBQ/N+1zqMfEM3vzWE+4WlHpMJb/SdAC/Dvuc5zzfB26/t2IyhrZp5w==} + /@udecode/plate-utils@31.0.0(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-7KlE3l5m4dreBlzVb6JqFqTd5wvwo42YMDMO/f+H9qQt3PL69hADen8KhA7M7M+Qj2ARclKLX8JyBEhrML+mlA==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -10441,12 +10659,12 @@ packages: slate-hyperscript: '>=0.66.0' slate-react: '>=0.99.0' dependencies: - '@udecode/plate-core': 30.4.5(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/react-utils': 29.0.1(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) - '@udecode/slate': 25.0.0(slate-history@0.100.0)(slate@0.102.0) - '@udecode/slate-react': 29.0.1(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) - '@udecode/slate-utils': 25.0.0(slate-history@0.100.0)(slate@0.102.0) - '@udecode/utils': 24.3.0 + '@udecode/plate-core': 31.0.0(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate-utils': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 31.0.0 clsx: 1.2.1 lodash: 4.17.21 react: 18.2.0 @@ -10462,14 +10680,76 @@ packages: - scheduler dev: false - /@udecode/react-utils@29.0.1(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-+bFJFTDsWArFaC4AZFap0VdCvEbu5ZA16avj4xjjdBBho4TiHOZ7RMDliwTUetA3DOm5LG02dmZ1U4ORNC0m3w==} + /@udecode/plate-utils@31.3.2(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-IedyGPqF/yrSjc1ODBSM5xZXC5yPORyqq5vFlk+uNV4khPMDer2PMGnv5se6yVQhSMdAN81gLtlFKONDKIjAjQ==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + slate: '>=0.94.0' + slate-history: '>=0.93.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' + dependencies: + '@udecode/plate-core': 31.3.2(@types/react@18.2.15)(immer@10.0.2)(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 31.0.0 + clsx: 1.2.1 + lodash: 4.17.21 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) + transitivePeerDependencies: + - '@types/react' + - immer + - react-native + - scheduler + dev: false + + /@udecode/plate-utils@31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-IedyGPqF/yrSjc1ODBSM5xZXC5yPORyqq5vFlk+uNV4khPMDer2PMGnv5se6yVQhSMdAN81gLtlFKONDKIjAjQ==} + peerDependencies: + react: '>=16.8.0' + react-dom: '>=16.8.0' + slate: '>=0.94.0' + slate-history: '>=0.93.0' + slate-hyperscript: '>=0.66.0' + slate-react: '>=0.99.0' + dependencies: + '@udecode/plate-core': 31.3.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(slate-history@0.100.0)(slate-hyperscript@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/react-utils': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/slate-react': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0) + '@udecode/slate-utils': 31.3.2(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 31.0.0 + clsx: 1.2.1 + lodash: 4.17.21 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + slate-hyperscript: 0.100.0(slate@0.102.0) + slate-react: 0.102.0(react-dom@18.2.0)(react@18.2.0)(slate@0.102.0) + transitivePeerDependencies: + - '@types/react' + - immer + - react-native + - scheduler + dev: false + + /@udecode/react-utils@31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-zvXVIOELvKeizFK9a7nCBGizH/tO7EFOl4N7YSL8fUrd6SZPIoHTNEZg5YKC3bcdB7LUoBno1BJOcWOZDHE5SA==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' dependencies: '@radix-ui/react-slot': 1.0.2(@types/react@18.2.15)(react@18.2.0) - '@udecode/utils': 24.3.0 + '@udecode/utils': 31.0.0 clsx: 1.2.1 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -10477,8 +10757,8 @@ packages: - '@types/react' dev: false - /@udecode/slate-react@29.0.1(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0): - resolution: {integrity: sha512-DOiGXxfL43tVyNg0LneTQGQBW/HkF2srwIM8b0Al/x082HHfo2PP2WkFqPqTh1uGUAa2RBRh9xFKmNkKeuyWSw==} + /@udecode/slate-react@31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0)(slate-history@0.100.0)(slate-react@0.102.0)(slate@0.102.0): + resolution: {integrity: sha512-+xYLSZO7u9KrJoCY88udFVT29fp4waX0mFM+gmhd10Kfb/l5xB5yt5248PCqbkehwb93TBntODXtbQzmwNFkag==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' @@ -10486,9 +10766,9 @@ packages: slate-history: '>=0.93.0' slate-react: '>=0.99.0' dependencies: - '@udecode/react-utils': 29.0.1(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) - '@udecode/slate': 25.0.0(slate-history@0.100.0)(slate@0.102.0) - '@udecode/utils': 24.3.0 + '@udecode/react-utils': 31.0.0(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 31.0.0 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) slate: 0.102.0 @@ -10498,32 +10778,45 @@ packages: - '@types/react' dev: false - /@udecode/slate-utils@25.0.0(slate-history@0.100.0)(slate@0.102.0): - resolution: {integrity: sha512-H8dECl5Tu44Nt946rkSXCJ1yzsc2R9GXSoA9oNIBmcyNo3jTHZOyG/Ocn3RGgfzAK996A43GBD/keNabJEPtQg==} + /@udecode/slate-utils@31.0.0(slate-history@0.100.0)(slate@0.102.0): + resolution: {integrity: sha512-dtLtSj799J4jxkSCdzcH1sQUgQr6DrBnmt8BfFZ8dcXQ8UntXTgB8voCkp2N4EoyEW15Og6PGv9lndEqiIfgXA==} peerDependencies: slate: '>=0.94.0' slate-history: '>=0.93.0' dependencies: - '@udecode/slate': 25.0.0(slate-history@0.100.0)(slate@0.102.0) - '@udecode/utils': 24.3.0 + '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 31.0.0 lodash: 4.17.21 slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) dev: false - /@udecode/slate@25.0.0(slate-history@0.100.0)(slate@0.102.0): - resolution: {integrity: sha512-mGb9nMDwIygLqERwJ8kTOfo3wIxMQ0xLJEPKn09jrshEIxUCyO3mYj8y/5vOMcrzj6yexOsgQ6VNX8ylS3lnIQ==} + /@udecode/slate-utils@31.3.2(slate-history@0.100.0)(slate@0.102.0): + resolution: {integrity: sha512-ziQN60VItE9GHE7B8+sBnXFJ3P8bVJhfYA0TiwBtjRSoyUWIglUwCbFSBP+QsHmsNp8m+YztPavK6djjczD30Q==} peerDependencies: slate: '>=0.94.0' slate-history: '>=0.93.0' dependencies: - '@udecode/utils': 24.3.0 + '@udecode/slate': 31.0.0(slate-history@0.100.0)(slate@0.102.0) + '@udecode/utils': 31.0.0 + lodash: 4.17.21 slate: 0.102.0 slate-history: 0.100.0(slate@0.102.0) dev: false - /@udecode/utils@24.3.0: - resolution: {integrity: sha512-/Y2lh/Ih1wx4zN35Ky2Z1G1/5f7cSAS7F6dkhrcbJUnDF0srTidoEIRabK+og/yIK/MCEFfOsQGetoV7Ert5hg==} + /@udecode/slate@31.0.0(slate-history@0.100.0)(slate@0.102.0): + resolution: {integrity: sha512-VK84em/ZQYgu2PnXBLG8ON47n3DAZZL//yA3oWs4J3hTg92UTXpizNZiwk9iA+mb+xcRomwuWwpTUCyE8VI3rQ==} + peerDependencies: + slate: '>=0.94.0' + slate-history: '>=0.93.0' + dependencies: + '@udecode/utils': 31.0.0 + slate: 0.102.0 + slate-history: 0.100.0(slate@0.102.0) + dev: false + + /@udecode/utils@31.0.0: + resolution: {integrity: sha512-06JTl1UAm3mzLLAx8hdMUFw4XRQG727z9JoJ9PeBnmFb9q4Cg3DdmbFnhVJMrBPWlyOwoHtPrBjnanTFeiP36Q==} dev: false /@uiw/codemirror-extensions-basic-setup@4.21.24(@codemirror/autocomplete@6.14.0)(@codemirror/commands@6.3.3)(@codemirror/language@6.10.1)(@codemirror/lint@6.5.0)(@codemirror/search@6.5.6)(@codemirror/state@6.4.1)(@codemirror/view@6.25.1): @@ -10691,10 +10984,6 @@ packages: react: 18.2.0 dev: false - /@vercel/edge@1.1.1: - resolution: {integrity: sha512-NtKiIbn9Cq6HWGy+qRudz28mz5nxfOJWls5Pnckjw1yCfSX8rhXdvY/il3Sy3Zd5n/sKCM2h7VSCCpJF/oaDrQ==} - dev: true - /@vitejs/plugin-react@3.1.0(vite@4.5.2): resolution: {integrity: sha512-AfgcRL8ZBhAlc3BFdigClmTUMISmmzHn7sB2h9U1odvc5U/MjWXsAaz18b/WoppUTDBzxOJwo2VdClfUcItu9g==} engines: {node: ^14.18.0 || >=16.0.0} @@ -10714,7 +11003,7 @@ packages: /@vue/compiler-core@3.4.21: resolution: {integrity: sha512-MjXawxZf2SbZszLPYxaFCjxfibYrzr3eYbKxwpLR9EQN+oaziSu3qKVbwBERj1IFIB8OLUewxB5m/BFzi613og==} dependencies: - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@vue/shared': 3.4.21 entities: 4.5.0 estree-walker: 2.0.2 @@ -10731,7 +11020,7 @@ packages: /@vue/compiler-sfc@3.4.21: resolution: {integrity: sha512-me7epoTxYlY+2CUM7hy9PCDdpMPfIwrOvAXud2Upk10g4YLv9UBW7kL798TvMeDhPthkZ0CONNrK2GoeI1ODiQ==} dependencies: - '@babel/parser': 7.24.0 + '@babel/parser': 7.24.1 '@vue/compiler-core': 3.4.21 '@vue/compiler-dom': 3.4.21 '@vue/compiler-ssr': 3.4.21 @@ -11118,11 +11407,6 @@ packages: type-fest: 0.21.3 dev: true - /ansi-regex@2.1.1: - resolution: {integrity: sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==} - engines: {node: '>=0.10.0'} - dev: false - /ansi-regex@3.0.1: resolution: {integrity: sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==} engines: {node: '>=4'} @@ -11136,11 +11420,6 @@ packages: resolution: {integrity: sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==} engines: {node: '>=12'} - /ansi-styles@2.2.1: - resolution: {integrity: sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==} - engines: {node: '>=0.10.0'} - dev: false - /ansi-styles@3.2.1: resolution: {integrity: sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==} engines: {node: '>=4'} @@ -11303,11 +11582,6 @@ packages: is-array-buffer: 3.0.4 is-shared-array-buffer: 1.0.3 - /arrify@1.0.1: - resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} - engines: {node: '>=0.10.0'} - dev: false - /arrify@2.0.1: resolution: {integrity: sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==} engines: {node: '>=8'} @@ -11372,7 +11646,7 @@ packages: postcss-value-parser: 4.2.0 dev: true - /autoprefixer@10.4.14(postcss@8.4.32): + /autoprefixer@10.4.14(postcss@8.4.35): resolution: {integrity: sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==} engines: {node: ^10 || ^12 || >=14} hasBin: true @@ -11384,7 +11658,7 @@ packages: fraction.js: 4.3.7 normalize-range: 0.1.2 picocolors: 1.0.0 - postcss: 8.4.32 + postcss: 8.4.35 postcss-value-parser: 4.2.0 dev: false @@ -11600,6 +11874,13 @@ packages: babel-plugin-jsx-dom-expressions: 0.36.18(@babel/core@7.22.9) dev: true + /babel-walk@3.0.0: + resolution: {integrity: sha512-fdRxJkQ9MUSEi4jH2DcV3FAPFktk0wefilxrwNyUuWpoWawQGN7G7cB+fOYTtFfI6XNkFgwqJ/D3G18BoJJ/jg==} + engines: {node: '>= 10.0.0'} + dependencies: + '@babel/types': 7.24.0 + dev: false + /bail@2.0.2: resolution: {integrity: sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==} @@ -11670,10 +11951,6 @@ packages: readable-stream: 3.6.2 dev: false - /bluebird@3.7.2: - resolution: {integrity: sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==} - dev: false - /body-parser@1.20.2: resolution: {integrity: sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==} engines: {node: '>= 0.8', npm: 1.2.8000 || >= 1.4.16} @@ -11876,15 +12153,6 @@ packages: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - /camelcase-keys@6.2.2: - resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} - engines: {node: '>=8'} - dependencies: - camelcase: 5.3.1 - map-obj: 4.3.0 - quick-lru: 4.0.1 - dev: false - /camelcase@5.3.1: resolution: {integrity: sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==} engines: {node: '>=6'} @@ -11918,17 +12186,6 @@ packages: /ccount@2.0.1: resolution: {integrity: sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==} - /chalk@1.1.3: - resolution: {integrity: sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-styles: 2.2.1 - escape-string-regexp: 1.0.5 - has-ansi: 2.0.0 - strip-ansi: 3.0.1 - supports-color: 2.0.0 - dev: false - /chalk@2.4.2: resolution: {integrity: sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==} engines: {node: '>=4'} @@ -12118,11 +12375,6 @@ packages: string-width: 4.2.3 dev: false - /cli-spinner@0.2.10: - resolution: {integrity: sha512-U0sSQ+JJvSLi1pAYuJykwiA8Dsr15uHEy85iCJ6A+0DjVxivr3d+N2Wjvodeg89uP5K6TswFkKBfAD7B3YSn/Q==} - engines: {node: '>=0.10'} - dev: false - /cli-spinners@2.9.2: resolution: {integrity: sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==} engines: {node: '>=6'} @@ -12775,14 +13027,6 @@ packages: dependencies: ms: 2.1.2 - /decamelize-keys@1.1.1: - resolution: {integrity: sha512-WiPxgEirIV0/eIOMcnFBA3/IJZAZqKnwAwWyvvdi4lsr1WCN22nhdf/3db3DoZcUjTV2SqfzIwNyp6y2xs3nmg==} - engines: {node: '>=0.10.0'} - dependencies: - decamelize: 1.2.0 - map-obj: 1.0.1 - dev: false - /decamelize@1.2.0: resolution: {integrity: sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==} engines: {node: '>=0.10.0'} @@ -15025,18 +15269,6 @@ packages: - uWebSockets.js dev: false - /hard-rejection@2.1.0: - resolution: {integrity: sha512-VIZB+ibDhx7ObhAe7OVtoEbuP4h/MuOTHJ+J8h/eBXotJYl0fBgR72xDFCKgIh22OJZIOVNxBMWuhAr10r8HdA==} - engines: {node: '>=6'} - dev: false - - /has-ansi@2.0.0: - resolution: {integrity: sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-regex: 2.1.1 - dev: false - /has-bigints@1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} @@ -15128,6 +15360,7 @@ packages: /hosted-git-info@2.8.9: resolution: {integrity: sha512-mxIDAb9Lsm6DoOJ7xH+5+X4y1LU/4Hi50L9C5sIswK3JzULS4bwk1FvjdBgvYR4bzT4tuUQiC15FE2f5HbLvYw==} + dev: true /html-encoding-sniffer@3.0.0: resolution: {integrity: sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==} @@ -15385,11 +15618,6 @@ packages: resolution: {integrity: sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==} engines: {node: '>=0.8.19'} - /indent-string@4.0.0: - resolution: {integrity: sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==} - engines: {node: '>=8'} - dev: false - /indent-string@5.0.0: resolution: {integrity: sha512-m6FAo/spmsW2Ab2fU35JTYwtOKa2yAwXSwgjSv1TJzh4Mh7mC3lzAOVLBprb72XsTrgkEIsl7YrFNAiDiRhIGg==} engines: {node: '>=12'} @@ -15743,11 +15971,6 @@ packages: resolution: {integrity: sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==} engines: {node: '>=8'} - /is-plain-obj@1.1.0: - resolution: {integrity: sha512-yvkRyxmFKEOQ4pNXCmJG5AEQNlXJS5LaONXo5/cLdTZdWvsZ1ioJEonLGAosKlMWE8lwUy/bJzMjcw8az73+Fg==} - engines: {node: '>=0.10.0'} - dev: false - /is-plain-obj@4.1.0: resolution: {integrity: sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==} engines: {node: '>=12'} @@ -16349,7 +16572,7 @@ packages: resolution: {integrity: sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 20.12.3 + '@types/node': 20.12.4 merge-stream: 2.0.0 supports-color: 8.1.1 dev: false @@ -16393,17 +16616,17 @@ packages: resolution: {integrity: sha512-jc7BFxgKPKi94uOvEmzlSWFFe2+vASyXaKUpdQKatWAESU2MWjDfFf0fdfc83CDKcA5QecabZeNLyfhe3yKNkg==} dev: false - /jotai-optics@0.3.1(jotai@2.7.0)(optics-ts@2.4.1): - resolution: {integrity: sha512-KibUx9IneM2hGWGIYGs/v0KCxU985lg7W2c6dt5RodJCB2XPbmok8rkkLmdVk9+fKsn2shkPMi+AG8XzHgB3+w==} + /jotai-optics@0.3.2(jotai@2.8.0)(optics-ts@2.4.1): + resolution: {integrity: sha512-RH6SvqU5hmkVqnHmaqf9zBXvIAs4jLxkDHS4fr5ljuBKHs8+HQ02v+9hX7ahTppxx6dUb0GGUE80jQKJ0kFTLw==} peerDependencies: jotai: '>=1.11.0' optics-ts: '*' dependencies: - jotai: 2.7.0(@types/react@18.2.15)(react@18.2.0) + jotai: 2.8.0(@types/react@18.2.15)(react@18.2.0) optics-ts: 2.4.1 dev: false - /jotai-x@1.2.2(@types/react@18.2.15)(jotai@2.7.0)(react@18.2.0): + /jotai-x@1.2.2(@types/react@18.2.15)(jotai@2.8.0)(react@18.2.0): resolution: {integrity: sha512-HaFl3O4aKdBdeTyuzzcvnBWvicXkxl0DBINsqasqWrL7mZov4AAuXUSAsAY817UDwMe1+k77uBazUCFlaiyU3A==} peerDependencies: '@types/react': '>=17.0.0' @@ -16416,12 +16639,12 @@ packages: optional: true dependencies: '@types/react': 18.2.15 - jotai: 2.7.0(@types/react@18.2.15)(react@18.2.0) + jotai: 2.8.0(@types/react@18.2.15)(react@18.2.0) react: 18.2.0 dev: false - /jotai@2.7.0(@types/react@18.2.15)(react@18.2.0): - resolution: {integrity: sha512-4qsyFKu4MprI39rj2uoItyhu24NoCHzkOV7z70PQr65SpzV6CSyhQvVIfbNlNqOIOspNMdf5OK+kTXLvqe63Jw==} + /jotai@2.8.0(@types/react@18.2.15)(react@18.2.0): + resolution: {integrity: sha512-yZNMC36FdLOksOr8qga0yLf14miCJlEThlp5DeFJNnqzm2+ZG7wLcJzoOyij5K6U6Xlc5ljQqPDlJRgqW0Y18g==} engines: {node: '>=12.20.0'} peerDependencies: '@types/react': '>=17.0.0' @@ -16670,6 +16893,7 @@ packages: /kind-of@6.0.3: resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} engines: {node: '>=0.10.0'} + dev: true /kleur@3.0.3: resolution: {integrity: sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==} @@ -16797,10 +17021,6 @@ packages: resolution: {integrity: sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==} dev: false - /lodash.includes@4.3.0: - resolution: {integrity: sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==} - dev: false - /lodash.invoke@4.5.2: resolution: {integrity: sha512-SC4Usc0XbIKuz3eH7oNwPqibKHfTJSGVZwO/6eGhdoPzqexOY7z43pKo8xz0M5zzXSRteADV6fW7cRf6Ru0+VA==} dev: true @@ -16930,26 +17150,31 @@ packages: tmpl: 1.0.5 dev: true - /map-obj@1.0.1: - resolution: {integrity: sha512-7N/q3lyZ+LVCp7PzuxrJr4KMbBE2hW7BT7YNia330OFxIf4d3r5zVpicP2650l7CPN6RM9zOJRl3NGpqSiw3Eg==} - engines: {node: '>=0.10.0'} - dev: false - - /map-obj@4.3.0: - resolution: {integrity: sha512-hdN1wVrZbb29eBGiGjJbeP8JbKjq1urkHJ/LIP/NY48MZ1QVXUsQBV1G1zvYFHn1XE06cwjBsOI2K3Ulnj1YXQ==} - engines: {node: '>=8'} - dev: false - /markdown-table@3.0.3: resolution: {integrity: sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==} dev: true + /marked@7.0.4: + resolution: {integrity: sha512-t8eP0dXRJMtMvBojtkcsA7n48BkauktUKzfkPSCq85ZMTJ0v76Rke4DYz01omYpPTUh4p/f7HePgRo3ebG8+QQ==} + engines: {node: '>= 16'} + hasBin: true + dev: false + /marked@9.0.3: resolution: {integrity: sha512-pI/k4nzBG1PEq1J3XFEHxVvjicfjl8rgaMaqclouGSMPhk7Q3Ejb2ZRxx/ZQOcQ1909HzVoWCFYq6oLgtL4BpQ==} engines: {node: '>= 16'} hasBin: true dev: false + /md-to-react-email@5.0.2(react@18.2.0): + resolution: {integrity: sha512-x6kkpdzIzUhecda/yahltfEl53mH26QdWu4abUF9+S0Jgam8P//Ciro8cdhyMHnT5MQUJYrIbO6ORM2UxPiNNA==} + peerDependencies: + react: 18.x + dependencies: + marked: 7.0.4 + react: 18.2.0 + dev: false + /md5@2.3.0: resolution: {integrity: sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==} dependencies: @@ -17258,23 +17483,6 @@ packages: /mensch@0.3.4: resolution: {integrity: sha512-IAeFvcOnV9V0Yk+bFhYR07O3yNina9ANIN5MoXBKYJ/RLYPurd2d0yw14MDhpr9/momp0WofT1bPUh3hkzdi/g==} - /meow@7.1.1: - resolution: {integrity: sha512-GWHvA5QOcS412WCo8vwKDlTelGLsCGBVevQB5Kva961rmNfun0PCbv5+xta2kUMFJyR8/oWnn7ddeKdosbAPbA==} - engines: {node: '>=10'} - dependencies: - '@types/minimist': 1.2.5 - camelcase-keys: 6.2.2 - decamelize-keys: 1.1.1 - hard-rejection: 2.1.0 - minimist-options: 4.1.0 - normalize-package-data: 2.5.0 - read-pkg-up: 7.0.1 - redent: 3.0.0 - trim-newlines: 3.0.1 - type-fest: 0.13.1 - yargs-parser: 18.1.3 - dev: false - /merge-descriptors@1.0.1: resolution: {integrity: sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==} @@ -17888,11 +18096,6 @@ packages: resolution: {integrity: sha512-e5ISH9xMYU0DzrT+jl8q2ze9D6eWBto+I8CNpe+VI+K2J/F/k3PdkdTdz4wvGVH4NTpo+NRYTVIuMQEMMcsLqg==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - /min-indent@1.0.1: - resolution: {integrity: sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==} - engines: {node: '>=4'} - dev: false - /minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} dependencies: @@ -17917,15 +18120,6 @@ packages: dependencies: brace-expansion: 2.0.1 - /minimist-options@4.1.0: - resolution: {integrity: sha512-Q4r8ghd80yhO/0j1O3B2BjweX3fiHg9cdOwjJd2J76Q135c+NDxGCqdYKQ1SKBuFfgWbAUzBfvYjPUEeNgqN1A==} - engines: {node: '>= 6'} - dependencies: - arrify: 1.0.1 - is-plain-obj: 1.1.0 - kind-of: 6.0.3 - dev: false - /minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} @@ -18402,7 +18596,7 @@ packages: resolution: {integrity: sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==} dev: false - /next-auth@4.22.1(next@14.1.0)(nodemailer@6.9.8)(react-dom@18.2.0)(react@18.2.0): + /next-auth@4.22.1(next@14.2.1)(nodemailer@6.9.8)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-NTR3f6W7/AWXKw8GSsgSyQcDW6jkslZLH8AiZa5PQ09w1kR8uHtR9rez/E9gAq/o17+p0JYHE8QjF3RoniiObA==} peerDependencies: next: ^12.2.5 || ^13 @@ -18417,7 +18611,7 @@ packages: '@panva/hkdf': 1.1.1 cookie: 0.5.0 jose: 4.15.5 - next: 14.1.0(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@playwright/test@1.41.2)(react-dom@18.2.0)(react@18.2.0) nodemailer: 6.9.8 oauth: 0.9.15 openid-client: 5.6.5 @@ -18440,45 +18634,6 @@ packages: enhanced-resolve: 5.16.0 dev: true - /next@14.0.5-canary.46(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-u8yiAK7L+fl/U9yFmq3VOpkHlImx5wg3OoDz3qxTXhPmmMzNcPbblWgxBf5d6Z+aik8BEn27L31k/tXCRzwFxA==} - engines: {node: '>=18.17.0'} - hasBin: true - peerDependencies: - '@opentelemetry/api': ^1.1.0 - react: ^18.2.0 - react-dom: ^18.2.0 - sass: ^1.3.0 - peerDependenciesMeta: - '@opentelemetry/api': - optional: true - sass: - optional: true - dependencies: - '@next/env': 14.0.5-canary.46 - '@swc/helpers': 0.5.2 - busboy: 1.6.0 - caniuse-lite: 1.0.30001597 - graceful-fs: 4.2.11 - postcss: 8.4.31 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - styled-jsx: 5.1.1(@babel/core@7.22.9)(react@18.2.0) - optionalDependencies: - '@next/swc-darwin-arm64': 14.0.5-canary.46 - '@next/swc-darwin-x64': 14.0.5-canary.46 - '@next/swc-linux-arm64-gnu': 14.0.5-canary.46 - '@next/swc-linux-arm64-musl': 14.0.5-canary.46 - '@next/swc-linux-x64-gnu': 14.0.5-canary.46 - '@next/swc-linux-x64-musl': 14.0.5-canary.46 - '@next/swc-win32-arm64-msvc': 14.0.5-canary.46 - '@next/swc-win32-ia32-msvc': 14.0.5-canary.46 - '@next/swc-win32-x64-msvc': 14.0.5-canary.46 - transitivePeerDependencies: - - '@babel/core' - - babel-plugin-macros - dev: false - /next@14.1.0(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==} engines: {node: '>=18.17.0'} @@ -18516,14 +18671,142 @@ packages: transitivePeerDependencies: - '@babel/core' - babel-plugin-macros + dev: false - /nextjs-cors@2.1.2(next@14.1.0): + /next@14.2.1(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-SF3TJnKdH43PMkCcErLPv+x/DY1YCklslk3ZmwaVoyUfDgHKexuKlf9sEfBQ69w+ue8jQ3msLb+hSj1T19hGag==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + sass: + optional: true + dependencies: + '@next/env': 14.2.1 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001597 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.22.9)(react@18.2.0) + optionalDependencies: + '@next/swc-darwin-arm64': 14.2.1 + '@next/swc-darwin-x64': 14.2.1 + '@next/swc-linux-arm64-gnu': 14.2.1 + '@next/swc-linux-arm64-musl': 14.2.1 + '@next/swc-linux-x64-gnu': 14.2.1 + '@next/swc-linux-x64-musl': 14.2.1 + '@next/swc-win32-arm64-msvc': 14.2.1 + '@next/swc-win32-ia32-msvc': 14.2.1 + '@next/swc-win32-x64-msvc': 14.2.1 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + dev: false + + /next@14.2.1(@playwright/test@1.36.0)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-SF3TJnKdH43PMkCcErLPv+x/DY1YCklslk3ZmwaVoyUfDgHKexuKlf9sEfBQ69w+ue8jQ3msLb+hSj1T19hGag==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + sass: + optional: true + dependencies: + '@next/env': 14.2.1 + '@playwright/test': 1.36.0 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001597 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.22.9)(react@18.2.0) + optionalDependencies: + '@next/swc-darwin-arm64': 14.2.1 + '@next/swc-darwin-x64': 14.2.1 + '@next/swc-linux-arm64-gnu': 14.2.1 + '@next/swc-linux-arm64-musl': 14.2.1 + '@next/swc-linux-x64-gnu': 14.2.1 + '@next/swc-linux-x64-musl': 14.2.1 + '@next/swc-win32-arm64-msvc': 14.2.1 + '@next/swc-win32-ia32-msvc': 14.2.1 + '@next/swc-win32-x64-msvc': 14.2.1 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + + /next@14.2.1(@playwright/test@1.41.2)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-SF3TJnKdH43PMkCcErLPv+x/DY1YCklslk3ZmwaVoyUfDgHKexuKlf9sEfBQ69w+ue8jQ3msLb+hSj1T19hGag==} + engines: {node: '>=18.17.0'} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + react: ^18.2.0 + react-dom: ^18.2.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + sass: + optional: true + dependencies: + '@next/env': 14.2.1 + '@playwright/test': 1.41.2 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001597 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 18.2.0 + react-dom: 18.2.0(react@18.2.0) + styled-jsx: 5.1.1(@babel/core@7.22.9)(react@18.2.0) + optionalDependencies: + '@next/swc-darwin-arm64': 14.2.1 + '@next/swc-darwin-x64': 14.2.1 + '@next/swc-linux-arm64-gnu': 14.2.1 + '@next/swc-linux-arm64-musl': 14.2.1 + '@next/swc-linux-x64-gnu': 14.2.1 + '@next/swc-linux-x64-musl': 14.2.1 + '@next/swc-win32-arm64-msvc': 14.2.1 + '@next/swc-win32-ia32-msvc': 14.2.1 + '@next/swc-win32-x64-msvc': 14.2.1 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + dev: false + + /nextjs-cors@2.1.2(next@14.2.1): resolution: {integrity: sha512-2yOVivaaf2ILe4f/qY32hnj3oC77VCOsUQJQfhVMGsXE/YMEWUY2zy78sH9FKUCM7eG42/l3pDofIzMD781XGA==} peerDependencies: next: ^8.1.1-canary.54 || ^9.0.0 || ^10.0.0-0 || ^11.0.0 || ^12.0.0 || ^13.0.0 dependencies: cors: 2.8.5 - next: 14.1.0(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) + next: 14.2.1(@playwright/test@1.41.2)(react-dom@18.2.0)(react@18.2.0) dev: false /no-case@2.3.2: @@ -18605,6 +18888,7 @@ packages: resolve: 1.22.8 semver: 5.7.2 validate-npm-package-license: 3.0.4 + dev: true /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} @@ -19079,13 +19363,11 @@ packages: resolution: {integrity: sha512-7RTr8P6YJPAqB+8j5ATGHqD6LvLLM39sYVNsslh78g8QeLcBs5750c6+msjrHUwwGt+kEbczBj1XB22WMwn+WA==} engines: {node: '>=16'} hasBin: true - dev: true /playwright-core@1.41.2: resolution: {integrity: sha512-VaTvwCA4Y8kxEe+kfm2+uUUw5Lubf38RxF7FpBxLPmGe5sdNkSg5e3ChEigaGrX7qdqT3pt2m/98LiyvU2x6CA==} engines: {node: '>=16'} hasBin: true - dev: true /playwright-core@1.42.1: resolution: {integrity: sha512-mxz6zclokgrke9p1vtdy/COWBH+eOZgYUVVU34C73M+4j4HLlQJHtfcqiqqxpP0o8HhMkflvfbquLX5dg6wlfA==} @@ -19101,7 +19383,6 @@ packages: playwright-core: 1.41.2 optionalDependencies: fsevents: 2.3.2 - dev: true /playwright@1.42.1: resolution: {integrity: sha512-PgwB03s2DZBcNRoW+1w9E+VkLBxweib6KTXM0M3tkiT4jVxKSi6PmVJ591J+0u10LUrgxB7dLRbiJqO5s2QPMg==} @@ -19618,15 +19899,6 @@ packages: picocolors: 1.0.0 source-map-js: 1.0.2 - /postcss@8.4.32: - resolution: {integrity: sha512-D/kj5JNu6oo2EIy+XL/26JEDTlIbB8hw85G8StOE6L74RQAVVP5rej6wxCNqyMbR4RkPfqvezVbPw81Ngd6Kcw==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: false - /postcss@8.4.35: resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} engines: {node: ^10 || ^12 || >=14} @@ -19859,11 +20131,6 @@ packages: /queue-microtask@1.2.3: resolution: {integrity: sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==} - /quick-lru@4.0.1: - resolution: {integrity: sha512-ARhCpm70fzdcvNQfPoy49IaanKkTlRWF2JMzqhcJbhSFRZv7nPTvZJdcY7301IPmvW+/p0RgIWnQDLJxifsQ7g==} - engines: {node: '>=8'} - dev: false - /quick-lru@5.1.1: resolution: {integrity: sha512-WuyALRjWPDGtt/wzJiadO5AXY+8hZ80hVpe6MyivgraREW751X3SbhRvG3eLKOYN+8VEvqLcf3wdnt44Z4S4SA==} engines: {node: '>=10'} @@ -19918,24 +20185,26 @@ packages: react: 18.2.0 scheduler: 0.23.0 - /react-email@2.0.0(eslint@8.44.0): - resolution: {integrity: sha512-XzxyWkrfZC3zF9HnAjWwB823u9eTMpAQCy+SjLMtNSh4i8WuV8Fr5LriTTz/p1RRt6aXoiV3c/ZthaDt0nvBEA==} + /react-email@2.1.1(eslint@8.44.0): + resolution: {integrity: sha512-09oMVl/jN0/Re0bT0sEqYjyyFSCN/Tg0YmzjC9wfYpnMx02Apk40XXitySDfUBMR9EgTdr6T4lYknACqiLK3mg==} engines: {node: '>=18.0.0'} hasBin: true dependencies: + '@babel/parser': 7.24.1 '@radix-ui/colors': 1.0.1 '@radix-ui/react-collapsible': 1.0.3(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) - '@radix-ui/react-popover': 1.0.6(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) + '@radix-ui/react-popover': 1.0.7(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-slot': 1.0.2(@types/react@18.2.15)(react@18.2.0) '@radix-ui/react-toggle-group': 1.0.4(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) '@radix-ui/react-tooltip': 1.0.6(@types/react-dom@18.2.21)(@types/react@18.2.15)(react-dom@18.2.0)(react@18.2.0) - '@react-email/components': 0.0.14(@types/react@18.2.15)(react@18.2.0) + '@react-email/components': 0.0.16(@types/react@18.2.15)(react@18.2.0) '@react-email/render': 0.0.12 '@swc/core': 1.3.101 '@types/react': 18.2.15 '@types/react-dom': 18.2.21 '@types/webpack': 5.28.5(@swc/core@1.3.101)(esbuild@0.19.11) - autoprefixer: 10.4.14(postcss@8.4.32) + autoprefixer: 10.4.14(postcss@8.4.35) + babel-walk: 3.0.0 chalk: 4.1.2 chokidar: 3.5.3 clsx: 2.1.0 @@ -19948,10 +20217,10 @@ packages: glob: 10.3.4 log-symbols: 4.1.0 mime-types: 2.1.35 - next: 14.0.5-canary.46(react-dom@18.2.0)(react@18.2.0) + next: 14.1.0(@babel/core@7.22.9)(react-dom@18.2.0)(react@18.2.0) normalize-path: 3.0.0 ora: 5.4.1 - postcss: 8.4.32 + postcss: 8.4.35 prism-react-renderer: 2.1.0(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -19963,7 +20232,6 @@ packages: stacktrace-parser: 0.1.10 tailwind-merge: 2.2.0 tailwindcss: 3.4.0 - tree-cli: 0.6.7 typescript: 5.1.6 transitivePeerDependencies: - '@babel/core' @@ -20264,6 +20532,7 @@ packages: find-up: 4.1.0 read-pkg: 5.2.0 type-fest: 0.8.1 + dev: true /read-pkg@5.2.0: resolution: {integrity: sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==} @@ -20273,6 +20542,7 @@ packages: normalize-package-data: 2.5.0 parse-json: 5.2.0 type-fest: 0.6.0 + dev: true /readable-stream@3.6.2: resolution: {integrity: sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==} @@ -20295,14 +20565,6 @@ packages: resolve: 1.22.8 dev: false - /redent@3.0.0: - resolution: {integrity: sha512-6tDA8g98We0zd0GvVeMT9arEOnTw9qM03L9cJXaCjrip1OO764RDBLBfrB4cwzNGDj5OA5ioymC9GkizgWJDUg==} - engines: {node: '>=8'} - dependencies: - indent-string: 4.0.0 - strip-indent: 3.0.0 - dev: false - /reflect.getprototypeof@1.0.5: resolution: {integrity: sha512-62wgfC8dJWrmxv44CA36pLDnP6KKl3Vhxb7PL+8+qrrFMMoJij4vgiMP8zV4O8+CBMXY1mHxI5fITGHXFHVmQQ==} engines: {node: '>= 0.4'} @@ -20776,6 +21038,7 @@ packages: /semver@5.7.2: resolution: {integrity: sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==} hasBin: true + dev: true /semver@6.3.1: resolution: {integrity: sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==} @@ -21178,18 +21441,22 @@ packages: dependencies: spdx-expression-parse: 3.0.1 spdx-license-ids: 3.0.17 + dev: true /spdx-exceptions@2.5.0: resolution: {integrity: sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==} + dev: true /spdx-expression-parse@3.0.1: resolution: {integrity: sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==} dependencies: spdx-exceptions: 2.5.0 spdx-license-ids: 3.0.17 + dev: true /spdx-license-ids@3.0.17: resolution: {integrity: sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==} + dev: true /split-on-first@1.1.0: resolution: {integrity: sha512-43ZssAJaMusuKWL8sKUBQXHWOpq8d6CfN/u1p4gUzfJkM05C8rxTmYrkIPTXapZpORA6LkkzcUulJ8FqA7Uudw==} @@ -21366,13 +21633,6 @@ packages: character-entities-html4: 2.1.0 character-entities-legacy: 3.0.0 - /strip-ansi@3.0.1: - resolution: {integrity: sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==} - engines: {node: '>=0.10.0'} - dependencies: - ansi-regex: 2.1.1 - dev: false - /strip-ansi@4.0.0: resolution: {integrity: sha512-4XaJ2zQdCzROZDivEVIDPkcQn8LMFSa8kj8Gxb/Lnwzv9A8VctNZ+lfivC/sV3ivW8ElJTERXZoPBRrZKkNKow==} engines: {node: '>=4'} @@ -21416,13 +21676,6 @@ packages: resolution: {integrity: sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==} engines: {node: '>=6'} - /strip-indent@3.0.0: - resolution: {integrity: sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==} - engines: {node: '>=8'} - dependencies: - min-indent: 1.0.1 - dev: false - /strip-json-comments@3.1.1: resolution: {integrity: sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==} engines: {node: '>=8'} @@ -21514,11 +21767,6 @@ packages: copy-anything: 3.0.5 dev: true - /supports-color@2.0.0: - resolution: {integrity: sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==} - engines: {node: '>=0.8.0'} - dev: false - /supports-color@5.5.0: resolution: {integrity: sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==} engines: {node: '>=4'} @@ -21706,7 +21954,7 @@ packages: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 - chokidar: 3.5.3 + chokidar: 3.6.0 didyoumean: 1.2.2 dlv: 1.1.3 fast-glob: 3.3.2 @@ -21916,19 +22164,6 @@ packages: punycode: 2.3.1 dev: true - /tree-cli@0.6.7: - resolution: {integrity: sha512-jfnB5YKY6Glf6bsFmQ9W97TtkPVLnHsjOR6ZdRf4zhyFRQeLheasvzE5XBJI2Hxt7ZyMyIbXUV7E2YPZbixgtA==} - engines: {node: '>=8.10.9'} - hasBin: true - dependencies: - bluebird: 3.7.2 - chalk: 1.1.3 - cli-spinner: 0.2.10 - lodash.includes: 4.3.0 - meow: 7.1.1 - object-assign: 4.1.1 - dev: false - /tree-kill@1.2.2: resolution: {integrity: sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==} hasBin: true @@ -21938,11 +22173,6 @@ packages: resolution: {integrity: sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==} dev: false - /trim-newlines@3.0.1: - resolution: {integrity: sha512-c1PTsA3tYrIsLGkJkzHF+w9F2EyxfXGo4UyJc4pFL++FMjnq0HJS69T3M7d//gKrFKwy429bouPescbjecU+Zw==} - engines: {node: '>=8'} - dev: false - /trough@2.2.0: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} @@ -22203,11 +22433,6 @@ packages: engines: {node: '>=4'} dev: true - /type-fest@0.13.1: - resolution: {integrity: sha512-34R7HTnG0XIJcBSn5XhDd7nNFPRcXYRZrBB2O2jdKqYODldSzBAqzsWoZYYvduky73toYS/ESqxPvkDf/F0XMg==} - engines: {node: '>=10'} - dev: false - /type-fest@0.20.2: resolution: {integrity: sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==} engines: {node: '>=10'} @@ -22220,6 +22445,7 @@ packages: /type-fest@0.6.0: resolution: {integrity: sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==} engines: {node: '>=8'} + dev: true /type-fest@0.7.1: resolution: {integrity: sha512-Ne2YiiGN8bmrmJJEuTWTLJR32nh/JdL1+PSicowtNb0WFpn59GK8/lfD61bVtzguz7b3PBt74nxpv/Pw5po5Rg==} @@ -22229,6 +22455,7 @@ packages: /type-fest@0.8.1: resolution: {integrity: sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==} engines: {node: '>=8'} + dev: true /type-fest@2.19.0: resolution: {integrity: sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA==} @@ -22684,6 +22911,7 @@ packages: dependencies: spdx-correct: 3.2.0 spdx-expression-parse: 3.0.1 + dev: true /validator@13.11.0: resolution: {integrity: sha512-Ii+sehpSfZy+At5nPdnyMhx78fEoPDkR2XW/zimHEL3MyGJQOCQ7WeP20jPYRz7ZCpcKLB21NxuXHF3bxjStBQ==} @@ -23252,7 +23480,7 @@ packages: /zod@3.22.4: resolution: {integrity: sha512-iC+8Io04lddc+mVqQ9AZ7OQ2MrUKGN+oIQyq1vemgt46jwCwLfhq7/pwnBnNXXXZb8VTVLKwp9EDkx+ryxIWmg==} - /zustand-x@3.0.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.0): + /zustand-x@3.0.2(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0)(zustand@4.5.2): resolution: {integrity: sha512-tb4qMWbmgrWEdemb+LlrJiHI1ZMxwlQNz7jDHN5iA/vmU8xlpAX80MQZ2FNLP2KejBFEnsA1RWRAO/0D5O0rPw==} peerDependencies: zustand: '>=4.3.9' @@ -23260,7 +23488,7 @@ packages: immer: 10.0.4 lodash.mapvalues: 4.6.0 react-tracked: 1.7.14(react-dom@18.2.0)(react@18.2.0)(scheduler@0.23.0) - zustand: 4.5.0(@types/react@18.2.15)(immer@10.0.2)(react@18.2.0) + zustand: 4.5.2(@types/react@18.2.15)(immer@10.0.2)(react@18.2.0) transitivePeerDependencies: - react - react-dom @@ -23289,5 +23517,26 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false + /zustand@4.5.2(@types/react@18.2.15)(immer@10.0.2)(react@18.2.0): + resolution: {integrity: sha512-2cN1tPkDVkwCy5ickKrI7vijSjPksFRfqS6237NzT0vqSsztTNnQdHw9mmN7uBdk3gceVXU0a+21jFzFzAc9+g==} + engines: {node: '>=12.7.0'} + peerDependencies: + '@types/react': '>=16.8' + immer: '>=9.0.6' + react: '>=16.8' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + dependencies: + '@types/react': 18.2.15 + immer: 10.0.2 + react: 18.2.0 + use-sync-external-store: 1.2.0(react@18.2.0) + dev: false + /zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==}