(defaultSignature);
+ const [saved, setSaved] = useState(false);
+ const [sent, setSent] = useState(false);
+
+ const handleEmailChange = (
+ tab: TabId,
+ field: keyof EmailData,
+ value: string,
+ ) => {
+ setEmails((prev) => ({ ...prev, [tab]: { ...prev[tab], [field]: value } }));
+ };
+
+ const handleSave = () => {
+ console.log('[EmailEditor] Save payload:', {
+ tab: activeTab,
+ subject: emails[activeTab].subject,
+ body: emails[activeTab].body,
+ signature: sig,
+ });
+ setSaved(true);
+ setTimeout(() => setSaved(false), 2500);
+ };
+
+ const handleSend = () => {
+ const email = emails[activeTab];
+ const fullHTML = `
+
+ ${email.body}
+ ${buildSignatureHTML(sig)}
+
+ `;
+ console.log('[EmailEditor] Send payload:', {
+ to: '[recipient]',
+ subject: email.subject,
+ html: fullHTML,
+ });
+ setSent(true);
+ setTimeout(() => setSent(false), 2500);
+ };
+
+ return (
+
+
+ {TAB_CONFIG.map((tab) => (
+ setActiveTab(tab.id)}
+ className={`flex items-center px-4 py-2 rounded-sm text-sm font-medium transition-all ${
+ activeTab === tab.id
+ ? 'bg-emerald-700 text-white'
+ : 'text-neutral-700 hover:bg-neutral-100'
+ }`}
+ >
+ {tab.label}
+
+ ))}
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/frontend/src/components/EmailComms/EmailEditorCard.tsx b/apps/frontend/src/components/EmailComms/EmailEditorCard.tsx
new file mode 100644
index 0000000..7d61341
--- /dev/null
+++ b/apps/frontend/src/components/EmailComms/EmailEditorCard.tsx
@@ -0,0 +1,86 @@
+import type { TabId, EmailData, EmailsState, Signature } from './types';
+import RichTextEditor from './RichTextEditor';
+import { Button } from './../ui/button';
+import SignatureEditorCard from './SignatureEditorCard';
+import { Label } from '../ui/label';
+
+type EmailEditorCardProps = {
+ activeTab: TabId;
+ emails: EmailsState;
+ onEmailChange: (tab: TabId, field: keyof EmailData, value: string) => void;
+ sig: Signature;
+ onSigChange: (sig: Signature) => void;
+ saved: boolean;
+ sent: boolean;
+ onSave: () => void;
+ onSend: () => void;
+};
+
+export default function EmailEditorCard({
+ activeTab,
+ emails,
+ onEmailChange,
+ sig,
+ onSigChange,
+ saved,
+ sent,
+ onSave,
+ onSend,
+}: EmailEditorCardProps) {
+ const currentEmail = emails[activeTab];
+
+ return (
+
+
+ Subject Line
+
+ onEmailChange(activeTab, 'subject', e.target.value)}
+ className="border border-slate-200 rounded-xl px-4 py-3 text-sm focus:ring-2 focus:ring-emerald-600 outline-none transition"
+ placeholder="Email subject…"
+ />
+
+
+
+ Body Text
+
+ onEmailChange(activeTab, 'body', html)}
+ />
+
+
+
+
+ Email Signature
+
+
+
+
+
+
+
+ Call to Action
+
+
+
+
+
+ {saved ? 'Saved' : 'Save Changes'}
+
+
+
+ {sent ? 'Sent!' : 'Send Email'}
+
+
+
+ );
+}
diff --git a/apps/frontend/src/components/EmailComms/EmailPreviewPanel.tsx b/apps/frontend/src/components/EmailComms/EmailPreviewPanel.tsx
new file mode 100644
index 0000000..946923c
--- /dev/null
+++ b/apps/frontend/src/components/EmailComms/EmailPreviewPanel.tsx
@@ -0,0 +1,41 @@
+import type { EmailTabId, EmailsState, Signature } from './types';
+import { buildSignatureHTML } from './types';
+import FCCEmailHeader from './FCCEmailHeader.svg';
+
+interface EmailPreviewPanelProps {
+ activeTab: EmailTabId;
+ emails: EmailsState;
+ sig: Signature;
+}
+
+export default function EmailPreviewPanel({
+ activeTab,
+ emails,
+ sig,
+}: EmailPreviewPanelProps) {
+ const email = emails[activeTab];
+
+ return (
+
+
+ Email Preview
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/frontend/src/components/EmailComms/FCCEmailHeader.svg b/apps/frontend/src/components/EmailComms/FCCEmailHeader.svg
new file mode 100644
index 0000000..3017957
--- /dev/null
+++ b/apps/frontend/src/components/EmailComms/FCCEmailHeader.svg
@@ -0,0 +1,9 @@
+
+
+
+
+
+
+
+
+
diff --git a/apps/frontend/src/components/EmailComms/RichTextEditor.tsx b/apps/frontend/src/components/EmailComms/RichTextEditor.tsx
new file mode 100644
index 0000000..971c18c
--- /dev/null
+++ b/apps/frontend/src/components/EmailComms/RichTextEditor.tsx
@@ -0,0 +1,319 @@
+import ToolBarButton from './ToolBarButton';
+import { useCallback } from 'react';
+import { useEditor, EditorContent } from '@tiptap/react';
+import StarterKit from '@tiptap/starter-kit';
+import Underline from '@tiptap/extension-underline';
+import Link from '@tiptap/extension-link';
+import TextAlign from '@tiptap/extension-text-align';
+import Placeholder from '@tiptap/extension-placeholder';
+import Strike from '@tiptap/extension-strike';
+
+export default function RichTextEditor({
+ content,
+ onUpdate,
+}: {
+ content: string;
+ onUpdate: (html: string) => void;
+}) {
+ const editor = useEditor({
+ extensions: [
+ StarterKit.configure({
+ heading: { levels: [1, 2, 3] },
+ bulletList: {},
+ orderedList: {},
+ bold: {},
+ italic: {},
+ strike: {},
+ }),
+ Underline,
+ Link.configure({ openOnClick: false }),
+ TextAlign.configure({ types: ['heading', 'paragraph'] }),
+ Placeholder.configure({ placeholder: 'Type your message here…' }),
+ ],
+ content,
+ onUpdate: ({ editor }) => onUpdate(editor.getHTML()),
+ editorProps: {
+ attributes: {
+ class:
+ 'prose prose-sm max-w-none min-h-[220px] focus:outline-none px-4 py-3 text-slate-700 leading-relaxed',
+ },
+ },
+ });
+
+ const setLink = useCallback(() => {
+ if (!editor) return;
+ const prev = editor.getAttributes('link').href ?? '';
+ const url = window.prompt('Enter URL', prev);
+ if (url === null) return;
+ if (url === '') {
+ editor.chain().focus().extendMarkRange('link').unsetLink().run();
+ return;
+ }
+ editor.chain().focus().extendMarkRange('link').setLink({ href: url }).run();
+ }, [editor]);
+
+ if (!editor) return null;
+
+ return (
+
+
+
editor.chain().focus().undo().run()}
+ >
+
+
+
+
+
+
+
editor.chain().focus().redo().run()}
+ >
+
+
+
+
+
+
+
+
+
+
{
+ const val = e.target.value;
+ if (val === 'p') editor.chain().focus().setParagraph().run();
+ else if (val === 'h1')
+ editor.chain().focus().toggleHeading({ level: 1 }).run();
+ else if (val === 'h2')
+ editor.chain().focus().toggleHeading({ level: 2 }).run();
+ else if (val === 'h3')
+ editor.chain().focus().toggleHeading({ level: 3 }).run();
+ }}
+ >
+
+ Normal text
+
+
+ Heading 1
+
+
+ Heading 2
+
+
+ Heading 3
+
+
+
+
+
+
+
+
+
+
editor.chain().focus().setTextAlign('left').run()}
+ >
+
+
+
+
+
+
+
+
+
+
editor.chain().focus().toggleBold().run()}
+ >
+ B
+
+
+
editor.chain().focus().toggleItalic().run()}
+ >
+ I
+
+
+
editor.chain().focus().toggleUnderline().run()}
+ >
+ U
+
+
+
editor.chain().focus().toggleStrike().run()}
+ >
+ S
+
+
+
editor.chain().focus().toggleCode().run()}
+ >
+
+
+
+
+
+
+
editor.chain().focus().toggleCode().run()}
+ >
+
+
+
+
+
+
+
+
+
editor.chain().focus().toggleBulletList().run()}
+ >
+
+
+
+
+
+
+
+
+
+
+
editor.chain().focus().toggleOrderedList().run()}
+ >
+
+
+ 1.
+
+
+
+ 2.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ );
+}
diff --git a/apps/frontend/src/components/EmailComms/SignatureEditorCard.tsx b/apps/frontend/src/components/EmailComms/SignatureEditorCard.tsx
new file mode 100644
index 0000000..ae25c91
--- /dev/null
+++ b/apps/frontend/src/components/EmailComms/SignatureEditorCard.tsx
@@ -0,0 +1,35 @@
+import type { Signature } from './types';
+export default function SignatureEditor({
+ sig,
+ onChange,
+}: {
+ sig: Signature;
+ onChange: (s: Signature) => void;
+}) {
+ const field = (label: string, key: keyof Signature, placeholder: string) => (
+
+
+ {label}
+
+
+ onChange({ ...sig, [key]: e.target.value })}
+ placeholder={placeholder}
+ className="border border-slate-200 rounded-lg px-3 py-2 text-sm text-slate-700 focus:outline-none focus:ring-2 focus:ring-indigo-400 transition bg-white"
+ />
+
+ );
+
+ return (
+
+
+ {field('Full Name', 'name', 'Your name')}
+
+ {field('Position', 'position', 'Your title')}
+
+ {field('Email', 'email', 'you@company.com')}
+
+
+ );
+}
diff --git a/apps/frontend/src/components/EmailComms/ToolBarButton.tsx b/apps/frontend/src/components/EmailComms/ToolBarButton.tsx
new file mode 100644
index 0000000..d81ff5b
--- /dev/null
+++ b/apps/frontend/src/components/EmailComms/ToolBarButton.tsx
@@ -0,0 +1,27 @@
+export default function ToolBarButton({
+ onClick,
+ active,
+ title,
+ children,
+}: {
+ onClick: () => void;
+ active?: boolean;
+ title: string;
+ children: React.ReactNode;
+}) {
+ return (
+ {
+ e.preventDefault();
+ onClick();
+ }}
+ title={title}
+ className={`w-7 self-stretch flex items-center justify-center rounded text-sm transition-all text-[#212529] ${
+ active ? 'bg-[#212529]/15' : 'hover:bg-[#212529]/10'
+ }`}
+ >
+ {children}
+
+ );
+}
diff --git a/apps/frontend/src/components/EmailComms/types.ts b/apps/frontend/src/components/EmailComms/types.ts
new file mode 100644
index 0000000..320e094
--- /dev/null
+++ b/apps/frontend/src/components/EmailComms/types.ts
@@ -0,0 +1,91 @@
+export type EmailTabId = 'donation' | 'relapsed' | 'mass';
+export type TabId = EmailTabId;
+
+export type Signature = {
+ name: string;
+ position: string;
+ email: string;
+ pronouns: string;
+ phone: string;
+ website: string;
+ linkedin: string;
+ X: string;
+ facebook: string;
+};
+
+export type EmailData = {
+ subject: string;
+ body: string;
+};
+
+export type EmailsState = Record;
+
+export const defaultEmails: EmailsState = {
+ donation: {
+ subject: 'Thank You For Your Donation!',
+ body: 'Dear [Donor Name] ,
Thank you sincerely for your generous donation of [Amount] . Your support makes a real difference in the lives of those we serve.
Because of donors like you, we can continue our mission to bring positive change to our community.
With gratitude,
',
+ },
+ relapsed: {
+ subject: "We've Missed You — Come Back!",
+ body: "Dear [Donor Name] ,
It's been a while since we last heard from you, and we wanted to reach out personally.
Your past generosity helped us accomplish so much, and we'd love to have you rejoin our community of supporters. Every contribution — big or small — creates lasting impact.
Warmly,
",
+ },
+ mass: {
+ subject: 'An Important Update From Us',
+ body: 'Dear Supporter,
We have an exciting update to share with you regarding our upcoming initiatives. As a valued member of our community, you deserve to hear about this first.
Please read below for full details.
',
+ },
+};
+
+export const defaultSignature: Signature = {
+ name: 'Mallory Rohig',
+ position: 'Executive Director',
+ email: 'filler-email@gmail.com',
+ pronouns: '(she/her)',
+ phone: '+1 (555) 234-5678',
+ website: 'https://fenwaycommunitycenter.org/',
+ linkedin: 'https://www.linkedin.com/company/fenwaycommunitycenter/',
+ X: 'https://fenwaycommunitycenter.org/?share=x&nb=1',
+ facebook: 'https://fenwaycommunitycenter.org/?share=facebook&nb=1',
+};
+
+export const TAB_CONFIG: { id: TabId; label: string }[] = [
+ { id: 'donation', label: 'Donation Response' },
+ { id: 'relapsed', label: 'Relapsed Donor Message' },
+ { id: 'mass', label: 'Mass Emaill' },
+];
+
+export function buildSignatureHTML(sig: Signature): string {
+ const socialHTML = [
+ sig.linkedin
+ ? `in `
+ : '',
+ sig.X
+ ? `𝕏 `
+ : '',
+ sig.facebook
+ ? `◎ `
+ : '',
+ ].join('');
+
+ return `
+
+
+
+ We hope you will join us and stay safe.
+
+
+
+
+
+ ${sig.name}
+
+ ${sig.position}
+
+ ${sig.pronouns}
+ ${sig.website ? `${sig.website}
` : ''}
+ ${socialHTML}
+
+
+
+
+ `;
+}
diff --git a/apps/frontend/src/containers/dashboard/OverviewPage.tsx b/apps/frontend/src/containers/dashboard/OverviewPage.tsx
new file mode 100644
index 0000000..716afff
--- /dev/null
+++ b/apps/frontend/src/containers/dashboard/OverviewPage.tsx
@@ -0,0 +1,103 @@
+import { useEffect, useMemo, useState } from 'react';
+import { useAuth } from '../../components/AuthProvider';
+import apiClient from '../../api/apiClient';
+import DonationStatCard from './sidebar/DonationStatCard';
+import { getDisplayName } from '../../utils/user';
+import { PiggyBank, Clock, CalendarDays } from 'lucide-react';
+import welcomeBackground from '../../assets/green-boston-background.png';
+
+type DonationStats = {
+ total: number;
+ yearToDate: number;
+ monthToDate: number;
+};
+
+const defaultStats: DonationStats = {
+ total: 0,
+ yearToDate: 0,
+ monthToDate: 0,
+};
+
+export default function OverviewPage() {
+ const { user } = useAuth();
+ const [stats, setStats] = useState(defaultStats);
+
+ useEffect(() => {
+ const fetchStats = async () => {
+ try {
+ const response = await apiClient.getDonationStats();
+ setStats({
+ total: Number(response?.total ?? 0),
+ yearToDate: Number(response?.yearToDate ?? 0),
+ monthToDate: Number(response?.monthToDate ?? 0),
+ });
+ } catch {
+ setStats(defaultStats);
+ }
+ };
+
+ fetchStats();
+ }, []);
+
+ const displayUserName = useMemo(() => getDisplayName(user), [user]);
+
+ const formatCurrency = (amount: number) =>
+ new Intl.NumberFormat('en-US', {
+ style: 'currency',
+ currency: 'USD',
+ maximumFractionDigits: 0,
+ }).format(amount);
+
+ return (
+
+
+
+ Donations Raised
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Welcome
+
+
+ {displayUserName}
+
+
+
+
+
+ );
+}
diff --git a/apps/frontend/src/containers/dashboard/sidebar/DashboardOverview.tsx b/apps/frontend/src/containers/dashboard/sidebar/DashboardOverview.tsx
new file mode 100644
index 0000000..a2530c7
--- /dev/null
+++ b/apps/frontend/src/containers/dashboard/sidebar/DashboardOverview.tsx
@@ -0,0 +1,16 @@
+import Sidebar from './Sidebar';
+import Header from '../header/Header';
+import { Outlet } from 'react-router-dom';
+
+export default function DashboardOverview() {
+ return (
+
+ );
+}
diff --git a/apps/frontend/src/containers/dashboard/sidebar/Sidebar.tsx b/apps/frontend/src/containers/dashboard/sidebar/Sidebar.tsx
index f08548a..3726782 100644
--- a/apps/frontend/src/containers/dashboard/sidebar/Sidebar.tsx
+++ b/apps/frontend/src/containers/dashboard/sidebar/Sidebar.tsx
@@ -26,27 +26,27 @@ type NavItem = {
const navItems: NavItem[] = [
{
label: 'Dashboard Overview',
- href: '/dashboard',
+ href: '/overview',
icon: Bookmark,
},
{
label: 'Donation Tracker',
- href: '/dashboard/donations',
+ href: '/overview/donations',
icon: ListFilter,
},
{
label: 'Email Communication',
- href: '/dashboard/email',
+ href: '/overview/email',
icon: Mail,
},
{
label: 'Admin Approval',
- href: '/dashboard/approval',
+ href: '/overview/approval',
icon: BadgeCheck,
},
{
label: 'Settings',
- href: '/dashboard/settings',
+ href: '/overview/settings',
icon: Settings,
},
];
@@ -66,7 +66,6 @@ export default function Sidebar({ className }: SidebarProps) {
className,
)}
>
- {/*Top Logo Section */}
- {/*Navigation */}
{navItems.map((item) => {
const isActive = pathname === item.href;
diff --git a/apps/frontend/src/containers/dashboard/sidebar/SidebarTester.tsx b/apps/frontend/src/containers/dashboard/sidebar/SidebarTester.tsx
deleted file mode 100644
index a2c035c..0000000
--- a/apps/frontend/src/containers/dashboard/sidebar/SidebarTester.tsx
+++ /dev/null
@@ -1,109 +0,0 @@
-import { useEffect, useMemo, useState } from 'react';
-import Sidebar from './Sidebar';
-import Header from '../header/Header';
-import { useAuth } from '../../../components/AuthProvider';
-import apiClient from '../../../api/apiClient';
-import DonationStatCard from './DonationStatCard';
-import { getDisplayName } from '../../../utils/user';
-import { PiggyBank, Clock, CalendarDays } from 'lucide-react';
-import welcomeBackground from '../../../assets/green-boston-background.png';
-
-type DonationStats = {
- total: number;
- yearToDate: number;
- monthToDate: number;
-};
-
-const defaultStats: DonationStats = {
- total: 0,
- yearToDate: 0,
- monthToDate: 0,
-};
-
-export default function SidebarTester() {
- const { user } = useAuth();
- const [stats, setStats] = useState(defaultStats);
-
- useEffect(() => {
- const fetchStats = async () => {
- try {
- const response = await apiClient.getDonationStats();
- setStats({
- total: Number(response?.total ?? 0),
- yearToDate: Number(response?.yearToDate ?? 0),
- monthToDate: Number(response?.monthToDate ?? 0),
- });
- } catch {
- setStats(defaultStats);
- }
- };
-
- fetchStats();
- }, []);
-
- const displayUserName = useMemo(() => getDisplayName(user), [user]);
-
- const formatCurrency = (amount: number) =>
- new Intl.NumberFormat('en-US', {
- style: 'currency',
- currency: 'USD',
- maximumFractionDigits: 0,
- }).format(amount);
-
- return (
-
-
-
-
-
-
- Donations Raised
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Welcome
-
-
- {displayUserName}
-
-
-
-
-
-
- );
-}
diff --git a/package.json b/package.json
index 62b3e08..f8db527 100644
--- a/package.json
+++ b/package.json
@@ -47,6 +47,13 @@
"@radix-ui/react-primitive": "^2.1.4",
"@radix-ui/react-select": "^2.2.6",
"@radix-ui/react-slot": "^1.2.4",
+ "@tailwindcss/typography": "^0.5.19",
+ "@tiptap/extension-link": "^3.22.3",
+ "@tiptap/extension-placeholder": "^3.22.3",
+ "@tiptap/extension-text-align": "^3.22.3",
+ "@tiptap/extension-underline": "^3.22.3",
+ "@tiptap/react": "^3.22.3",
+ "@tiptap/starter-kit": "^3.22.3",
"@types/pg": "^8.15.5",
"@types/supertest": "^6.0.3",
"amazon-cognito-identity-js": "^6.3.5",
diff --git a/postcss.config.js b/postcss.config.js
index 2aa7205..c727b9d 100644
--- a/postcss.config.js
+++ b/postcss.config.js
@@ -1,6 +1,6 @@
export default {
plugins: {
- tailwindcss: {},
+ tailwindcss: { config: './tailwind.config.js' },
autoprefixer: {},
},
-};
+};
\ No newline at end of file
diff --git a/tailwind.config.ts b/tailwind.config.js
similarity index 69%
rename from tailwind.config.ts
rename to tailwind.config.js
index d320b1e..16166aa 100644
--- a/tailwind.config.ts
+++ b/tailwind.config.js
@@ -1,6 +1,4 @@
-import type { Config } from 'tailwindcss'
-
-export default {
+module.exports = {
content: [
'./apps/frontend/index.html',
'./apps/frontend/src/**/*.{js,ts,jsx,tsx}',
@@ -12,6 +10,5 @@ export default {
},
},
},
- plugins: [],
-} satisfies Config
-
+ plugins: [require('@tailwindcss/typography')],
+}
\ No newline at end of file
diff --git a/yarn.lock b/yarn.lock
index 28746f0..0b8af0a 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -99,47 +99,47 @@
tslib "^2.6.2"
"@aws-sdk/client-cognito-identity-provider@^3.410.0":
- version "3.1029.0"
- resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity-provider/-/client-cognito-identity-provider-3.1029.0.tgz#84819f726c75b6c74d650662af63691807ff6b04"
- integrity sha512-I/dtIDXY0HZwxpQ0w35CgtAj0Km69tZQdo84TEKZfnpEQ/huA6mUQHBnpICQvV6Nt+Ca7vsYwRvTDPluv9jbZQ==
+ version "3.1024.0"
+ resolved "https://registry.yarnpkg.com/@aws-sdk/client-cognito-identity-provider/-/client-cognito-identity-provider-3.1024.0.tgz#9a9c02214d8483e7585daff0eabcb2bb5f0babe0"
+ integrity sha512-rWDcqb3Z5x8704l4/zmSIsYtjcws5ugxt8e9/3uZLW5c/MkYZxNuFgRSbvsmdGzl4ZGqQdPFBIhMjGjV5g7noQ==
dependencies:
"@aws-crypto/sha256-browser" "5.2.0"
"@aws-crypto/sha256-js" "5.2.0"
- "@aws-sdk/core" "^3.973.27"
- "@aws-sdk/credential-provider-node" "^3.972.30"
- "@aws-sdk/middleware-host-header" "^3.972.9"
- "@aws-sdk/middleware-logger" "^3.972.9"
- "@aws-sdk/middleware-recursion-detection" "^3.972.10"
- "@aws-sdk/middleware-user-agent" "^3.972.29"
- "@aws-sdk/region-config-resolver" "^3.972.11"
- "@aws-sdk/types" "^3.973.7"
- "@aws-sdk/util-endpoints" "^3.996.6"
- "@aws-sdk/util-user-agent-browser" "^3.972.9"
- "@aws-sdk/util-user-agent-node" "^3.973.15"
- "@smithy/config-resolver" "^4.4.14"
- "@smithy/core" "^3.23.14"
- "@smithy/fetch-http-handler" "^5.3.16"
- "@smithy/hash-node" "^4.2.13"
- "@smithy/invalid-dependency" "^4.2.13"
- "@smithy/middleware-content-length" "^4.2.13"
- "@smithy/middleware-endpoint" "^4.4.29"
- "@smithy/middleware-retry" "^4.5.0"
- "@smithy/middleware-serde" "^4.2.17"
- "@smithy/middleware-stack" "^4.2.13"
- "@smithy/node-config-provider" "^4.3.13"
- "@smithy/node-http-handler" "^4.5.2"
- "@smithy/protocol-http" "^5.3.13"
- "@smithy/smithy-client" "^4.12.9"
- "@smithy/types" "^4.14.0"
- "@smithy/url-parser" "^4.2.13"
+ "@aws-sdk/core" "^3.973.26"
+ "@aws-sdk/credential-provider-node" "^3.972.29"
+ "@aws-sdk/middleware-host-header" "^3.972.8"
+ "@aws-sdk/middleware-logger" "^3.972.8"
+ "@aws-sdk/middleware-recursion-detection" "^3.972.9"
+ "@aws-sdk/middleware-user-agent" "^3.972.28"
+ "@aws-sdk/region-config-resolver" "^3.972.10"
+ "@aws-sdk/types" "^3.973.6"
+ "@aws-sdk/util-endpoints" "^3.996.5"
+ "@aws-sdk/util-user-agent-browser" "^3.972.8"
+ "@aws-sdk/util-user-agent-node" "^3.973.14"
+ "@smithy/config-resolver" "^4.4.13"
+ "@smithy/core" "^3.23.13"
+ "@smithy/fetch-http-handler" "^5.3.15"
+ "@smithy/hash-node" "^4.2.12"
+ "@smithy/invalid-dependency" "^4.2.12"
+ "@smithy/middleware-content-length" "^4.2.12"
+ "@smithy/middleware-endpoint" "^4.4.28"
+ "@smithy/middleware-retry" "^4.4.46"
+ "@smithy/middleware-serde" "^4.2.16"
+ "@smithy/middleware-stack" "^4.2.12"
+ "@smithy/node-config-provider" "^4.3.12"
+ "@smithy/node-http-handler" "^4.5.1"
+ "@smithy/protocol-http" "^5.3.12"
+ "@smithy/smithy-client" "^4.12.8"
+ "@smithy/types" "^4.13.1"
+ "@smithy/url-parser" "^4.2.12"
"@smithy/util-base64" "^4.3.2"
"@smithy/util-body-length-browser" "^4.2.2"
"@smithy/util-body-length-node" "^4.2.3"
- "@smithy/util-defaults-mode-browser" "^4.3.45"
- "@smithy/util-defaults-mode-node" "^4.2.49"
- "@smithy/util-endpoints" "^3.3.4"
- "@smithy/util-middleware" "^4.2.13"
- "@smithy/util-retry" "^4.3.0"
+ "@smithy/util-defaults-mode-browser" "^4.3.44"
+ "@smithy/util-defaults-mode-node" "^4.2.48"
+ "@smithy/util-endpoints" "^3.3.3"
+ "@smithy/util-middleware" "^4.2.12"
+ "@smithy/util-retry" "^4.2.13"
"@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
@@ -189,7 +189,7 @@
"@smithy/util-waiter" "^4.2.15"
tslib "^2.6.2"
-"@aws-sdk/core@^3.973.27":
+"@aws-sdk/core@^3.973.26", "@aws-sdk/core@^3.973.27":
version "3.973.27"
resolved "https://registry.yarnpkg.com/@aws-sdk/core/-/core-3.973.27.tgz#cc2872a8d54357f5bc6d9475400291c653ab5d08"
integrity sha512-CUZ5m8hwMCH6OYI4Li/WgMfIEx10Q2PLI9Y3XOUTPGZJ53aZ0007jCv+X/ywsaERyKPdw5MRZWk877roQksQ4A==
@@ -269,7 +269,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@aws-sdk/credential-provider-node@^3.972.30":
+"@aws-sdk/credential-provider-node@^3.972.29", "@aws-sdk/credential-provider-node@^3.972.30":
version "3.972.30"
resolved "https://registry.yarnpkg.com/@aws-sdk/credential-provider-node/-/credential-provider-node-3.972.30.tgz#cbf0da21b1fe14108829ed17eaa153fb5fe55c85"
integrity sha512-FMnAnWxc8PG+ZrZ2OBKzY4luCUJhe9CG0B9YwYr4pzrYGLXBS2rl+UoUvjGbAwiptxRL6hyA3lFn03Bv1TLqTw==
@@ -326,7 +326,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-host-header@^3.972.9":
+"@aws-sdk/middleware-host-header@^3.972.8", "@aws-sdk/middleware-host-header@^3.972.9":
version "3.972.9"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-host-header/-/middleware-host-header-3.972.9.tgz#0a7e66857bcb0ebce1aff1cd0e9eb2fe46069260"
integrity sha512-je5vRdNw4SkuTnmRbFZLdye4sQ0faLt8kwka5wnnSU30q1mHO4X+idGEJOOE+Tn1ME7Oryn05xxkDvIb3UaLaQ==
@@ -336,7 +336,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-logger@^3.972.9":
+"@aws-sdk/middleware-logger@^3.972.8", "@aws-sdk/middleware-logger@^3.972.9":
version "3.972.9"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-logger/-/middleware-logger-3.972.9.tgz#a47610fe11f953718d405ec3b36d807c9f3c8b22"
integrity sha512-HsVgDrruhqI28RkaXALm8grJ7Agc1wF6Et0xh6pom8NdO2VdO/SD9U/tPwUjewwK/pVoka+EShBxyCvgsPCtog==
@@ -345,7 +345,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-recursion-detection@^3.972.10":
+"@aws-sdk/middleware-recursion-detection@^3.972.10", "@aws-sdk/middleware-recursion-detection@^3.972.9":
version "3.972.10"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-recursion-detection/-/middleware-recursion-detection-3.972.10.tgz#9300b3fa7843f5c353b6be7a3c64a2cf486c3a22"
integrity sha512-RVQQbq5orQ/GHUnXvqEOj2HHPBJm+mM+ySwZKS5UaLBwra5ugRtiH09PLUoOZRl7a1YzaOzXSuGbn9iD5j60WQ==
@@ -356,7 +356,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@aws-sdk/middleware-user-agent@^3.972.29":
+"@aws-sdk/middleware-user-agent@^3.972.28", "@aws-sdk/middleware-user-agent@^3.972.29":
version "3.972.29"
resolved "https://registry.yarnpkg.com/@aws-sdk/middleware-user-agent/-/middleware-user-agent-3.972.29.tgz#60931e54bf78cfd41bb39e620d86e30bececbf43"
integrity sha512-f/sIRzuTfEjg6NsbMYvye2VsmnQoNgntntleQyx5uGacUYzszbfIlO3GcI6G6daWUmTm0IDZc11qMHWwF0o0mQ==
@@ -414,7 +414,7 @@
"@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
-"@aws-sdk/region-config-resolver@^3.972.11":
+"@aws-sdk/region-config-resolver@^3.972.10", "@aws-sdk/region-config-resolver@^3.972.11":
version "3.972.11"
resolved "https://registry.yarnpkg.com/@aws-sdk/region-config-resolver/-/region-config-resolver-3.972.11.tgz#b9e48d6b900b2a525adecd62ce67597ebf330835"
integrity sha512-6Q8B1dcx6BBqUTY1Mc/eROKA0FImEEY5VPSd6AGPEUf0ErjExz4snVqa9kNJSoVDV1rKaNf3qrWojgcKW+SdDg==
@@ -438,7 +438,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@aws-sdk/types@^3.1.0", "@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.973.7":
+"@aws-sdk/types@^3.1.0", "@aws-sdk/types@^3.222.0", "@aws-sdk/types@^3.973.6", "@aws-sdk/types@^3.973.7":
version "3.973.7"
resolved "https://registry.yarnpkg.com/@aws-sdk/types/-/types-3.973.7.tgz#0dc48b436638d9f19ca52f686912edda2d5d6dee"
integrity sha512-reXRwoJ6CfChoqAsBszUYajAF8Z2LRE+CRcKocvFSMpIiLOtYU3aJ9trmn6VVPAzbbY5LXF+FfmUslbXk1SYFg==
@@ -446,7 +446,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@aws-sdk/util-endpoints@^3.996.6":
+"@aws-sdk/util-endpoints@^3.996.5", "@aws-sdk/util-endpoints@^3.996.6":
version "3.996.6"
resolved "https://registry.yarnpkg.com/@aws-sdk/util-endpoints/-/util-endpoints-3.996.6.tgz#90934298b655d036d0b181b9fc3239629ba25166"
integrity sha512-2nUQ+2ih7CShuKHpGSIYvvAIOHy52dOZguYG36zptBukhw6iFwcvGfG0tes0oZFWQqEWvgZe9HLWaNlvXGdOrg==
@@ -464,7 +464,7 @@
dependencies:
tslib "^2.6.2"
-"@aws-sdk/util-user-agent-browser@^3.972.9":
+"@aws-sdk/util-user-agent-browser@^3.972.8", "@aws-sdk/util-user-agent-browser@^3.972.9":
version "3.972.9"
resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-browser/-/util-user-agent-browser-3.972.9.tgz#3fe2f2bf5949d6ccc21c1bcdd75fd79db6cd4d7f"
integrity sha512-sn/LMzTbGjYqCCF24390WxPd6hkpoSptiUn5DzVp4cD71yqw+yGEGm1YCxyEoPXyc8qciM8UzLJcZBFslxo5Uw==
@@ -474,7 +474,7 @@
bowser "^2.11.0"
tslib "^2.6.2"
-"@aws-sdk/util-user-agent-node@^3.973.15":
+"@aws-sdk/util-user-agent-node@^3.973.14", "@aws-sdk/util-user-agent-node@^3.973.15":
version "3.973.15"
resolved "https://registry.yarnpkg.com/@aws-sdk/util-user-agent-node/-/util-user-agent-node-3.973.15.tgz#ac4e1a42c89c205d30aa90992171848f8524d490"
integrity sha512-fYn3s9PtKdgQkczGZCFMgkNEe8aq1JCVbnRqjqN9RSVW43xn2RV9xdcZ3z01a48Jpkuh/xCmBKJxdLOo4Ozg7w==
@@ -2034,7 +2034,7 @@
dependencies:
"@floating-ui/utils" "^0.2.11"
-"@floating-ui/dom@^1.7.6":
+"@floating-ui/dom@^1.0.0", "@floating-ui/dom@^1.7.6":
version "1.7.6"
resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.7.6.tgz#f915bba5abbb177e1f227cacee1b4d0634b187bf"
integrity sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==
@@ -4818,6 +4818,11 @@
redux-thunk "^3.1.0"
reselect "^5.1.0"
+"@remirror/core-constants@3.0.0":
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/@remirror/core-constants/-/core-constants-3.0.0.tgz"
+ integrity sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg==
+
"@remix-run/router@1.23.2":
version "1.23.2"
resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.23.2.tgz"
@@ -5142,6 +5147,18 @@
dependencies:
"@sinonjs/commons" "^3.0.1"
+"@smithy/config-resolver@^4.4.13", "@smithy/config-resolver@^4.4.15":
+ version "4.4.15"
+ resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-4.4.15.tgz#38c396181d7ac41f2906c8c72f557ce366254cef"
+ integrity sha512-BJdMBY5YO9iHh+lPLYdHv6LbX+J8IcPCYMl1IJdBt2KDWNHwONHrPVHk3ttYBqJd9wxv84wlbN0f7GlQzcQtNQ==
+ dependencies:
+ "@smithy/node-config-provider" "^4.3.13"
+ "@smithy/types" "^4.14.0"
+ "@smithy/util-config-provider" "^4.2.2"
+ "@smithy/util-endpoints" "^3.4.0"
+ "@smithy/util-middleware" "^4.2.13"
+ tslib "^2.6.2"
+
"@smithy/config-resolver@^4.4.14":
version "4.4.14"
resolved "https://registry.yarnpkg.com/@smithy/config-resolver/-/config-resolver-4.4.14.tgz#6803498f1be96d88da3e6d88a244e4ec99fe3174"
@@ -5154,7 +5171,7 @@
"@smithy/util-middleware" "^4.2.13"
tslib "^2.6.2"
-"@smithy/core@^3.23.14":
+"@smithy/core@^3.23.13", "@smithy/core@^3.23.14":
version "3.23.14"
resolved "https://registry.yarnpkg.com/@smithy/core/-/core-3.23.14.tgz#29c3b6cf771ee8898018a1cc34c0fe3f418468e5"
integrity sha512-vJ0IhpZxZAkFYOegMKSrxw7ujhhT2pass/1UEcZ4kfl5srTAqtPU5I7MdYQoreVas3204ykCiNhY1o7Xlz6Yyg==
@@ -5181,7 +5198,7 @@
"@smithy/url-parser" "^4.2.13"
tslib "^2.6.2"
-"@smithy/fetch-http-handler@^5.3.16":
+"@smithy/fetch-http-handler@^5.3.15", "@smithy/fetch-http-handler@^5.3.16":
version "5.3.16"
resolved "https://registry.yarnpkg.com/@smithy/fetch-http-handler/-/fetch-http-handler-5.3.16.tgz#2cd94de19ac2bcdb51682259cf6dcacbb1b382a9"
integrity sha512-nYDRUIvNd4mFmuXraRWt6w5UsZTNqtj4hXJA/iiOD4tuseIdLP9Lq38teH/SZTcIFCa2f+27o7hYpIsWktJKEQ==
@@ -5192,7 +5209,7 @@
"@smithy/util-base64" "^4.3.2"
tslib "^2.6.2"
-"@smithy/hash-node@^4.2.13":
+"@smithy/hash-node@^4.2.12", "@smithy/hash-node@^4.2.13":
version "4.2.13"
resolved "https://registry.yarnpkg.com/@smithy/hash-node/-/hash-node-4.2.13.tgz#5ec1b80c27f5446136ce98bf6ab0b0594ca34511"
integrity sha512-4/oy9h0jjmY80a2gOIo75iLl8TOPhmtx4E2Hz+PfMjvx/vLtGY4TMU/35WRyH2JHPfT5CVB38u4JRow7gnmzJA==
@@ -5202,7 +5219,7 @@
"@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
-"@smithy/invalid-dependency@^4.2.13":
+"@smithy/invalid-dependency@^4.2.12", "@smithy/invalid-dependency@^4.2.13":
version "4.2.13"
resolved "https://registry.yarnpkg.com/@smithy/invalid-dependency/-/invalid-dependency-4.2.13.tgz#0f23859d529ba669f24860baacb41835f604a8ae"
integrity sha512-jvC0RB/8BLj2SMIkY0Npl425IdnxZJxInpZJbu563zIRnVjpDMXevU3VMCRSabaLB0kf/eFIOusdGstrLJ8IDg==
@@ -5224,7 +5241,7 @@
dependencies:
tslib "^2.6.2"
-"@smithy/middleware-content-length@^4.2.13":
+"@smithy/middleware-content-length@^4.2.12", "@smithy/middleware-content-length@^4.2.13":
version "4.2.13"
resolved "https://registry.yarnpkg.com/@smithy/middleware-content-length/-/middleware-content-length-4.2.13.tgz#0bbc3706fe1321ba99be29703ff98abde996d49d"
integrity sha512-IPMLm/LE4AZwu6qiE8Rr8vJsWhs9AtOdySRXrOM7xnvclp77Tyh7hMs/FRrMf26kgIe67vFJXXOSmVxS7oKeig==
@@ -5233,7 +5250,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@smithy/middleware-endpoint@^4.4.29":
+"@smithy/middleware-endpoint@^4.4.28", "@smithy/middleware-endpoint@^4.4.29":
version "4.4.29"
resolved "https://registry.yarnpkg.com/@smithy/middleware-endpoint/-/middleware-endpoint-4.4.29.tgz#86fa2f206469e48bff1b30b2c35e433b5f453119"
integrity sha512-R9Q/58U+qBiSARGWbAbFLczECg/RmysRksX6Q8BaQEpt75I7LI6WGDZnjuC9GXSGKljEbA7N118LhGaMbfrTXw==
@@ -5247,7 +5264,7 @@
"@smithy/util-middleware" "^4.2.13"
tslib "^2.6.2"
-"@smithy/middleware-retry@^4.5.0":
+"@smithy/middleware-retry@^4.4.46", "@smithy/middleware-retry@^4.5.0":
version "4.5.1"
resolved "https://registry.yarnpkg.com/@smithy/middleware-retry/-/middleware-retry-4.5.1.tgz#1b46e559c3857da1ef5bc6eca5228a521d7d6b40"
integrity sha512-/zY+Gp7Qj2D2hVm3irkCyONER7E9MiX3cUUm/k2ZmhkzZkrPgwVS4aJ5NriZUEN/M0D1hhjrgjUmX04HhRwdWA==
@@ -5263,7 +5280,7 @@
"@smithy/uuid" "^1.1.2"
tslib "^2.6.2"
-"@smithy/middleware-serde@^4.2.17":
+"@smithy/middleware-serde@^4.2.16", "@smithy/middleware-serde@^4.2.17":
version "4.2.17"
resolved "https://registry.yarnpkg.com/@smithy/middleware-serde/-/middleware-serde-4.2.17.tgz#45b1eaa99c3b536042eb56365096e6681f2a347b"
integrity sha512-0T2mcaM6v9W1xku86Dk0bEW7aEseG6KenFkPK98XNw0ZhOqOiD1MrMsdnQw9QsL3/Oa85T53iSMlm0SZdSuIEQ==
@@ -5273,7 +5290,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@smithy/middleware-stack@^4.2.13":
+"@smithy/middleware-stack@^4.2.12", "@smithy/middleware-stack@^4.2.13":
version "4.2.13"
resolved "https://registry.yarnpkg.com/@smithy/middleware-stack/-/middleware-stack-4.2.13.tgz#88007ea7eb40ab3ff632701c21149e0e8a57b55f"
integrity sha512-g72jN/sGDLyTanrCLH9fhg3oysO3f7tQa6eWWsMyn2BiYNCgjF24n4/I9wff/5XidFvjj9ilipAoQrurTUrLvw==
@@ -5281,7 +5298,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@smithy/node-config-provider@^4.3.13":
+"@smithy/node-config-provider@^4.3.12", "@smithy/node-config-provider@^4.3.13":
version "4.3.13"
resolved "https://registry.yarnpkg.com/@smithy/node-config-provider/-/node-config-provider-4.3.13.tgz#a65c696a38a0c2e7012652b1c1138799882b12bc"
integrity sha512-iGxQ04DsKXLckbgnX4ipElrOTk+IHgTyu0q0WssZfYhDm9CQWHmu6cOeI5wmWRxpXbBDhIIfXMWz5tPEtcVqbw==
@@ -5291,7 +5308,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@smithy/node-http-handler@^4.5.2":
+"@smithy/node-http-handler@^4.5.1", "@smithy/node-http-handler@^4.5.2":
version "4.5.2"
resolved "https://registry.yarnpkg.com/@smithy/node-http-handler/-/node-http-handler-4.5.2.tgz#21d70f4c9cf1ce59921567bab59ae1177b6c60b1"
integrity sha512-/oD7u8M0oj2ZTFw7GkuuHWpIxtWdLlnyNkbrWcyVYhd5RJNDuczdkb0wfnQICyNFrVPlr8YHOhamjNy3zidhmA==
@@ -5309,7 +5326,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@smithy/protocol-http@^5.3.13":
+"@smithy/protocol-http@^5.3.12", "@smithy/protocol-http@^5.3.13":
version "5.3.13"
resolved "https://registry.yarnpkg.com/@smithy/protocol-http/-/protocol-http-5.3.13.tgz#1e8fcacd61282cafc2c783ab002cb0debe763588"
integrity sha512-+HsmuJUF4u8POo6s8/a2Yb/AQ5t/YgLovCuHF9oxbocqv+SZ6gd8lC2duBFiCA/vFHoHQhoq7QjqJqZC6xOxxg==
@@ -5363,7 +5380,7 @@
"@smithy/util-utf8" "^4.2.2"
tslib "^2.6.2"
-"@smithy/smithy-client@^4.12.9":
+"@smithy/smithy-client@^4.12.8", "@smithy/smithy-client@^4.12.9":
version "4.12.9"
resolved "https://registry.yarnpkg.com/@smithy/smithy-client/-/smithy-client-4.12.9.tgz#2eb54ee07050a8bcd3792f8b8c4e03fac4bfb422"
integrity sha512-ovaLEcTU5olSeHcRXcxV6viaKtpkHZumn6Ps0yn7dRf2rRSfy794vpjOtrWDO0d1auDSvAqxO+lyhERSXQ03EQ==
@@ -5376,14 +5393,14 @@
"@smithy/util-stream" "^4.5.22"
tslib "^2.6.2"
-"@smithy/types@^4.14.0":
+"@smithy/types@^4.13.1", "@smithy/types@^4.14.0":
version "4.14.0"
resolved "https://registry.yarnpkg.com/@smithy/types/-/types-4.14.0.tgz#72fb6fd315f2eff7d4878142db2d1db4ef94f9bc"
integrity sha512-OWgntFLW88kx2qvf/c/67Vno1yuXm/f9M7QFAtVkkO29IJXGBIg0ycEaBTH0kvCtwmvZxRujrgP5a86RvsXJAQ==
dependencies:
tslib "^2.6.2"
-"@smithy/url-parser@^4.2.13":
+"@smithy/url-parser@^4.2.12", "@smithy/url-parser@^4.2.13":
version "4.2.13"
resolved "https://registry.yarnpkg.com/@smithy/url-parser/-/url-parser-4.2.13.tgz#cc582733d1181e1a135b05bb600f12c9889be7f4"
integrity sha512-2G03yoboIRZlZze2+PT4GZEjgwQsJjUgn6iTsvxA02bVceHR6vp4Cuk7TUnPFWKF+ffNUk3kj4COwkENS2K3vw==
@@ -5438,7 +5455,7 @@
dependencies:
tslib "^2.6.2"
-"@smithy/util-defaults-mode-browser@^4.3.45":
+"@smithy/util-defaults-mode-browser@^4.3.44", "@smithy/util-defaults-mode-browser@^4.3.45":
version "4.3.45"
resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-browser/-/util-defaults-mode-browser-4.3.45.tgz#42cb7fb97857a6b67d54e38adaf1476fdc7d1339"
integrity sha512-ag9sWc6/nWZAuK3Wm9KlFJUnRkXLrXn33RFjIAmCTFThqLHY+7wCst10BGq56FxslsDrjhSie46c8OULS+BiIw==
@@ -5448,6 +5465,19 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
+"@smithy/util-defaults-mode-node@^4.2.48":
+ version "4.2.50"
+ resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.50.tgz#6893eeb9036cb73bcc1cd9ed5f50bdbcbd745cda"
+ integrity sha512-xpjncL5XozFA3No7WypTsPU1du0fFS8flIyO+Wh2nhCy7bpEapvU7BR55Bg+wrfw+1cRA+8G8UsTjaxgzrMzXg==
+ dependencies:
+ "@smithy/config-resolver" "^4.4.15"
+ "@smithy/credential-provider-imds" "^4.2.13"
+ "@smithy/node-config-provider" "^4.3.13"
+ "@smithy/property-provider" "^4.2.13"
+ "@smithy/smithy-client" "^4.12.9"
+ "@smithy/types" "^4.14.0"
+ tslib "^2.6.2"
+
"@smithy/util-defaults-mode-node@^4.2.49":
version "4.2.49"
resolved "https://registry.yarnpkg.com/@smithy/util-defaults-mode-node/-/util-defaults-mode-node-4.2.49.tgz#fa443a16daedef503c0d41bbed22526c3e228cee"
@@ -5461,6 +5491,15 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
+"@smithy/util-endpoints@^3.3.3", "@smithy/util-endpoints@^3.4.0":
+ version "3.4.0"
+ resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-3.4.0.tgz#e66c4b34ad4cc1ef52864e3ba667b5e7f9109456"
+ integrity sha512-QQHGPKkw6NPcU6TJ1rNEEa201srPtZiX4k61xL163vvs9sTqW/XKz+UEuJ00uvPqoN+5Rs4Ka1UJ7+Mp03IXJw==
+ dependencies:
+ "@smithy/node-config-provider" "^4.3.13"
+ "@smithy/types" "^4.14.0"
+ tslib "^2.6.2"
+
"@smithy/util-endpoints@^3.3.4":
version "3.3.4"
resolved "https://registry.yarnpkg.com/@smithy/util-endpoints/-/util-endpoints-3.3.4.tgz#e372596c9aebd7939a0452f6b8ec417cfac18f7c"
@@ -5477,7 +5516,7 @@
dependencies:
tslib "^2.6.2"
-"@smithy/util-middleware@^4.2.13":
+"@smithy/util-middleware@^4.2.12", "@smithy/util-middleware@^4.2.13":
version "4.2.13"
resolved "https://registry.yarnpkg.com/@smithy/util-middleware/-/util-middleware-4.2.13.tgz#fda5518f95cc3f4a3086d9ee46cc42797baaedf8"
integrity sha512-GTooyrlmRTqvUen4eK7/K1p6kryF7bnDfq6XsAbIsf2mo51B/utaH+XThY6dKgNCWzMAaH/+OLmqaBuLhLWRow==
@@ -5485,7 +5524,7 @@
"@smithy/types" "^4.14.0"
tslib "^2.6.2"
-"@smithy/util-retry@^4.3.0", "@smithy/util-retry@^4.3.1":
+"@smithy/util-retry@^4.2.13", "@smithy/util-retry@^4.3.0", "@smithy/util-retry@^4.3.1":
version "4.3.1"
resolved "https://registry.yarnpkg.com/@smithy/util-retry/-/util-retry-4.3.1.tgz#80fff293d0b25734ed25e763cd6570d2b7e34c76"
integrity sha512-FwmicpgWOkP5kZUjN3y+3JIom8NLGqSAJBeoIgK0rIToI817TEBHCrd0A2qGeKQlgDeP+Jzn4i0H/NLAXGy9uQ==
@@ -5674,6 +5713,13 @@
dependencies:
tslib "^2.8.0"
+"@tailwindcss/typography@^0.5.19":
+ version "0.5.19"
+ resolved "https://registry.yarnpkg.com/@tailwindcss/typography/-/typography-0.5.19.tgz#ecb734af2569681eb40932f09f60c2848b909456"
+ integrity sha512-w31dd8HOx3k9vPtcQh5QHP9GwKcgbMp87j58qi6xgiBnFFtKEAgCWnDw4qUT8aHwkCp8bKvb/KGKWWHedP0AAg==
+ dependencies:
+ postcss-selector-parser "6.0.10"
+
"@testing-library/dom@^10.4.1":
version "10.4.1"
resolved "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz"
@@ -5700,6 +5746,211 @@
resolved "https://registry.npmjs.org/@testing-library/user-event/-/user-event-14.6.1.tgz"
integrity sha512-vq7fv0rnt+QTXgPxr5Hjc210p6YKq2kmdziLgnsZGgLJ9e6VAShx1pACLuRjd/AS/sr7phAR58OIIpf0LlmQNw==
+"@tiptap/core@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/core/-/core-3.22.3.tgz#89cd6d3d374f5f757bcb5e18e70c346a9eb9b2cd"
+ integrity sha512-Dv9MKK5BDWCF0N2l6/Pxv3JNCce2kwuWf2cKMBc2bEetx0Pn6o7zlFmSxMvYK4UtG1Tw9Yg/ZHi6QOFWK0Zm9Q==
+
+"@tiptap/extension-blockquote@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-blockquote/-/extension-blockquote-3.22.3.tgz#f444a9630b6305d7799201fc272c7be65323fc0e"
+ integrity sha512-IaUx3zh7yLHXzIXKL+fw/jzFhsIImdhJyw0lMhe8FfYrefFqXJFYW/sey6+L/e8B3AWvTksPA6VBwefzbH77JA==
+
+"@tiptap/extension-bold@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-bold/-/extension-bold-3.22.3.tgz#77c554c4ca0cd3f27c41d0d7acb9f128e14cc435"
+ integrity sha512-tysipHla2zCWr8XNIWRaW9O+7i7/SoEqnRqSRUUi2ailcJjlia+RBy3RykhkgyThrQDStu5KGBS/UvrXwA+O1A==
+
+"@tiptap/extension-bubble-menu@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-bubble-menu/-/extension-bubble-menu-3.22.3.tgz#f94a3ac119b8576d040dc458d44b4200ad03e27b"
+ integrity sha512-Y6zQjh0ypDg32HWgICEvmPSKjGLr39k3aDxxt/H0uQEZSfw4smT0hxUyyyjVjx68C6t6MTnwdfz0hPI5lL68vQ==
+ dependencies:
+ "@floating-ui/dom" "^1.0.0"
+
+"@tiptap/extension-bullet-list@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-bullet-list/-/extension-bullet-list-3.22.3.tgz#acf4b2e050b7909d9f54fad620e9ff458631eb67"
+ integrity sha512-xOmW/b1hgECIE6r3IeZvKn4VVlG3+dfTjCWE6lnnyLaqdNkNhKS1CwUmDZdYNLUS2ryIUtgz5ID1W/8A3PhbiA==
+
+"@tiptap/extension-code-block@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-code-block/-/extension-code-block-3.22.3.tgz#c8f5f02e0a1b4d4b06823b2aedd9be1ec4e8691f"
+ integrity sha512-RiQtEjDAPrHpdo6sw6b7fOw/PijqgFIsozKKkGcSeBgWHQuFg7q9OxJTj+l0e60rVwSu/5gmKEEobzM9bX+t2Q==
+
+"@tiptap/extension-code@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-code/-/extension-code-3.22.3.tgz#2d4d40e3b0b2b318f469e1504b2ebd738dca537d"
+ integrity sha512-wafWTDQOuMKtXpZEuk1PFQmzopabBciNLryL90MB9S03MNLaQQZYLnmYkDBlzAaLAbgF5QiC+2XZQEBQuTVjFQ==
+
+"@tiptap/extension-document@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-document/-/extension-document-3.22.3.tgz#5f0754b193023ccdddda2973f92b45b11fdd944a"
+ integrity sha512-MCSr1PFPtTd++lA3H1RNgqAczAE59XXJ5wUFIQf2F+/0DPY5q2SU4g5QsNJVxPPft5mrNT4C6ty8xBPrALFEdA==
+
+"@tiptap/extension-dropcursor@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-dropcursor/-/extension-dropcursor-3.22.3.tgz#33a571f63ed599bca0fbac48b17703c3787e4d52"
+ integrity sha512-taXq9Tl5aybdFbptJtFRHX9LFJzbXphAbPp4/vutFyTrBu5meXDxuS+B9pEmE+Or0XcolTlW2nDZB0Tqnr18JQ==
+
+"@tiptap/extension-floating-menu@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-floating-menu/-/extension-floating-menu-3.22.3.tgz#c9a911b7784cb45d6f8e7260d77bf2015066e5a4"
+ integrity sha512-0f8b4KZ3XKai8GXWseIYJGdOfQr3evtFbBo3U08zy2aYzMMXWG0zEF7qe5/oiYp2aZ95edjjITnEceviTsZkIg==
+
+"@tiptap/extension-gapcursor@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-gapcursor/-/extension-gapcursor-3.22.3.tgz#4a8865728c5e9ae19c3aa7f8acbb250ba2aee0c4"
+ integrity sha512-L/Px4UeQEVG/D9WIlcAOIej+4wyIBCMUSYicSR+hW68UsObe4rxVbUas1QgidQKm6DOhoT7U7D4KQHA/Gdg/7A==
+
+"@tiptap/extension-hard-break@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-hard-break/-/extension-hard-break-3.22.3.tgz#3637f724f5f4ad0f531093d860b4b7c5140519af"
+ integrity sha512-J0v8I99y9tbvVmgKYKzKP/JYNsWaZYS7avn4rzLft2OhnyTfwt3OoY8DtpHmmi6apSUaCtoWHWta/TmoEfK1nQ==
+
+"@tiptap/extension-heading@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-heading/-/extension-heading-3.22.3.tgz#13a15da1ea93c577d9b0abc5341be64bee15a363"
+ integrity sha512-XBHuhiEV2EEhZHpOLcplLqAmBIhJciU3I6AtwmqeEqDC0P114uMEfAO7JGlbBZdCYotNer26PKnu44TBTeNtkw==
+
+"@tiptap/extension-horizontal-rule@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-horizontal-rule/-/extension-horizontal-rule-3.22.3.tgz#0b65140bf1793b478e49adb32a12d98254c8a590"
+ integrity sha512-wI2bFzScs+KgWeBH/BtypcVKeYelCyqV0RG8nxsZMWtPrBhqixzNd0Oi3gEKtjSjKUqMQ/kjJAIRuESr5UzlHA==
+
+"@tiptap/extension-italic@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-italic/-/extension-italic-3.22.3.tgz#a8f459e976d06aeb9b17c74f773f45e22fa47070"
+ integrity sha512-LteA4cb4EGCiUtrK2JHvDF/Zg0/YqV4DUyHhAAho+oGEQDupZlsS6m0ia5wQcclkiTLzsoPrwcSNu6RDGQ16wQ==
+
+"@tiptap/extension-link@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-link/-/extension-link-3.22.3.tgz#42284faeda98034d22645a62d854507a6e71a4ff"
+ integrity sha512-S8/P2o9pv6B3kqLjH2TRWwSAximGbciNc6R8/QcN6HWLYxp0N0JoqN3rZHl9VWIBAGRWc4zkt80dhqrl2xmgfQ==
+ dependencies:
+ linkifyjs "^4.3.2"
+
+"@tiptap/extension-list-item@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-list-item/-/extension-list-item-3.22.3.tgz#f70dc68d1130f8a217d975e19a08f8c70ef353e5"
+ integrity sha512-80CNf4oO5y8+LdckT4CyMe1t01EyhpRrQC9H45JW20P7559Nrchp5my3vvMtIAJbpTPPZtcB7LwdzWGKsG5drg==
+
+"@tiptap/extension-list-keymap@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-list-keymap/-/extension-list-keymap-3.22.3.tgz#3cd3ae50d9fc2cfc5b6cc48b46d503d58a61cbe2"
+ integrity sha512-pKuyj5llu35zd/s2u/H9aydKZjmPRAIK5P1q/YXULhhCNln2RnmuRfQ5NklAqTD3yGciQ2lxDwwf7J6iw3ergA==
+
+"@tiptap/extension-list@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-list/-/extension-list-3.22.3.tgz#8df343dbfa6404c79394795bc5c82c658f889ec0"
+ integrity sha512-rqvv/dtqwbX+8KnPv0eMYp6PnBcuhPMol5cv1GlS8Nq/Cxt68EWGUHBuTFesw+hdnRQLmKwzoO1DlRn7PhxYRQ==
+
+"@tiptap/extension-ordered-list@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-ordered-list/-/extension-ordered-list-3.22.3.tgz#bfad1148afdd3819088cf5dc2fa08bdd64b42aed"
+ integrity sha512-orAghtmd+K4Euu4BgI1hG+iZDXBYOyl5YTwiLBc2mQn+pqtZ9LqaH2us4ETwEwNP3/IWXGSAimUZ19nuL+eM2w==
+
+"@tiptap/extension-paragraph@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-paragraph/-/extension-paragraph-3.22.3.tgz#1620e09816ea5c4fefd271217ca4965100531044"
+ integrity sha512-oO7rhfyhEuwm+50s9K3GZPjYyEEEvFAvm1wXopvZnhbkBLydIWImBfrZoC5IQh4/sRDlTIjosV2C+ji5y0tUSg==
+
+"@tiptap/extension-placeholder@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-placeholder/-/extension-placeholder-3.22.3.tgz#bc49b51d0c79d0e5bb169ae3519f28f9dbc169c1"
+ integrity sha512-7vbtlDVO00odqCnsMSmA4b6wjL5PFdfExFsdsDO0K0VemqHZ/doIRx/tosNUD1VYSOyKQd8U7efUjkFyVoIPlg==
+
+"@tiptap/extension-strike@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-strike/-/extension-strike-3.22.3.tgz#3c1213887089be0d86b79bcdbc09ebef2ef32dea"
+ integrity sha512-jY2InoUlKkuk5KHoIDGdML1OCA2n6PRHAtxwHNkAmiYh0Khf0zaVPGFpx4dgQrN7W5Q1WE6oBZnjrvy6qb7w0g==
+
+"@tiptap/extension-text-align@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-text-align/-/extension-text-align-3.22.3.tgz#e6a7665ef3e5341c0368328f494d21edffba2b47"
+ integrity sha512-dG1NHE0yGf7fYiOdabCJuecI2IJ1uogyY/QvZqvPNaxRjZDoXYuGlMtz9jEDiIdQSaPED2MSsS7KkuNFQIEMGg==
+
+"@tiptap/extension-text@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-text/-/extension-text-3.22.3.tgz#283aba1f5d9f4a99989646a29d032d97416e6daa"
+ integrity sha512-Q9R7JsTdomP5uUjtPjNKxHT1xoh/i9OJZnmgJLe7FcgZEaPOQ3bWxmKZoLZQfDfZjyB8BtH+Hc7nUvhCMOePxw==
+
+"@tiptap/extension-underline@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extension-underline/-/extension-underline-3.22.3.tgz#e19f9579456595da7bd50948cda8259f9f98e20f"
+ integrity sha512-Ch6CBWRa5w90yYSPUW6x9Py9JdrXMqk3pZ9OIlMYD8A7BqyZGfiHerX7XDMYDS09KjyK3U9XH60/zxYOzXdDLA==
+
+"@tiptap/extensions@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/extensions/-/extensions-3.22.3.tgz#d37c36feec7b2e982f9e1c38781bbc2c3829f131"
+ integrity sha512-s5eiMq0m5N6N+W7dU6rd60KgZyyCD7FvtPNNswISfPr12EQwJBfbjWwTqd0UKNzA4fNrhQEERXnzORkykttPeA==
+
+"@tiptap/pm@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/pm/-/pm-3.22.3.tgz#e911150e900d52b2e5ccd596b32187da46f924d6"
+ integrity sha512-NjfWjZuvrqmpICT+GZWNIjtOdhPyqFKDMtQy7tsQ5rErM9L2ZQdy/+T/BKSO1JdTeBhdg9OP+0yfsqoYp2aT6A==
+ dependencies:
+ prosemirror-changeset "^2.3.0"
+ prosemirror-collab "^1.3.1"
+ prosemirror-commands "^1.6.2"
+ prosemirror-dropcursor "^1.8.1"
+ prosemirror-gapcursor "^1.3.2"
+ prosemirror-history "^1.4.1"
+ prosemirror-inputrules "^1.4.0"
+ prosemirror-keymap "^1.2.2"
+ prosemirror-markdown "^1.13.1"
+ prosemirror-menu "^1.2.4"
+ prosemirror-model "^1.24.1"
+ prosemirror-schema-basic "^1.2.3"
+ prosemirror-schema-list "^1.5.0"
+ prosemirror-state "^1.4.3"
+ prosemirror-tables "^1.6.4"
+ prosemirror-trailing-node "^3.0.0"
+ prosemirror-transform "^1.10.2"
+ prosemirror-view "^1.38.1"
+
+"@tiptap/react@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/react/-/react-3.22.3.tgz#0a7ddf3df6f3a55eca597847310b2d28c419580e"
+ integrity sha512-6MNr6z0PxwfJFs+BKhHcvPNvY+UV1PXgqzTiTM4Z9guml84iVZxv7ZOCSj1dFYTr3Bf1MiOs4hT1yvBFlTfIaQ==
+ dependencies:
+ "@types/use-sync-external-store" "^0.0.6"
+ fast-equals "^5.3.3"
+ use-sync-external-store "^1.4.0"
+ optionalDependencies:
+ "@tiptap/extension-bubble-menu" "^3.22.3"
+ "@tiptap/extension-floating-menu" "^3.22.3"
+
+"@tiptap/starter-kit@^3.22.3":
+ version "3.22.3"
+ resolved "https://registry.yarnpkg.com/@tiptap/starter-kit/-/starter-kit-3.22.3.tgz#5054300253640e4add7967655e80d6dd56b6ad13"
+ integrity sha512-vdW/Oo1fdwTL1VOQ5YYbTov00ANeHLquBVEZyL/EkV7Xv5io9rXQsCysJfTSHhiQlyr2MtWFB4+CPGuwXjQWOQ==
+ dependencies:
+ "@tiptap/core" "^3.22.3"
+ "@tiptap/extension-blockquote" "^3.22.3"
+ "@tiptap/extension-bold" "^3.22.3"
+ "@tiptap/extension-bullet-list" "^3.22.3"
+ "@tiptap/extension-code" "^3.22.3"
+ "@tiptap/extension-code-block" "^3.22.3"
+ "@tiptap/extension-document" "^3.22.3"
+ "@tiptap/extension-dropcursor" "^3.22.3"
+ "@tiptap/extension-gapcursor" "^3.22.3"
+ "@tiptap/extension-hard-break" "^3.22.3"
+ "@tiptap/extension-heading" "^3.22.3"
+ "@tiptap/extension-horizontal-rule" "^3.22.3"
+ "@tiptap/extension-italic" "^3.22.3"
+ "@tiptap/extension-link" "^3.22.3"
+ "@tiptap/extension-list" "^3.22.3"
+ "@tiptap/extension-list-item" "^3.22.3"
+ "@tiptap/extension-list-keymap" "^3.22.3"
+ "@tiptap/extension-ordered-list" "^3.22.3"
+ "@tiptap/extension-paragraph" "^3.22.3"
+ "@tiptap/extension-strike" "^3.22.3"
+ "@tiptap/extension-text" "^3.22.3"
+ "@tiptap/extension-underline" "^3.22.3"
+ "@tiptap/extensions" "^3.22.3"
+ "@tiptap/pm" "^3.22.3"
+
"@tokenizer/inflate@^0.2.6":
version "0.2.7"
resolved "https://registry.npmjs.org/@tokenizer/inflate/-/inflate-0.2.7.tgz"
@@ -6021,6 +6272,24 @@
"@types/ms" "*"
"@types/node" "*"
+"@types/linkify-it@^5":
+ version "5.0.0"
+ resolved "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-5.0.0.tgz"
+ integrity sha512-sVDA58zAw4eWAffKOaQH5/5j3XeayukzDk+ewSsnv3p4yJEZHCCzMDiZM8e0OUrRvmpGZ85jf4yDHkHsgBNr9Q==
+
+"@types/markdown-it@^14.0.0":
+ version "14.1.2"
+ resolved "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-14.1.2.tgz"
+ integrity sha512-promo4eFwuiW+TfGxhi+0x3czqTYJkG8qB17ZUJiVF10Xm7NLVRSLUsfRTU/6h1e24VvRnXCx+hG7li58lkzog==
+ dependencies:
+ "@types/linkify-it" "^5"
+ "@types/mdurl" "^2"
+
+"@types/mdurl@^2":
+ version "2.0.0"
+ resolved "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz"
+ integrity sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==
+
"@types/methods@^1.1.4":
version "1.1.4"
resolved "https://registry.npmjs.org/@types/methods/-/methods-1.1.4.tgz"
@@ -7480,13 +7749,20 @@ brace-expansion@^1.1.7:
balanced-match "^1.0.0"
concat-map "0.0.1"
-brace-expansion@^2.0.1, brace-expansion@^2.0.2:
+brace-expansion@^2.0.1:
version "2.0.2"
resolved "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz"
integrity sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==
dependencies:
balanced-match "^1.0.0"
+brace-expansion@^2.0.2:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-2.1.0.tgz#4f41a41190216ee36067ec381526fe9539c4f0ae"
+ integrity sha512-TN1kCZAgdgweJhWWpgKYrQaMNHcDULHkWwQIspdtjV4Y5aurRdZpjAqn6yX3FPqTA9ngHCc4hJxMAMgGfve85w==
+ dependencies:
+ balanced-match "^1.0.0"
+
brace-expansion@^5.0.5:
version "5.0.5"
resolved "https://registry.yarnpkg.com/brace-expansion/-/brace-expansion-5.0.5.tgz#dcc3a37116b79f3e1b46db994ced5d570e930fdb"
@@ -8171,13 +8447,20 @@ copy-webpack-plugin@^10.2.4:
schema-utils "^4.0.0"
serialize-javascript "^6.0.0"
-core-js-compat@^3.43.0, core-js-compat@^3.48.0:
+core-js-compat@^3.43.0:
version "3.48.0"
resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.48.0.tgz"
integrity sha512-OM4cAF3D6VtH/WkLtWvyNC56EZVXsZdU3iqaMG2B4WvYrlqU831pc4UtG5yp0sE9z8Y02wVN7PjW5Zf9Gt0f1Q==
dependencies:
browserslist "^4.28.1"
+core-js-compat@^3.48.0:
+ version "3.49.0"
+ resolved "https://registry.yarnpkg.com/core-js-compat/-/core-js-compat-3.49.0.tgz#06145447d92f4aaf258a0c44f24b47afaeaffef6"
+ integrity sha512-VQXt1jr9cBz03b331DFDCCP90b3fanciLkgiOoy8SBHy06gNf+vQ1A3WFLqG7I8TipYIKeYK9wxd0tUrvHcOZA==
+ dependencies:
+ browserslist "^4.28.1"
+
core-util-is@1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz"
@@ -8227,6 +8510,11 @@ create-require@^1.1.0:
resolved "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz"
integrity sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==
+crelt@^1.0.0:
+ version "1.0.6"
+ resolved "https://registry.npmjs.org/crelt/-/crelt-1.0.6.tgz"
+ integrity sha512-VQ2MBenTq1fWZUH9DJNGti7kKv6EeAuYr3cLwxUWhIu1baTaXh4Ib5W2CqHVqib4/MqbYGJqiL3Zb8GJZr3l4g==
+
cron-parser@^4.2.0:
version "4.9.0"
resolved "https://registry.npmjs.org/cron-parser/-/cron-parser-4.9.0.tgz"
@@ -9329,7 +9617,7 @@ es-to-primitive@^1.3.0:
es-toolkit@^1.39.3:
version "1.45.1"
- resolved "https://registry.npmjs.org/es-toolkit/-/es-toolkit-1.45.1.tgz"
+ resolved "https://registry.yarnpkg.com/es-toolkit/-/es-toolkit-1.45.1.tgz#21b28b2bd43178fd4c9c937c445d5bcaccce907b"
integrity sha512-/jhoOj/Fx+A+IIyDNOvO3TItGmlMKhtX8ISAHKE90c4b/k1tqaqEZ+uUqfpU8DMnW5cgNJv606zS55jGvza0Xw==
esbuild@0.25.5:
@@ -9898,6 +10186,11 @@ fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3:
resolved "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz"
integrity sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==
+fast-equals@^5.3.3:
+ version "5.4.0"
+ resolved "https://registry.npmjs.org/fast-equals/-/fast-equals-5.4.0.tgz"
+ integrity sha512-jt2DW/aNFNwke7AUd+Z+e6pz39KO5rzdbbFCg2sGafS4mk13MI7Z8O5z9cADNn5lhGODIgLwug6TZO2ctf7kcw==
+
fast-glob@^3.0.3, fast-glob@^3.2.7, fast-glob@^3.2.9, fast-glob@^3.3.2:
version "3.3.3"
resolved "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz"
@@ -10123,7 +10416,7 @@ flatted@^3.2.7, flatted@^3.2.9:
follow-redirects@^1.0.0, follow-redirects@^1.15.11:
version "1.15.11"
- resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.11.tgz#777d73d72a92f8ec4d2e410eb47352a56b8e8340"
integrity sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==
for-each@^0.3.3, for-each@^0.3.5:
@@ -12609,6 +12902,18 @@ lines-and-columns@^1.1.6:
resolved "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz"
integrity sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==
+linkify-it@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/linkify-it/-/linkify-it-5.0.0.tgz#9ef238bfa6dc70bd8e7f9572b52d369af569b421"
+ integrity sha512-5aHCbzQRADcdP+ATqnDuhhJ/MRIqDkZX5pyjFHRRysS8vZ5AbqGEoFIb6pYHPZ+L/OC2Lc+xT8uHVVR5CAK/wQ==
+ dependencies:
+ uc.micro "^2.0.0"
+
+linkifyjs@^4.3.2:
+ version "4.3.2"
+ resolved "https://registry.yarnpkg.com/linkifyjs/-/linkifyjs-4.3.2.tgz#d97eb45419aabf97ceb4b05a7adeb7b8c8ade2b1"
+ integrity sha512-NT1CJtq3hHIreOianA8aSXn6Cw0JzYOuDQbOrSPe7gqFnCpKP++MQe3ODgO3oh2GJFORkAAdqredOa60z63GbA==
+
lint-staged@^14.0.1:
version "14.0.1"
resolved "https://registry.npmjs.org/lint-staged/-/lint-staged-14.0.1.tgz"
@@ -12962,6 +13267,18 @@ makeerror@1.0.12:
dependencies:
tmpl "1.0.5"
+markdown-it@^14.0.0:
+ version "14.1.1"
+ resolved "https://registry.npmjs.org/markdown-it/-/markdown-it-14.1.1.tgz"
+ integrity sha512-BuU2qnTti9YKgK5N+IeMubp14ZUKUUw7yeJbkjtosvHiP0AZ5c8IAgEMk79D0eC8F23r4Ac/q8cAIFdm2FtyoA==
+ dependencies:
+ argparse "^2.0.1"
+ entities "^4.4.0"
+ linkify-it "^5.0.0"
+ mdurl "^2.0.0"
+ punycode.js "^2.3.1"
+ uc.micro "^2.1.0"
+
math-intrinsics@^1.1.0:
version "1.1.0"
resolved "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz"
@@ -12982,6 +13299,11 @@ mdn-data@2.0.30:
resolved "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz"
integrity sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==
+mdurl@^2.0.0:
+ version "2.0.0"
+ resolved "https://registry.yarnpkg.com/mdurl/-/mdurl-2.0.0.tgz#80676ec0433025dd3e17ee983d0fe8de5a2237e0"
+ integrity sha512-Lf+9+2r+Tdp5wXDXC4PcIBjTDtq4UKjCPMQhKIuzpJNW0b96kVqSwW0bT7FhRSfmAiFYgP+SCRvdrDozfh0U5w==
+
media-typer@0.3.0:
version "0.3.0"
resolved "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz"
@@ -13863,6 +14185,11 @@ ora@5.4.1, ora@^5.4.1:
strip-ansi "^6.0.0"
wcwidth "^1.0.1"
+orderedmap@^2.0.0:
+ version "2.1.1"
+ resolved "https://registry.npmjs.org/orderedmap/-/orderedmap-2.1.1.tgz"
+ integrity sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g==
+
os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz"
@@ -14751,6 +15078,14 @@ postcss-reduce-transforms@^6.0.2:
dependencies:
postcss-value-parser "^4.2.0"
+postcss-selector-parser@6.0.10:
+ version "6.0.10"
+ resolved "https://registry.yarnpkg.com/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz#79b61e2c0d1bfc2602d549e11d0876256f8df88d"
+ integrity sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==
+ dependencies:
+ cssesc "^3.0.0"
+ util-deprecate "^1.0.2"
+
postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.16, postcss-selector-parser@^6.0.4, postcss-selector-parser@^6.0.5, postcss-selector-parser@^6.0.9, postcss-selector-parser@^6.1.1, postcss-selector-parser@^6.1.2:
version "6.1.2"
resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz"
@@ -14939,6 +15274,160 @@ prop-types@^15.8.1:
object-assign "^4.1.1"
react-is "^16.13.1"
+prosemirror-changeset@^2.3.0:
+ version "2.4.0"
+ resolved "https://registry.npmjs.org/prosemirror-changeset/-/prosemirror-changeset-2.4.0.tgz"
+ integrity sha512-LvqH2v7Q2SF6yxatuPP2e8vSUKS/L+xAU7dPDC4RMyHMhZoGDfBC74mYuyYF4gLqOEG758wajtyhNnsTkuhvng==
+ dependencies:
+ prosemirror-transform "^1.0.0"
+
+prosemirror-collab@^1.3.1:
+ version "1.3.1"
+ resolved "https://registry.npmjs.org/prosemirror-collab/-/prosemirror-collab-1.3.1.tgz"
+ integrity sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ==
+ dependencies:
+ prosemirror-state "^1.0.0"
+
+prosemirror-commands@^1.0.0, prosemirror-commands@^1.6.2:
+ version "1.7.1"
+ resolved "https://registry.npmjs.org/prosemirror-commands/-/prosemirror-commands-1.7.1.tgz"
+ integrity sha512-rT7qZnQtx5c0/y/KlYaGvtG411S97UaL6gdp6RIZ23DLHanMYLyfGBV5DtSnZdthQql7W+lEVbpSfwtO8T+L2w==
+ dependencies:
+ prosemirror-model "^1.0.0"
+ prosemirror-state "^1.0.0"
+ prosemirror-transform "^1.10.2"
+
+prosemirror-dropcursor@^1.8.1:
+ version "1.8.2"
+ resolved "https://registry.npmjs.org/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.2.tgz"
+ integrity sha512-CCk6Gyx9+Tt2sbYk5NK0nB1ukHi2ryaRgadV/LvyNuO3ena1payM2z6Cg0vO1ebK8cxbzo41ku2DE5Axj1Zuiw==
+ dependencies:
+ prosemirror-state "^1.0.0"
+ prosemirror-transform "^1.1.0"
+ prosemirror-view "^1.1.0"
+
+prosemirror-gapcursor@^1.3.2:
+ version "1.4.1"
+ resolved "https://registry.npmjs.org/prosemirror-gapcursor/-/prosemirror-gapcursor-1.4.1.tgz"
+ integrity sha512-pMdYaEnjNMSwl11yjEGtgTmLkR08m/Vl+Jj443167p9eB3HVQKhYCc4gmHVDsLPODfZfjr/MmirsdyZziXbQKw==
+ dependencies:
+ prosemirror-keymap "^1.0.0"
+ prosemirror-model "^1.0.0"
+ prosemirror-state "^1.0.0"
+ prosemirror-view "^1.0.0"
+
+prosemirror-history@^1.0.0, prosemirror-history@^1.4.1:
+ version "1.5.0"
+ resolved "https://registry.npmjs.org/prosemirror-history/-/prosemirror-history-1.5.0.tgz"
+ integrity sha512-zlzTiH01eKA55UAf1MEjtssJeHnGxO0j4K4Dpx+gnmX9n+SHNlDqI2oO1Kv1iPN5B1dm5fsljCfqKF9nFL6HRg==
+ dependencies:
+ prosemirror-state "^1.2.2"
+ prosemirror-transform "^1.0.0"
+ prosemirror-view "^1.31.0"
+ rope-sequence "^1.3.0"
+
+prosemirror-inputrules@^1.4.0:
+ version "1.5.1"
+ resolved "https://registry.npmjs.org/prosemirror-inputrules/-/prosemirror-inputrules-1.5.1.tgz"
+ integrity sha512-7wj4uMjKaXWAQ1CDgxNzNtR9AlsuwzHfdFH1ygEHA2KHF2DOEaXl1CJfNPAKCg9qNEh4rum975QLaCiQPyY6Fw==
+ dependencies:
+ prosemirror-state "^1.0.0"
+ prosemirror-transform "^1.0.0"
+
+prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.2.2, prosemirror-keymap@^1.2.3:
+ version "1.2.3"
+ resolved "https://registry.npmjs.org/prosemirror-keymap/-/prosemirror-keymap-1.2.3.tgz"
+ integrity sha512-4HucRlpiLd1IPQQXNqeo81BGtkY8Ai5smHhKW9jjPKRc2wQIxksg7Hl1tTI2IfT2B/LgX6bfYvXxEpJl7aKYKw==
+ dependencies:
+ prosemirror-state "^1.0.0"
+ w3c-keyname "^2.2.0"
+
+prosemirror-markdown@^1.13.1:
+ version "1.13.4"
+ resolved "https://registry.npmjs.org/prosemirror-markdown/-/prosemirror-markdown-1.13.4.tgz"
+ integrity sha512-D98dm4cQ3Hs6EmjK500TdAOew4Z03EV71ajEFiWra3Upr7diytJsjF4mPV2dW+eK5uNectiRj0xFxYI9NLXDbw==
+ dependencies:
+ "@types/markdown-it" "^14.0.0"
+ markdown-it "^14.0.0"
+ prosemirror-model "^1.25.0"
+
+prosemirror-menu@^1.2.4:
+ version "1.3.0"
+ resolved "https://registry.npmjs.org/prosemirror-menu/-/prosemirror-menu-1.3.0.tgz"
+ integrity sha512-TImyPXCHPcDsSka2/lwJ6WjTASr4re/qWq1yoTTuLOqfXucwF6VcRa2LWCkM/EyTD1UO3CUwiH8qURJoWJRxwg==
+ dependencies:
+ crelt "^1.0.0"
+ prosemirror-commands "^1.0.0"
+ prosemirror-history "^1.0.0"
+ prosemirror-state "^1.0.0"
+
+prosemirror-model@^1.0.0, prosemirror-model@^1.20.0, prosemirror-model@^1.21.0, prosemirror-model@^1.24.1, prosemirror-model@^1.25.0, prosemirror-model@^1.25.4:
+ version "1.25.4"
+ resolved "https://registry.npmjs.org/prosemirror-model/-/prosemirror-model-1.25.4.tgz"
+ integrity sha512-PIM7E43PBxKce8OQeezAs9j4TP+5yDpZVbuurd1h5phUxEKIu+G2a+EUZzIC5nS1mJktDJWzbqS23n1tsAf5QA==
+ dependencies:
+ orderedmap "^2.0.0"
+
+prosemirror-schema-basic@^1.2.3:
+ version "1.2.4"
+ resolved "https://registry.npmjs.org/prosemirror-schema-basic/-/prosemirror-schema-basic-1.2.4.tgz"
+ integrity sha512-ELxP4TlX3yr2v5rM7Sb70SqStq5NvI15c0j9j/gjsrO5vaw+fnnpovCLEGIcpeGfifkuqJwl4fon6b+KdrODYQ==
+ dependencies:
+ prosemirror-model "^1.25.0"
+
+prosemirror-schema-list@^1.5.0:
+ version "1.5.1"
+ resolved "https://registry.npmjs.org/prosemirror-schema-list/-/prosemirror-schema-list-1.5.1.tgz"
+ integrity sha512-927lFx/uwyQaGwJxLWCZRkjXG0p48KpMj6ueoYiu4JX05GGuGcgzAy62dfiV8eFZftgyBUvLx76RsMe20fJl+Q==
+ dependencies:
+ prosemirror-model "^1.0.0"
+ prosemirror-state "^1.0.0"
+ prosemirror-transform "^1.7.3"
+
+prosemirror-state@^1.0.0, prosemirror-state@^1.2.2, prosemirror-state@^1.4.3, prosemirror-state@^1.4.4:
+ version "1.4.4"
+ resolved "https://registry.npmjs.org/prosemirror-state/-/prosemirror-state-1.4.4.tgz"
+ integrity sha512-6jiYHH2CIGbCfnxdHbXZ12gySFY/fz/ulZE333G6bPqIZ4F+TXo9ifiR86nAHpWnfoNjOb3o5ESi7J8Uz1jXHw==
+ dependencies:
+ prosemirror-model "^1.0.0"
+ prosemirror-transform "^1.0.0"
+ prosemirror-view "^1.27.0"
+
+prosemirror-tables@^1.6.4:
+ version "1.8.5"
+ resolved "https://registry.npmjs.org/prosemirror-tables/-/prosemirror-tables-1.8.5.tgz"
+ integrity sha512-V/0cDCsHKHe/tfWkeCmthNUcEp1IVO3p6vwN8XtwE9PZQLAZJigbw3QoraAdfJPir4NKJtNvOB8oYGKRl+t0Dw==
+ dependencies:
+ prosemirror-keymap "^1.2.3"
+ prosemirror-model "^1.25.4"
+ prosemirror-state "^1.4.4"
+ prosemirror-transform "^1.10.5"
+ prosemirror-view "^1.41.4"
+
+prosemirror-trailing-node@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.npmjs.org/prosemirror-trailing-node/-/prosemirror-trailing-node-3.0.0.tgz"
+ integrity sha512-xiun5/3q0w5eRnGYfNlW1uU9W6x5MoFKWwq/0TIRgt09lv7Hcser2QYV8t4muXbEr+Fwo0geYn79Xs4GKywrRQ==
+ dependencies:
+ "@remirror/core-constants" "3.0.0"
+ escape-string-regexp "^4.0.0"
+
+prosemirror-transform@^1.0.0, prosemirror-transform@^1.1.0, prosemirror-transform@^1.10.2, prosemirror-transform@^1.10.5, prosemirror-transform@^1.7.3:
+ version "1.12.0"
+ resolved "https://registry.npmjs.org/prosemirror-transform/-/prosemirror-transform-1.12.0.tgz"
+ integrity sha512-GxboyN4AMIsoHNtz5uf2r2Ru551i5hWeCMD6E2Ib4Eogqoub0NflniaBPVQ4MrGE5yZ8JV9tUHg9qcZTTrcN4w==
+ dependencies:
+ prosemirror-model "^1.21.0"
+
+prosemirror-view@^1.0.0, prosemirror-view@^1.1.0, prosemirror-view@^1.27.0, prosemirror-view@^1.31.0, prosemirror-view@^1.38.1, prosemirror-view@^1.41.4:
+ version "1.41.8"
+ resolved "https://registry.npmjs.org/prosemirror-view/-/prosemirror-view-1.41.8.tgz"
+ integrity sha512-TnKDdohEatgyZNGCDWIdccOHXhYloJwbwU+phw/a23KBvJIR9lWQWW7WHHK3vBdOLDNuF7TaX98GObUZOWkOnA==
+ dependencies:
+ prosemirror-model "^1.20.0"
+ prosemirror-state "^1.0.0"
+ prosemirror-transform "^1.1.0"
+
proxy-addr@~2.0.7:
version "2.0.7"
resolved "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz"
@@ -14987,6 +15476,11 @@ pump@^3.0.0:
end-of-stream "^1.1.0"
once "^1.3.1"
+punycode.js@^2.3.1:
+ version "2.3.1"
+ resolved "https://registry.npmjs.org/punycode.js/-/punycode.js-2.3.1.tgz"
+ integrity sha512-uxFIHU0YlHYhDQtV4R9J6a52SLx28BCjT+4ieh7IGbgwVJWO+km431c4yRlREUAsAmt/uMjQUyQHNEPf0M39CA==
+
punycode@^2.1.0, punycode@^2.1.1, punycode@^2.3.0, punycode@^2.3.1:
version "2.3.1"
resolved "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz"
@@ -15578,6 +16072,11 @@ rollup@^4.14.0, rollup@^4.20.0, rollup@^4.43.0:
"@rollup/rollup-win32-x64-msvc" "4.60.1"
fsevents "~2.3.2"
+rope-sequence@^1.3.0:
+ version "1.3.4"
+ resolved "https://registry.npmjs.org/rope-sequence/-/rope-sequence-1.3.4.tgz"
+ integrity sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ==
+
rrweb-cssom@^0.6.0:
version "0.6.0"
resolved "https://registry.npmjs.org/rrweb-cssom/-/rrweb-cssom-0.6.0.tgz"
@@ -17250,6 +17749,11 @@ typescript@^5.1.3, typescript@~5.9.2:
resolved "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz"
integrity sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==
+uc.micro@^2.0.0, uc.micro@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-2.1.0.tgz#f8d3f7d0ec4c3dea35a7e3c8efa4cb8b45c9e7ee"
+ integrity sha512-ARDJmphmdvUk6Glw7y9DQ2bFkKBHwQHLi2lsaH6PPmz/Ka9sFOBsBluozhDltWmnv9u/cF6Rt87znRTPV+yp/A==
+
ufo@^1.6.3:
version "1.6.3"
resolved "https://registry.yarnpkg.com/ufo/-/ufo-1.6.3.tgz#799666e4e88c122a9659805e30b9dc071c3aed4f"
@@ -17596,6 +18100,11 @@ vitest@^1.3.1:
vite-node "1.6.1"
why-is-node-running "^2.2.2"
+w3c-keyname@^2.2.0:
+ version "2.2.8"
+ resolved "https://registry.npmjs.org/w3c-keyname/-/w3c-keyname-2.2.8.tgz"
+ integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ==
+
w3c-xmlserializer@^4.0.0:
version "4.0.0"
resolved "https://registry.npmjs.org/w3c-xmlserializer/-/w3c-xmlserializer-4.0.0.tgz"