diff --git a/.prettierrc.json b/.prettierrc.json index 544138be4..0c680136c 100644 --- a/.prettierrc.json +++ b/.prettierrc.json @@ -1,3 +1,4 @@ { - "singleQuote": true + "singleQuote": true, + "proseWrap": "always" } diff --git a/package.json b/package.json index 2f939b89c..f9de5092f 100644 --- a/package.json +++ b/package.json @@ -50,6 +50,10 @@ "@nivo/pie": "^0.80.0", "@nivo/radial-bar": "^0.80.0", "@reduxjs/toolkit": "^1.8.6", + "@remirror/pm": "^3.0.0", + "@remirror/react": "^3.0.1", + "@remirror/react-editors": "^2.0.1", + "@remirror/react-ui": "^1.0.1", "@types/dompurify": "^2.3.3", "@types/mjml": "^4.7.4", "copy-to-clipboard": "^3.3.1", @@ -88,6 +92,7 @@ "remark-gfm": "^3.0.1", "remark-parse": "^10.0.1", "remark-slate": "^1.8.6", + "remirror": "^3.0.1", "slate": "^0.94.1", "slate-history": "^0.66.0", "slate-react": "^0.98.3", diff --git a/src/features/emails/layout/EmailLayout.tsx b/src/features/emails/layout/EmailLayout.tsx index 271a2f3c9..0e4f715b5 100644 --- a/src/features/emails/layout/EmailLayout.tsx +++ b/src/features/emails/layout/EmailLayout.tsx @@ -49,6 +49,10 @@ const EmailLayout: FC = ({ href: '/compose', label: messages.tabs.compose(), }, + { + href: '/newEditor', + label: 'New editor', + }, ]; if (email.processed) { diff --git a/src/pages/organize/[orgId]/projects/[campId]/emails/[emailId]/newEditor.tsx b/src/pages/organize/[orgId]/projects/[campId]/emails/[emailId]/newEditor.tsx new file mode 100644 index 000000000..8e1eedfae --- /dev/null +++ b/src/pages/organize/[orgId]/projects/[campId]/emails/[emailId]/newEditor.tsx @@ -0,0 +1,47 @@ +import { Box } from '@mui/material'; +import Head from 'next/head'; +import { GetServerSideProps } from 'next'; + +import { PageWithLayout } from 'utils/types'; +import EmailLayout from 'features/emails/layout/EmailLayout'; +import ZUIEditor from 'zui/ZUIEditor'; +import { scaffold } from 'utils/next'; + +export const getServerSideProps: GetServerSideProps = scaffold( + async () => { + return { + props: {}, + }; + }, + { + authLevelRequired: 2, + } +); + +const EmailPage: PageWithLayout = () => { + return ( + <> + + hejj + + + + + + ); +}; + +EmailPage.getLayout = function getLayout(page) { + return {page}; +}; + +export default EmailPage; diff --git a/src/zui/ZUIEditor/ButtonExtensionUI.tsx b/src/zui/ZUIEditor/ButtonExtensionUI.tsx new file mode 100644 index 000000000..b0ddadde2 --- /dev/null +++ b/src/zui/ZUIEditor/ButtonExtensionUI.tsx @@ -0,0 +1,64 @@ +import { useCommands, useEditorState, useEditorView } from '@remirror/react'; +import { FC, useEffect, useState } from 'react'; +import { ProsemirrorNode } from 'remirror'; + +import TextAndHrefOverlay from './elements/TextAndHrefOverlay'; +import formatUrl from 'utils/formatUrl'; + +const ButtonExtensionUI: FC = () => { + const state = useEditorState(); + const view = useEditorView(); + const { setButtonHref, setButtonText } = useCommands(); + + const [visible, setVisible] = useState(false); + const [text, setText] = useState(''); + const [href, setHref] = useState(''); + + const selectionCoords = view.coordsAtPos(state.selection.$from.pos); + const editorRect = view.dom.getBoundingClientRect(); + + const left = selectionCoords.left - editorRect.left; + const top = selectionCoords.top - editorRect.top; + + useEffect(() => { + const blockNodes: ProsemirrorNode[] = []; + state.doc.nodesBetween(state.selection.from, state.selection.to, (node) => { + if (!node.isText) { + blockNodes.push(node); + } + }); + + if (blockNodes.length == 1 && blockNodes[0].type.name == 'zbutton') { + const buttonNode = blockNodes[0]; + setText(buttonNode.textContent || ''); + setHref(buttonNode.attrs.href || ''); + setVisible(true); + } else { + setVisible(false); + } + }, [state.selection]); + + return ( + { + setVisible(false); + }} + onChangeHref={(href) => setHref(href)} + onChangeText={(text) => setText(text)} + onSubmit={() => { + const formattedHref = formatUrl(href); + if (formattedHref) { + setButtonText(state.selection.$head.pos, text); + setButtonHref(state.selection.$head.pos, formattedHref); + } + }} + open={visible} + text={text} + x={left} + y={top + 30} + /> + ); +}; + +export default ButtonExtensionUI; diff --git a/src/zui/ZUIEditor/EditorOverlays/BlockInsert.tsx b/src/zui/ZUIEditor/EditorOverlays/BlockInsert.tsx new file mode 100644 index 000000000..fc9df5b06 --- /dev/null +++ b/src/zui/ZUIEditor/EditorOverlays/BlockInsert.tsx @@ -0,0 +1,63 @@ +import { Add } from '@mui/icons-material'; +import { IconButton, Paper } from '@mui/material'; +import { Box } from '@mui/system'; +import { useCommands } from '@remirror/react'; +import { FC } from 'react'; + +import { BlockDividerData } from './index'; + +type BlockInsertProps = { + blockDividers: BlockDividerData[]; + mouseY: number; +}; + +const BlockInsert: FC = ({ blockDividers, mouseY }) => { + const { insertEmptyParagraph, focus } = useCommands(); + + return ( + + {blockDividers.map(({ pos, y }, index) => { + const visible = Math.abs(mouseY - y) < 20; + const offset = 8; + + return ( + + + + { + insertEmptyParagraph(pos); + focus(pos); + }} + > + + + + + + ); + })} + + ); +}; + +export default BlockInsert; diff --git a/src/zui/ZUIEditor/EditorOverlays/BlockMenu.tsx b/src/zui/ZUIEditor/EditorOverlays/BlockMenu.tsx new file mode 100644 index 000000000..28ce6dcf8 --- /dev/null +++ b/src/zui/ZUIEditor/EditorOverlays/BlockMenu.tsx @@ -0,0 +1,37 @@ +import { Box, MenuItem, Paper } from '@mui/material'; +import { FC } from 'react'; + +import useBlockMenu from './useBlockMenu'; + +type Props = { + blocks: { + id: string; + label: string; + }[]; +}; + +const BlockMenu: FC = ({ blocks }) => { + const { filteredBlocks, menu } = useBlockMenu(blocks); + + return ( + + + {filteredBlocks.map((item, index) => { + const props = menu.getItemProps({ index, item }); + return ( + + {item.label} + + ); + })} + + + ); +}; + +export default BlockMenu; diff --git a/src/zui/ZUIEditor/EditorOverlays/BlockToolbar.tsx b/src/zui/ZUIEditor/EditorOverlays/BlockToolbar.tsx new file mode 100644 index 000000000..43be0b3fe --- /dev/null +++ b/src/zui/ZUIEditor/EditorOverlays/BlockToolbar.tsx @@ -0,0 +1,87 @@ +import { Box, Button, Paper } from '@mui/material'; +import { useCommands } from '@remirror/react'; +import { FC } from 'react'; + +import VariableToolButton from './VariableToolButton'; +import { VariableName } from '../extensions/VariableExtension'; +import BoldToolButton from './BoldToolButton'; +import ItalicToolButton from './ItalicToolButton'; +import LinkToolButton from './LinkToolButton'; + +type BlockToolbarProps = { + curBlockType: string; + curBlockY: number; + enableBold: boolean; + enableItalic: boolean; + enableLink: boolean; + enableVariable: boolean; + pos: number; +}; + +const BlockToolbar: FC = ({ + curBlockType, + curBlockY, + enableBold, + enableItalic, + enableLink, + enableVariable, + pos, +}) => { + const { convertParagraph, focus, insertVariable, toggleHeading, pickImage } = + useCommands(); + + return ( + + + + + {curBlockType} + {curBlockType == 'zimage' && ( + + )} + {curBlockType == 'heading' && ( + + )} + {curBlockType == 'paragraph' && ( + <> + + {enableLink && } + {enableBold && } + {enableItalic && } + + )} + {enableVariable && + (curBlockType == 'paragraph' || curBlockType == 'heading') && ( + { + insertVariable(varName); + focus(); + }} + /> + )} + + + + + ); +}; + +export default BlockToolbar; diff --git a/src/zui/ZUIEditor/EditorOverlays/BoldToolButton.tsx b/src/zui/ZUIEditor/EditorOverlays/BoldToolButton.tsx new file mode 100644 index 000000000..31b171d05 --- /dev/null +++ b/src/zui/ZUIEditor/EditorOverlays/BoldToolButton.tsx @@ -0,0 +1,23 @@ +import { FormatBold } from '@mui/icons-material'; +import { IconButton } from '@mui/material'; +import { useActive, useCommands } from '@remirror/react'; +import { FC } from 'react'; + +const BoldToolButton: FC = () => { + const active = useActive(); + const { focus, toggleBold } = useCommands(); + + return ( + { + toggleBold(); + focus(); + }} + > + + + ); +}; + +export default BoldToolButton; diff --git a/src/zui/ZUIEditor/EditorOverlays/ItalicToolButton.tsx b/src/zui/ZUIEditor/EditorOverlays/ItalicToolButton.tsx new file mode 100644 index 000000000..587bb7e46 --- /dev/null +++ b/src/zui/ZUIEditor/EditorOverlays/ItalicToolButton.tsx @@ -0,0 +1,23 @@ +import { FormatItalic } from '@mui/icons-material'; +import { IconButton } from '@mui/material'; +import { useActive, useCommands } from '@remirror/react'; +import { FC } from 'react'; + +const ItalicToolButton: FC = () => { + const active = useActive(); + const { focus, toggleItalic } = useCommands(); + + return ( + { + toggleItalic(); + focus(); + }} + > + + + ); +}; + +export default ItalicToolButton; diff --git a/src/zui/ZUIEditor/EditorOverlays/LinkToolButton.tsx b/src/zui/ZUIEditor/EditorOverlays/LinkToolButton.tsx new file mode 100644 index 000000000..7e03cac53 --- /dev/null +++ b/src/zui/ZUIEditor/EditorOverlays/LinkToolButton.tsx @@ -0,0 +1,63 @@ +import { IconButton } from '@mui/material'; +import { useActive, useCommands, useEditorState } from '@remirror/react'; +import { FC, useEffect, useState } from 'react'; +import { InsertLink, LinkOff } from '@mui/icons-material'; + +import { NodeWithPosition } from '../LinkExtensionUI'; + +const LinkToolButton: FC = () => { + const active = useActive(); + const state = useEditorState(); + const { focus, insertEmptyLink, removeAllLinksInRange, removeLink, setLink } = + useCommands(); + + const [selectedNodes, setSelectedNodes] = useState([]); + + useEffect(() => { + const linkNodes: NodeWithPosition[] = []; + state.doc.nodesBetween( + state.selection.from, + state.selection.to, + (node, index) => { + if (node.isText) { + if (node.marks.some((mark) => mark.type.name == 'zlink')) { + linkNodes.push({ from: index, node, to: index + node.nodeSize }); + } + } + } + ); + setSelectedNodes(linkNodes); + }, [state.selection]); + + return ( + { + if (!active.zlink()) { + if (state.selection.empty) { + insertEmptyLink(); + focus(); + } else { + setLink(); + focus(); + } + } else { + if (selectedNodes.length == 1) { + removeLink({ + from: selectedNodes[0].from, + to: selectedNodes[0].to, + }); + } else if (selectedNodes.length > 1) { + removeAllLinksInRange({ + from: state.selection.from, + to: state.selection.to, + }); + } + } + }} + > + {active.zlink() ? : } + + ); +}; + +export default LinkToolButton; diff --git a/src/zui/ZUIEditor/EditorOverlays/VariableToolButton.tsx b/src/zui/ZUIEditor/EditorOverlays/VariableToolButton.tsx new file mode 100644 index 000000000..da1fa9769 --- /dev/null +++ b/src/zui/ZUIEditor/EditorOverlays/VariableToolButton.tsx @@ -0,0 +1,50 @@ +import { IconButton, Menu, MenuItem } from '@mui/material'; +import { FC, useState } from 'react'; +import { DataObject } from '@mui/icons-material'; + +import { VariableName } from '../extensions/VariableExtension'; +import { Msg } from 'core/i18n'; +import messageIds from 'zui/l10n/messageIds'; + +type Props = { + onSelect: (varName: VariableName) => void; +}; + +const VariableToolButton: FC = ({ onSelect }) => { + const [anchorEl, setAnchorEl] = useState(null); + + const handleSelect = (varName: VariableName) => { + onSelect(varName); + setAnchorEl(null); + }; + + return ( + <> + { + setAnchorEl(ev.currentTarget); + }} + > + + + setAnchorEl(null)} + open={!!anchorEl} + sx={{ zIndex: 99999 }} + > + handleSelect('first_name')}> + + + handleSelect('last_name')}> + + + handleSelect('full_name')}> + + + + + ); +}; + +export default VariableToolButton; diff --git a/src/zui/ZUIEditor/EditorOverlays/index.tsx b/src/zui/ZUIEditor/EditorOverlays/index.tsx new file mode 100644 index 000000000..0730da497 --- /dev/null +++ b/src/zui/ZUIEditor/EditorOverlays/index.tsx @@ -0,0 +1,202 @@ +import { + useEditorEvent, + useEditorState, + useEditorView, + usePositioner, +} from '@remirror/react'; +import { FC, useCallback, useEffect, useState } from 'react'; +import { ProsemirrorNode } from '@remirror/pm/suggest'; +import { Box } from '@mui/material'; + +import BlockToolbar from './BlockToolbar'; +import BlockInsert from './BlockInsert'; +import BlockMenu from './BlockMenu'; +import useBlockMenu from './useBlockMenu'; + +export type BlockDividerData = { + pos: number; + y: number; +}; + +type BlockData = { + node: ProsemirrorNode; + rect: DOMRect; + type: string; +}; + +type Props = { + blocks: { + id: string; + label: string; + }[]; + enableBold: boolean; + enableItalic: boolean; + enableLink: boolean; + enableVariable: boolean; +}; + +const EditorOverlays: FC = ({ + blocks, + enableBold, + enableItalic, + enableLink, + enableVariable, +}) => { + const view = useEditorView(); + const state = useEditorState(); + const positioner = usePositioner('cursor'); + const { isOpen: showBlockMenu } = useBlockMenu(blocks); + + const [typing, setTyping] = useState(false); + const [mouseY, setMouseY] = useState(-Infinity); + const [currentBlock, setCurrentBlock] = useState(null); + + const findSelectedNode = useCallback(() => { + const pos = state.selection.$head.pos; + const resolved = state.doc.resolve(pos); + const node = resolved.node(1); + if (node) { + const posBeforeTextContent = resolved.before(1); + const elem = view.nodeDOM(posBeforeTextContent); + if (elem instanceof HTMLElement) { + const nodeElem = elem; + const editorRect = view.dom.getBoundingClientRect(); + const nodeRect = nodeElem.getBoundingClientRect(); + const x = nodeRect.x - editorRect.x; + const y = nodeRect.y - editorRect.y; + setCurrentBlock({ + node, + rect: { + ...nodeRect.toJSON(), + left: x, + top: y, + x: x, + y: y, + }, + type: node.type.name, + }); + } + } + }, [view, state.selection]); + + useEffect(() => { + const observer = new ResizeObserver(findSelectedNode); + if (view.dom) { + observer.observe(view.dom); + } + + return () => observer.disconnect(); + }, [view.dom, findSelectedNode, state.selection]); + + useEditorEvent('keyup', () => { + setTyping(true); + }); + + useEffect(() => { + const handleMouseMove = (ev: Event) => { + if (ev.type == 'mousemove') { + const mouseEvent = ev as MouseEvent; + const editorRect = view.dom.getBoundingClientRect(); + setMouseY(mouseEvent.clientY - editorRect.y); + } + setTyping(false); + }; + + view.root.addEventListener('mousemove', handleMouseMove); + + return () => { + view.root.removeEventListener('mousemove', handleMouseMove); + }; + }, [view.root]); + + useEffect(() => { + findSelectedNode(); + }, [state.selection]); + + let pos = 0; + const blockDividers: BlockDividerData[] = [ + { + pos: 0, + y: 8, + }, + ]; + + const containerRect = view.dom.getBoundingClientRect(); + state.doc.children.forEach((blockNode) => { + const elem = view.nodeDOM(pos); + + pos += blockNode.nodeSize; + + if (elem instanceof HTMLElement) { + if (elem.nodeName == 'P' && elem.textContent?.trim().length == 0) { + return; + } + + const rect = elem.getBoundingClientRect(); + + blockDividers.push({ + pos, + y: rect.bottom - containerRect.top, + }); + } + }); + + const isEmptyParagraph = + currentBlock?.type == 'paragraph' && currentBlock?.node.textContent == ''; + + const showBlockToolbar = + !showBlockMenu && !!currentBlock && !typing && !isEmptyParagraph; + + const showBlockInsert = !showBlockMenu && !typing; + + const showSelectedBlockOutline = !!currentBlock; + + return ( + <> + {showSelectedBlockOutline && ( + + + + )} + {showBlockToolbar && ( + + )} + {showBlockInsert && ( + + )} + + + {showBlockMenu && } + + + + ); +}; + +export default EditorOverlays; diff --git a/src/zui/ZUIEditor/EditorOverlays/useBlockMenu.ts b/src/zui/ZUIEditor/EditorOverlays/useBlockMenu.ts new file mode 100644 index 000000000..06cce554a --- /dev/null +++ b/src/zui/ZUIEditor/EditorOverlays/useBlockMenu.ts @@ -0,0 +1,58 @@ +import { + useCommands, + useExtensionEvent, + useMenuNavigation, +} from '@remirror/react'; +import { useState } from 'react'; + +import BlockMenuExtension from '../extensions/BlockMenuExtension'; + +export default function useBlockMenu( + blocks: { + id: string; + label: string; + }[] +) { + const [query, setQuery] = useState(null); + const [ignore, setIgnore] = useState(false); + + const { insertBlock } = useCommands(); + + useExtensionEvent(BlockMenuExtension, 'onBlockQuery', (newQuery) => { + setQuery(newQuery); + if (newQuery == null) { + setIgnore(false); + } + }); + + const isOpen = query !== null && !ignore; + + const filteredBlocks = blocks.filter( + (block) => + !query || + query == '' || + block.id.toLowerCase().startsWith(query.toLowerCase()) || + block.label.toLowerCase().startsWith(query.toLowerCase()) + ); + + const menu = useMenuNavigation({ + isOpen: isOpen, + items: filteredBlocks, + onDismiss: () => { + setQuery(null); + setIgnore(true); + return true; + }, + onSubmit: (blockType) => { + setQuery(null); + insertBlock(blockType.id); + return true; + }, + }); + + return { + filteredBlocks, + isOpen, + menu, + }; +} diff --git a/src/zui/ZUIEditor/EmptyBlockPlaceholder.tsx b/src/zui/ZUIEditor/EmptyBlockPlaceholder.tsx new file mode 100644 index 000000000..13d7fd5f4 --- /dev/null +++ b/src/zui/ZUIEditor/EmptyBlockPlaceholder.tsx @@ -0,0 +1,54 @@ +import { Box, Link, Typography } from '@mui/material'; +import { useCommands, usePositioner } from '@remirror/react'; +import { FC } from 'react'; + +import { Msg } from 'core/i18n'; +import messageIds from 'zui/l10n/messageIds'; + +const EmptyBlockPlaceholder: FC = () => { + const positioner = usePositioner('emptyBlockStart'); + const { focus, insertText } = useCommands(); + + return ( + + {positioner.active && ( + + { + const pos = positioner.data.pos; + if (pos) { + insertText('/', { from: positioner.data.pos }); + focus(pos + 2); + } + }} + sx={{ + cursor: 'pointer', + }} + > + + + ), + }} + /> + + )} + + ); +}; + +export default EmptyBlockPlaceholder; diff --git a/src/zui/ZUIEditor/ImageExtensionUI.tsx b/src/zui/ZUIEditor/ImageExtensionUI.tsx new file mode 100644 index 000000000..c275e1cf5 --- /dev/null +++ b/src/zui/ZUIEditor/ImageExtensionUI.tsx @@ -0,0 +1,40 @@ +import { useCommands, useExtensionEvent } from '@remirror/react'; +import { FC, useState } from 'react'; + +import FileLibraryDialog from 'features/files/components/FileLibraryDialog'; +import ImageExtension from './extensions/ImageExtension'; + +type Props = { + orgId: number; +}; + +const ImageExtensionUI: FC = ({ orgId }) => { + const [pos, setPos] = useState(null); + const { setImageFile } = useCommands(); + + useExtensionEvent(ImageExtension, 'onCreate', (pos) => { + setPos(pos); + }); + + useExtensionEvent(ImageExtension, 'onPick', (newPos) => { + setPos(newPos); + }); + + return ( + { + setPos(null); + }} + onSelectFile={(file) => { + if (pos) { + setImageFile(file, pos); + setPos(null); + } + }} + open={!!pos} + orgId={orgId} + /> + ); +}; + +export default ImageExtensionUI; diff --git a/src/zui/ZUIEditor/LinkExtensionUI.tsx b/src/zui/ZUIEditor/LinkExtensionUI.tsx new file mode 100644 index 000000000..edbffeaba --- /dev/null +++ b/src/zui/ZUIEditor/LinkExtensionUI.tsx @@ -0,0 +1,109 @@ +import { useCommands, useEditorState, useEditorView } from '@remirror/react'; +import { FC, useEffect, useState } from 'react'; +import { ProsemirrorNode } from 'remirror'; + +import formatUrl from 'utils/formatUrl'; +import TextAndHrefOverlay from './elements/TextAndHrefOverlay'; + +export type NodeWithPosition = { + from: number; + node: ProsemirrorNode; + to: number; +}; + +const LinkExtensionUI: FC = () => { + const state = useEditorState(); + const view = useEditorView(); + const { removeLink, removeUnfinishedLinks, updateLink, updateLinkText } = + useCommands(); + + const [selectedNodes, setSelectedNodes] = useState([]); + const [selectionHasOtherNodes, setSelectionHasOtherNodes] = useState(false); + const [linkText, setLinkText] = useState(''); + const [linkHref, setLinkHref] = useState(''); + + const selectionCoords = view.coordsAtPos(state.selection.$from.pos); + const editorRect = view.dom.getBoundingClientRect(); + + const left = selectionCoords.left - editorRect.left; + const top = selectionCoords.top - editorRect.top; + + const showLinkMaker = selectedNodes.length == 1 && !selectionHasOtherNodes; + + useEffect(() => { + if (!showLinkMaker) { + removeUnfinishedLinks(); + } + }, [showLinkMaker]); + + useEffect(() => { + const selectedNode = selectedNodes[0]?.node; + if (selectedNode) { + const currentText = selectedNode.text; + + const textWithoutPlaceholder = currentText?.replaceAll( + String.fromCharCode(160), + '' + ); + + setLinkText(textWithoutPlaceholder || ''); + const mark = selectedNode.marks.find((mark) => mark.type.name == 'zlink'); + setLinkHref(mark?.attrs.href || ''); + } + }, [selectedNodes[0]]); + + useEffect(() => { + const linkNodes: NodeWithPosition[] = []; + let hasOtherNodes = false; + state.doc.nodesBetween( + state.selection.from, + state.selection.to, + (node, index) => { + if (node.isText) { + if (node.marks.some((mark) => mark.type.name == 'zlink')) { + linkNodes.push({ from: index, node, to: index + node.nodeSize }); + } else { + hasOtherNodes = true; + } + } + } + ); + setSelectedNodes(linkNodes); + setSelectionHasOtherNodes(hasOtherNodes); + }, [state.selection]); + + const formattedHref = formatUrl(linkHref); + + return ( + { + setSelectedNodes([]); + }} + onChangeHref={(href) => setLinkHref(href)} + onChangeText={(text) => setLinkText(text)} + onRemove={() => { + removeLink({ + from: selectedNodes[0].from, + to: selectedNodes[0].to, + }); + }} + onSubmit={() => { + updateLink({ href: formattedHref || '' }); + updateLinkText( + { + from: selectedNodes[0].from, + to: selectedNodes[0].to, + }, + linkText + ); + }} + open={showLinkMaker} + text={linkText} + x={left} + y={top + 20} + /> + ); +}; + +export default LinkExtensionUI; diff --git a/src/zui/ZUIEditor/README.md b/src/zui/ZUIEditor/README.md new file mode 100644 index 000000000..fcf1aaa31 --- /dev/null +++ b/src/zui/ZUIEditor/README.md @@ -0,0 +1,150 @@ +# ZUIEditor + +This is Zetkin's block editor, built on top of ProseMirror and Remirror. This +document describes how it works for developers who want to use or develop it +further. + +## Architecture + +ZUIEditor uses [Remirror](https://www.remirror.io/), which in turn builds on +[ProseMirror](https://prosemirror.net/). Functionality is added in two ways +(often simultaneously), using Remirror extensions and using React UI components +that are overlaid on top of the ProseMiror DOM. + +The diagram below illustrates the various components of this architecture, and +which ones interface with eachother (as indicated by `=` / `||`). + +``` +.---------------------------------------------. +| ZUIEditor | +| _________________________________________ | +| | | | | +| | = Extensions | | +| | UI components | | | +| | |--------||--------| | +| | = | | +| |----------------------| | | +| | (ProseMirror DOM) | (Remirror) | | Items in parentheses +| |- - - - - - - - - - - | | | belong to third-party +| | (ProseMirror logic) = | | components. +| '----------------------'------------------' | +|_____________________________________________| +``` + +- **Extensions** add functionality to the editor via Remirror, which in turn + communicates with the ProseMirror API. ProseMirror renders the editor content + to the DOM in a `contenteditable` div. +- **Extensions** and **UI components** communicate in order to re-render the UI + or update state when the user interacts with the UI +- **UI components** read state from Remirror in order to update UI, and + sometimes trigger updates directly + +### Communicating from UI to extension + +UI components are used to present a graphical interface through which the user +can interact with the editor, so they need to be able to trigger changes in the +editor by sending messages to it. + +Components send messages to extensions using commands, that are exposed by the +editor using the `@command` decorator in the extension. + +Example: The `ImageExtensionUI` presents the file picker and updates the image +block by invoking the `setImageFile()` command. + +```tsx +const { setImageFile } = useCommands(); + + { + setImageFile(file); + }} + // ... +/>; +``` + +The `setImageFile()` command is exposed by the `ImageExtension` extension class, +using Remirrors mechanism for creating ProseMirror commands. Read more about it +[in their tutorial](https://www.remirror.io/docs/getting-started/custom-extension#add-commands). + +```ts + @command() + setImageFile(file: ZetkinFile | null): CommandFunction { + return (props) => { + props.dispatch?.( + props.tr.setNodeAttribute( + props.state.selection.$from.pos, + 'src', + file?.url ?? null + ) + ); + return true; + }; + } +``` + +### Communicating from extension to UI + +For UI components to be able to present accurate UI they need to know the state +of the underlying extension. Extensions can notify the UI of changes using +events. + +Events are defined as part of the extension options using the `Handler` type, +and then invoked by the extension via `this.options`. + +Example: `ImageExtensionUI` listens to an `onCreate` event that is dispatched by +the extension when it creates a new image block. + +```ts +type ImageOptions = { + onCreate?: Handler<() => void>; // <-- Define the event type +}; + +@extension({ + customHandlerKeys: [], + defaultOptions: {}, + handlerKeys: ['onCreate'], // <-- Enable the event + staticKeys: [], +}) +export default class ImageExtension extends NodeExtension { + createAndPick() { + const node = this.type.create(); + this.options.onCreate(); // <-- Invoke the event + return node; + } + // ... +} +``` + +The component listens for the event using `useExtensionEvent()`: + +```ts +useExtensionEvent(ImageExtension, 'onCreate', () => { + setFileDialogOpen(true); +}); +``` + +### Reading editor state in components + +UI components use the `Remirror` hooks directly to read editor state, such as +the current position of the cursor and selection, what blocks exist in the +document, etc. + +## Interface + +The `ZUIEditor` component exposes these properties: + +- `enableX` (where X is a feature) configures the editor to include + functionality, e.g. `enableImage` to enable the image block +- `onChange` is called whenever content changes and passes the content in the + Zetkin block format +- `initialContent` is the initial content defined using the Zetkin block format + +## Extended functionality + +These are the custom extensions that are added by `ZUIEditor`. They should be +documented more properly as we get further. + +- Button block +- Image block +- Placeholder +- Block menu diff --git a/src/zui/ZUIEditor/elements/TextAndHrefOverlay.tsx b/src/zui/ZUIEditor/elements/TextAndHrefOverlay.tsx new file mode 100644 index 000000000..2ae383467 --- /dev/null +++ b/src/zui/ZUIEditor/elements/TextAndHrefOverlay.tsx @@ -0,0 +1,135 @@ +import { OpenInNew } from '@mui/icons-material'; +import { + Box, + Button, + IconButton, + Paper, + Popper, + TextField, +} from '@mui/material'; +import { FC, useState } from 'react'; + +import formatUrl from 'utils/formatUrl'; +import messageIds from 'zui/l10n/messageIds'; +import { Msg, useMessages } from 'core/i18n'; + +type Props = { + href: string; + onCancel: () => void; + onChangeHref: (href: string) => void; + onChangeText: (text: string) => void; + onRemove?: () => void; + onSubmit: () => void; + open: boolean; + text: string; + x: number; + y: number; +}; + +const TextAndHrefOverlay: FC = ({ + href, + onCancel, + onChangeHref, + onChangeText, + onRemove, + onSubmit, + open, + text, + x, + y, +}) => { + const [anchorEl, setAnchorEl] = useState(); + const messages = useMessages(messageIds); + + const formattedHref = formatUrl(href); + const canSubmit = !!formattedHref && text.length > 0; + + return ( + + setAnchorEl(el)} + sx={{ + left: x, + position: 'absolute', + top: y, + }} + > + + + + + onChangeHref(ev.target.value)} + size="small" + value={href} + /> + + + + + + onChangeText(ev.target.value)} + placeholder={messages.editor.extensions.link.textPlaceholder()} + size="small" + value={text} + /> + + + {!!onRemove && ( + + )} + + + + + + + + + + + + ); +}; + +export default TextAndHrefOverlay; diff --git a/src/zui/ZUIEditor/extensions/BlockMenuExtension.ts b/src/zui/ZUIEditor/extensions/BlockMenuExtension.ts new file mode 100644 index 000000000..ed94faca4 --- /dev/null +++ b/src/zui/ZUIEditor/extensions/BlockMenuExtension.ts @@ -0,0 +1,73 @@ +import { Suggester } from '@remirror/pm/suggest'; +import { + legacyCommand as command, + CommandFunction, + extension, + Handler, + PlainExtension, +} from 'remirror'; +import { ParagraphExtension } from 'remirror/extensions'; + +type BlockMenuOptions = { + blockFactories: Record; + onBlockQuery?: Handler<(query: string | null) => void>; +}; + +@extension({ + customHandlerKeys: [], + defaultOptions: { blockFactories: {} }, + handlerKeys: ['onBlockQuery'], + staticKeys: [], +}) +class BlockMenuExtension extends PlainExtension { + createSuggesters(): Suggester[] | Suggester { + return [ + { + char: '/', + isValidPosition: (range) => { + return range.$from.parentOffset == 0; + }, + name: 'slash', + onChange: (details, tr) => { + const resolved = tr.doc.resolve(details.range.to); + const exited = !!details.exitReason; + const inParagraph = resolved.node(1).type.name == 'paragraph'; + this.options.onBlockQuery( + exited || !inParagraph ? null : details.query.full + ); + }, + }, + ]; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + insertBlock(type: string): CommandFunction { + return (props) => { + const { state, tr } = props; + const resolved = state.doc.resolve(state.selection.$head.pos); + tr.deleteRange(resolved.start(), resolved.end()); + + const factoryCommand = this.options.blockFactories[type]; + return factoryCommand(props); + }; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + insertEmptyParagraph(pos: number): CommandFunction { + return ({ dispatch, tr }) => { + const node = this.store.getExtension(ParagraphExtension).type.create(); + dispatch?.(tr.insert(pos, node)); + return true; + }; + } + + get name(): string { + return 'zblockmenu'; + } +} + +export default BlockMenuExtension; diff --git a/src/zui/ZUIEditor/extensions/ButtonExtension.tsx b/src/zui/ZUIEditor/extensions/ButtonExtension.tsx new file mode 100644 index 000000000..9700dc4a1 --- /dev/null +++ b/src/zui/ZUIEditor/extensions/ButtonExtension.tsx @@ -0,0 +1,137 @@ +/* eslint-disable @typescript-eslint/no-namespace */ +import { TextSelection } from '@remirror/pm/state'; +import { + ApplySchemaAttributes, + legacyCommand as command, //Because of NEXTjs, see Remirror docs + CommandFunction, + extension, + ExtensionTag, + NodeExtension, + NodeExtensionSpec, + NodeSpecOverride, + omitExtraAttributes, +} from 'remirror'; + +type ButtonOptions = { + href: string; +}; + +@extension({ defaultOptions: { href: 'kjhkjh' } }) +class ButtonExtension extends NodeExtension { + createNodeSpec( + extra: ApplySchemaAttributes, + override: NodeSpecOverride + ): NodeExtensionSpec { + return { + content: 'text*', + draggable: false, + group: 'block', + inline: false, + selectable: true, + ...override, + attrs: { + ...extra.defaults(), + href: { + default: null, + }, + }, + parseDOM: [ + { + getAttrs: (element) => { + return extra.parse(element); + }, + tag: 'div', + }, + ...(override.parseDOM ?? []), + ], + toDOM: (node) => { + const attrs = omitExtraAttributes(node.attrs, extra); + return [ + 'div', + { + ...extra.dom(node), + ...attrs, + class: 'zui-editor zbutton-container', + }, + [ + 'div', + { + class: 'zui-editor zbutton-button', + }, + 0, + ], + ]; + }, + }; + } + + createTags() { + return [ExtensionTag.Block, ExtensionTag.FormattingNode]; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + insertButton(text: string): CommandFunction { + return (props) => { + const { dispatch, state, tr } = props; + const newNode = this.type.create(null, this.type.schema.text(text)); + if (dispatch) { + const pos = state.selection.$from.pos; + const parentOffset = state.doc.resolve(pos).parentOffset; + const blockLength = 1; + + tr.insert(pos - parentOffset - blockLength, newNode); + + const resolved = tr.doc.resolve(pos); + tr.setSelection( + TextSelection.create(tr.doc, resolved.start(), resolved.end()) + ); + dispatch(tr); + } + + return true; + }; + } + + get name() { + return 'zbutton' as const; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + setButtonHref(pos: number, href: string): CommandFunction { + return ({ dispatch, tr }) => { + const resolved = tr.doc.resolve(pos); + tr.setNodeAttribute(resolved.before(), 'href', href); + dispatch?.(tr); + return true; + }; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + setButtonText(pos: number, text: string): CommandFunction { + return ({ dispatch, tr }) => { + const newTextNode = this.type.schema.text(text); + const resolved = tr.doc.resolve(pos); + + tr.replaceWith(resolved.start(), resolved.end(), newTextNode); + + dispatch?.(tr); + return true; + }; + } +} + +declare global { + namespace Remirror { + interface AllExtensions { + zbutton: ButtonExtension; + } + } +} + +export default ButtonExtension; diff --git a/src/zui/ZUIEditor/extensions/ImageExtension.ts b/src/zui/ZUIEditor/extensions/ImageExtension.ts new file mode 100644 index 000000000..db442212f --- /dev/null +++ b/src/zui/ZUIEditor/extensions/ImageExtension.ts @@ -0,0 +1,120 @@ +import { + ApplySchemaAttributes, + legacyCommand as command, + CommandFunction, + extension, + Handler, + NodeExtension, + NodeExtensionSpec, + NodeSpecOverride, + omitExtraAttributes, +} from 'remirror'; + +import { ZetkinFile } from 'utils/types/zetkin'; + +type ImageOptions = { + onCreate?: Handler<(pos: number) => void>; + onPick?: Handler<(pos: number) => void>; +}; + +@extension({ + customHandlerKeys: [], + defaultOptions: {}, + handlerKeys: ['onCreate', 'onPick'], + staticKeys: [], +}) +export default class ImageExtension extends NodeExtension { + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + createAndPick(): CommandFunction { + return ({ dispatch, tr, state }) => { + const pos = state.selection.$from.pos; + const parentOffset = state.doc.resolve(pos).parentOffset; + const blockLength = 1; + + const node = this.type.create(); + tr.insert(pos - parentOffset - blockLength, node); + dispatch?.(tr); + + this.options.onCreate(pos - parentOffset - blockLength); + + return true; + }; + } + + createNodeSpec( + extra: ApplySchemaAttributes, + override: NodeSpecOverride + ): NodeExtensionSpec { + return { + draggable: false, + group: 'block', + inline: false, + selectable: true, + ...override, + attrs: { + ...extra.defaults(), + src: { default: null }, + }, + parseDOM: [ + { + getAttrs: (element) => { + return { + ...extra.parse(element), + src: element.getAttribute('src'), + }; + }, + tag: 'img', + }, + ...(override.parseDOM ?? []), + ], + toDOM: (node) => { + const attrs = omitExtraAttributes(node.attrs, extra); + return [ + 'img', + { + ...extra.dom(node), + ...attrs, + class: 'zimage-image', + }, + ]; + }, + }; + } + + get name() { + return 'zimage' as const; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + pickImage(pos: number): CommandFunction { + return () => { + this.options.onPick(pos); + return true; + }; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + setImageFile(file: ZetkinFile | null, pos: number): CommandFunction { + return (props) => { + props.dispatch?.( + props.tr.setNodeAttribute(pos, 'src', file?.url ?? null) + ); + return true; + }; + } +} + +/* eslint-disable @typescript-eslint/no-namespace */ +declare global { + namespace Remirror { + interface AllExtensions { + zimage: ImageExtension; + } + } +} diff --git a/src/zui/ZUIEditor/extensions/LinkExtension.tsx b/src/zui/ZUIEditor/extensions/LinkExtension.tsx new file mode 100644 index 000000000..556559fc3 --- /dev/null +++ b/src/zui/ZUIEditor/extensions/LinkExtension.tsx @@ -0,0 +1,217 @@ +/* eslint-disable @typescript-eslint/no-namespace */ + +import { TagParseRule } from '@remirror/pm/model'; +import { TextSelection } from '@remirror/pm/state'; +import { + ApplySchemaAttributes, + extension, + legacyCommand as command, + MarkExtension, + MarkExtensionSpec, + MarkSpecOverride, + toggleMark, + PrimitiveSelection, + CommandFunction, + getTextSelection, + FromToProps, + updateMark, + ProsemirrorAttributes, +} from 'remirror'; + +export interface LinkOptions { + href: string; +} + +export type LinkAttributes = ProsemirrorAttributes<{ + /** + * The link which is a required property for the link mark. + */ + href: string; +}>; + +@extension({ defaultOptions: { href: '' } }) +class LinkExtension extends MarkExtension { + createMarkSpec( + extra: ApplySchemaAttributes, + override: MarkSpecOverride + ): MarkExtensionSpec { + return { + ...override, + attrs: { + ...extra.defaults(), + href: {}, + }, + parseDOM: [ + { + getAttrs: (node) => { + return { + ...extra.parse(node), + href: node.getAttribute('href'), + }; + }, + tag: 'a', + } as TagParseRule, + ...(override.parseDOM ?? []), + ], + toDOM: (node) => { + return [ + 'a', + { + ...extra.dom(node), + href: node.attrs.href, + }, + 0, + ]; + }, + }; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + insertEmptyLink(): CommandFunction { + return ({ dispatch, state, tr }) => { + const mark = this.type.create(); + const node = this.type.schema.text(String.fromCharCode(160), [mark]); + const pos = state.selection.$head.pos; + tr = tr.insert(pos, node); + tr = tr.setSelection(TextSelection.create(tr.doc, pos, pos + 1)); + dispatch?.(tr); + + return true; + }; + } + + get name() { + return 'zlink' as const; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + removeAllLinksInRange(range: FromToProps): CommandFunction { + return ({ tr, dispatch }) => { + tr.doc.nodesBetween(range.from, range.to, (node, pos) => { + if (node.isText) { + const linkMark = node.marks.find( + (mark) => mark.type.name == this.type.name + ); + if (linkMark) { + tr = tr.removeMark(pos, pos + node.nodeSize, this.type); + } + } + }); + + dispatch?.(tr); + + return true; + }; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + removeLink(range: FromToProps): CommandFunction { + return ({ tr, dispatch }) => { + const { from, to } = range; + + if (!tr.doc.rangeHasMark(from, to, this.type)) { + return false; + } + + dispatch?.(tr.removeMark(from, to, this.type)); + + return true; + }; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + removeUnfinishedLinks(): CommandFunction { + return ({ tr, dispatch }) => { + tr.doc.descendants((node, pos) => { + if (node.isText) { + const linkMark = node.marks.find( + (mark) => mark.type.name == this.type.name + ); + if (linkMark) { + if (!linkMark.attrs.href) { + tr = tr.removeMark(pos, pos + node.nodeSize, this.type); + if (node.text == String.fromCharCode(160)) { + tr = tr.delete(pos, pos + 1); + } + } + } + } + }); + + dispatch?.(tr); + + return true; + }; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + setLink(selection?: PrimitiveSelection): CommandFunction { + return ({ tr, dispatch }) => { + const { from, to } = getTextSelection(selection ?? tr.selection, tr.doc); + dispatch?.(tr.addMark(from, to, this.type.create())); + + return true; + }; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + toggleLink(selection?: PrimitiveSelection): CommandFunction { + return toggleMark({ selection, type: this.type }); + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + updateLink(attrs: LinkAttributes, range: FromToProps): CommandFunction { + return (props) => { + const { tr } = props; + + tr.setMeta(this.name, { attrs, command: 'updateLink', range }); + + return updateMark({ + attrs, + range, + type: this.type, + })(props); + }; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + updateLinkText(range: FromToProps, linkText: string): CommandFunction { + return (props) => { + const { tr, dispatch } = props; + + tr.insertText(linkText, range.from, range.to); + + if (dispatch) { + dispatch(tr); + } + + return true; + }; + } +} + +declare global { + namespace Remirror { + interface AllExtensions { + zlink: LinkExtension; + } + } +} + +export default LinkExtension; diff --git a/src/zui/ZUIEditor/extensions/VariableExtension.ts b/src/zui/ZUIEditor/extensions/VariableExtension.ts new file mode 100644 index 000000000..1d0d44c98 --- /dev/null +++ b/src/zui/ZUIEditor/extensions/VariableExtension.ts @@ -0,0 +1,95 @@ +import { + ApplySchemaAttributes, + legacyCommand as command, + CommandFunction, + NodeExtension, + NodeExtensionSpec, + NodeSpecOverride, + omitExtraAttributes, +} from 'remirror'; + +export type VariableName = 'first_name' | 'last_name' | 'full_name'; +type VariableLabelMap = { + [name in VariableName]: string; +}; + +export default class VariableExtension extends NodeExtension { + private _varLabels: VariableLabelMap; + + constructor(varLabels: VariableLabelMap) { + super(); + this._varLabels = varLabels; + } + + createNodeSpec( + extra: ApplySchemaAttributes, + override: NodeSpecOverride + ): NodeExtensionSpec { + return { + atom: true, + draggable: true, + group: 'inline', + inline: true, + marks: '', + selectable: true, + ...override, + attrs: { + ...extra.defaults(), + name: { + default: 'first_name', + }, + }, + parseDOM: [ + { + getAttrs: (element) => { + return { + ...extra.parse(element), + name: element.getAttribute('name'), + }; + }, + tag: 'span', + }, + ], + toDOM: (node) => { + const attrs = omitExtraAttributes(node.attrs, extra); + const name = attrs.name as VariableName; + return [ + 'span', + { + ...extra.dom(node), + ...attrs, + class: 'zvariable', + type: 'variable', + }, + this._varLabels[name], + ]; + }, + }; + } + + /* eslint-disable @typescript-eslint/ban-ts-comment */ + //@ts-ignore + @command() + insertVariable(name: VariableName, pos?: number): CommandFunction { + return ({ dispatch, state, tr }) => { + const node = this.type.create({ name }); + pos ||= state.selection.$head.pos; + tr.insert(pos, node); + dispatch?.(tr); + return true; + }; + } + + get name() { + return 'zvariable' as const; + } +} + +/* eslint-disable @typescript-eslint/no-namespace */ +declare global { + namespace Remirror { + interface AllExtensions { + zvariable: VariableExtension; + } + } +} diff --git a/src/zui/ZUIEditor/index.tsx b/src/zui/ZUIEditor/index.tsx new file mode 100644 index 000000000..7748d83e9 --- /dev/null +++ b/src/zui/ZUIEditor/index.tsx @@ -0,0 +1,214 @@ +import { + EditorComponent, + OnChangeJSON, + Remirror, + useRemirror, +} from '@remirror/react'; +import { FC } from 'react'; +import { + BoldExtension, + BulletListExtension, + HardBreakExtension, + HeadingExtension, + ItalicExtension, + OrderedListExtension, +} from 'remirror/extensions'; +import { AnyExtension, PasteRulesExtension } from 'remirror'; +import { Box, useTheme } from '@mui/material'; + +import LinkExtension from './extensions/LinkExtension'; +import ButtonExtension from './extensions/ButtonExtension'; +import BlockMenuExtension from './extensions/BlockMenuExtension'; +import EmptyBlockPlaceholder from './EmptyBlockPlaceholder'; +import ImageExtension from './extensions/ImageExtension'; +import ImageExtensionUI from './ImageExtensionUI'; +import { useNumericRouteParams } from 'core/hooks'; +import { useMessages } from 'core/i18n'; +import messageIds from 'zui/l10n/messageIds'; +import EditorOverlays from './EditorOverlays'; +import VariableExtension from './extensions/VariableExtension'; +import LinkExtensionUI from './LinkExtensionUI'; +import ButtonExtensionUI from './ButtonExtensionUI'; + +type BlockExtension = + | ButtonExtension + | HeadingExtension + | ImageExtension + | OrderedListExtension + | BulletListExtension; + +type Props = { + enableBold?: boolean; + enableButton?: boolean; + enableHeading?: boolean; + enableImage?: boolean; + enableItalic?: boolean; + enableLink?: boolean; + enableLists?: boolean; + enableVariable?: boolean; +}; + +const ZUIEditor: FC = ({ + enableBold, + enableButton, + enableHeading, + enableImage, + enableItalic, + enableLink, + enableLists, + enableVariable, +}) => { + const messages = useMessages(messageIds.editor); + const theme = useTheme(); + + const boldExtension = new BoldExtension({}); + const btnExtension = new ButtonExtension(); + const imgExtension = new ImageExtension({}); + const italicExtension = new ItalicExtension(); + const linkExtension = new LinkExtension(); + const olExtension = new OrderedListExtension(); + const ulExtension = new BulletListExtension({}); + const headingExtension = new HeadingExtension({}); + const varExtension = new VariableExtension({ + first_name: messages.variables.firstName(), + full_name: messages.variables.fullName(), + last_name: messages.variables.lastName(), + }); + + const otherExtensions: AnyExtension[] = []; + const blockExtensions: BlockExtension[] = []; + + if (enableButton) { + blockExtensions.push(btnExtension); + } + + if (enableBold) { + otherExtensions.push(boldExtension); + } + + if (enableImage) { + blockExtensions.push(imgExtension); + } + + if (enableItalic) { + otherExtensions.push(italicExtension); + } + + if (enableLink) { + otherExtensions.push(linkExtension); + } + + if (enableHeading) { + blockExtensions.push(headingExtension); + } + + if (enableLists) { + blockExtensions.push(olExtension); + blockExtensions.push(ulExtension); + } + + if (enableVariable) { + otherExtensions.push(varExtension); + } + + const { orgId } = useNumericRouteParams(); + + const { manager, state } = useRemirror({ + content: { + content: [ + { + content: [ + { + text: 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas dictum tempus leo sit amet ornare. Aliquam efficitur arcu id ex efficitur viverra. Morbi malesuada posuere faucibus. Donec tempus ornare interdum. Aliquam ac mattis erat, sed dapibus odio. Sed sollicitudin turpis et diam ultrices, at luctus ex blandit. Sed semper, ligula tempus molestie hendrerit, nisi quam euismod lorem, ac ullamcorper felis lorem sit amet elit. Nullam lacinia tortor ut facilisis cursus. Nullam vel pulvinar magna, semper tristique lacus. Vivamus egestas lorem erat, eget rutrum arcu lobortis et. Quisque placerat nisi a porta dapibus. Donec sed congue risus. Pellentesque condimentum, nibh ac lobortis efficitur, dui dolor molestie tortor, id auctor libero erat eget diam. Fusce rutrum mollis congue. Aliquam erat volutpat. Praesent volutpat, nibh ut cursus dictum, mauris magna pulvinar elit, ut mattis ex felis id nulla.', + type: 'text', + }, + ], + type: 'paragraph', + }, + ], + type: 'doc', + }, + extensions: () => [ + new PasteRulesExtension({}), + ...blockExtensions, + ...otherExtensions, + new HardBreakExtension(), + new BlockMenuExtension({ + blockFactories: { + bulletList: (props) => ulExtension.toggleBulletList()(props), + heading: (props) => headingExtension.toggleHeading()(props), + orderedList: (props) => olExtension.toggleOrderedList()(props), + zbutton: (props) => + btnExtension.insertButton(messages.extensions.button.defaultText())( + props + ), + zimage: (props) => imgExtension.createAndPick()(props), + }, + }), + ], + selection: 'start', + }); + + return ( + *']: { + my: 2, + }, + }} + > +
+ + ({ + id: ext.name, + label: messages.blockLabels[ext.name](), + }))} + enableBold={!!enableBold} + enableItalic={!!enableItalic} + enableLink={!!enableLink} + enableVariable={!!enableVariable} + /> + + {enableImage && } + + + + console.log(updatedContent)} + /> + +
+
+ ); +}; + +export default ZUIEditor; diff --git a/src/zui/l10n/messageIds.ts b/src/zui/l10n/messageIds.ts index 9ec999607..545bb2e49 100644 --- a/src/zui/l10n/messageIds.ts +++ b/src/zui/l10n/messageIds.ts @@ -126,6 +126,37 @@ export default makeMessages('zui', { editableImage: { add: m('Click to add image'), }, + editor: { + blockLabels: { + bulletList: m('Bullet list'), + heading: m('Heading'), + orderedList: m('Ordered list'), + zbutton: m('Button'), + zimage: m('Image'), + }, + extensions: { + button: { + defaultText: m('Button text'), + }, + link: { + apply: m('Apply'), + cancel: m('Cancel'), + remove: m('Remove'), + textPlaceholder: m('Add link text here'), + }, + }, + placeholder: { + label: m<{ link: ReactElement }>( + 'Type / or {link} to insert block, or just type some text' + ), + link: m('click here'), + }, + variables: { + firstName: m('First Name'), + fullName: m('Full Name'), + lastName: m('Last Name'), + }, + }, futures: { errorLoading: m('There was an error loading the data.'), }, diff --git a/tsconfig.json b/tsconfig.json index 24ac6ed89..e85404b02 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -1,18 +1,14 @@ { "compilerOptions": { "target": "es5", - "lib": [ - "es6", - "dom", - "dom.iterable", - "esnext" - ], + "lib": ["es6", "dom", "dom.iterable", "esnext"], "downlevelIteration": true, "noImplicitAny": true, "noImplicitThis": true, "strictNullChecks": true, "allowJs": true, "skipLibCheck": true, + "experimentalDecorators": true, "strict": true, "forceConsistentCasingInFileNames": true, "noEmit": true, @@ -31,9 +27,7 @@ ] }, "ts-node": { - "require": [ - "tsconfig-paths/register" - ], + "require": ["tsconfig-paths/register"], "compilerOptions": { "jsx": "react-jsx", "module": "CommonJS" diff --git a/yarn.lock b/yarn.lock index 2419924b4..43a38613c 100644 --- a/yarn.lock +++ b/yarn.lock @@ -56,6 +56,15 @@ "@babel/highlight" "^7.24.7" picocolors "^1.0.0" +"@babel/code-frame@^7.25.9", "@babel/code-frame@^7.26.0", "@babel/code-frame@^7.26.2": + version "7.26.2" + resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.26.2.tgz#4b5fab97d33338eff916235055f0ebc21e573a85" + integrity sha512-RJlIHRueQgwWitWgF8OdFYGZX328Ax5BCemNGlqHfplnRT9ESi8JkFlvaVYbS+UubVY6dpv87Fs2u5M29iNFVQ== + dependencies: + "@babel/helper-validator-identifier" "^7.25.9" + js-tokens "^4.0.0" + picocolors "^1.0.0" + "@babel/compat-data@^7.16.0": version "7.16.4" resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.16.4.tgz#081d6bbc336ec5c2435c6346b2ae1fb98b5ac68e" @@ -71,6 +80,11 @@ resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.24.7.tgz#d23bbea508c3883ba8251fb4164982c36ea577ed" integrity sha512-qJzAIcv03PyaWqxRgO4mSU3lihncDT296vnyuE2O8uA4w3UHWI4S3hgeZd1L8W1Bft40w9JxJ2b412iDUFFRhw== +"@babel/compat-data@^7.25.9": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/compat-data/-/compat-data-7.26.3.tgz#99488264a56b2aded63983abd6a417f03b92ed02" + integrity sha512-nHIxvKPniQXpmQLb0vhY3VaFb3S0YrTAwpOWJZh1wn3oJPjJk9Asva204PsBdmAE8vpzfHudT8DB0scYvy9q0g== + "@babel/core@^7.1.0", "@babel/core@^7.12.3", "@babel/core@^7.7.2", "@babel/core@^7.7.5": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.16.0.tgz#c4ff44046f5fe310525cc9eb4ef5147f0c5374d4" @@ -134,6 +148,27 @@ json5 "^2.2.3" semver "^6.3.1" +"@babel/core@^7.22.9": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/core/-/core-7.26.0.tgz#d78b6023cc8f3114ccf049eb219613f74a747b40" + integrity sha512-i1SLeK+DzNnQ3LL/CswPCa/E5u4lh1k6IAEphON8F+cXt0t9euTshDru0q7/IqMa1PMPz5RnHuHscF8/ZJsStg== + dependencies: + "@ampproject/remapping" "^2.2.0" + "@babel/code-frame" "^7.26.0" + "@babel/generator" "^7.26.0" + "@babel/helper-compilation-targets" "^7.25.9" + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helpers" "^7.26.0" + "@babel/parser" "^7.26.0" + "@babel/template" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.26.0" + convert-source-map "^2.0.0" + debug "^4.1.0" + gensync "^1.0.0-beta.2" + json5 "^2.2.3" + semver "^6.3.1" + "@babel/generator@^7.16.0", "@babel/generator@^7.7.2": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.16.0.tgz#d40f3d1d5075e62d3500bccb67f3daa8a95265b2" @@ -152,6 +187,17 @@ jsesc "^2.5.1" source-map "^0.5.0" +"@babel/generator@^7.22.9", "@babel/generator@^7.26.0", "@babel/generator@^7.26.3": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.26.3.tgz#ab8d4360544a425c90c248df7059881f4b2ce019" + integrity sha512-6FF/urZvD0sTeO7k6/B15pMLC4CHUv1426lzr3N01aHJTl046uCAh9LXW/fzeXXjPNCJ6iABW5XaWOsIZB93aQ== + dependencies: + "@babel/parser" "^7.26.3" + "@babel/types" "^7.26.3" + "@jridgewell/gen-mapping" "^0.3.5" + "@jridgewell/trace-mapping" "^0.3.25" + jsesc "^3.0.2" + "@babel/generator@^7.24.4", "@babel/generator@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/generator/-/generator-7.24.7.tgz#1654d01de20ad66b4b4d99c135471bc654c55e6d" @@ -208,6 +254,17 @@ lru-cache "^5.1.1" semver "^6.3.1" +"@babel/helper-compilation-targets@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.9.tgz#55af025ce365be3cdc0c1c1e56c6af617ce88875" + integrity sha512-j9Db8Suy6yV/VHa4qzrj9yZfZxhLWQdVnRlXxmKLYlhWUVB1sB2G5sxuWYXk/whHD9iW76PmNzxZ4UCnTQTVEQ== + dependencies: + "@babel/compat-data" "^7.25.9" + "@babel/helper-validator-option" "^7.25.9" + browserslist "^4.24.0" + lru-cache "^5.1.1" + semver "^6.3.1" + "@babel/helper-create-class-features-plugin@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.7.tgz#2eaed36b3a1c11c53bdf80d53838b293c52f5b3b" @@ -347,6 +404,14 @@ "@babel/traverse" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helper-module-imports@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-module-imports/-/helper-module-imports-7.25.9.tgz#e7f8d20602ebdbf9ebbea0a0751fb0f2a4141715" + integrity sha512-tnUA4RsrmflIM6W6RFTLFSXITtl0wKjgpnLgXyowocVPrbYrLUXSBXDgTs8BlbmIzIdlBySRQjINYs2BAkiLtw== + dependencies: + "@babel/traverse" "^7.25.9" + "@babel/types" "^7.25.9" + "@babel/helper-module-transforms@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.16.0.tgz#1c82a8dd4cb34577502ebd2909699b194c3e9bb5" @@ -386,6 +451,15 @@ "@babel/helper-split-export-declaration" "^7.24.7" "@babel/helper-validator-identifier" "^7.24.7" +"@babel/helper-module-transforms@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helper-module-transforms/-/helper-module-transforms-7.26.0.tgz#8ce54ec9d592695e58d84cd884b7b5c6a2fdeeae" + integrity sha512-xO+xu6B5K2czEnQye6BHA7DolFFmS3LB7stHZFaOLb1pAwO1HWLS8fXA+eh0A2yIvltPVmx3eNNDBJA2SLHXFw== + dependencies: + "@babel/helper-module-imports" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@babel/traverse" "^7.25.9" + "@babel/helper-optimise-call-expression@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.0.tgz#cecdb145d70c54096b1564f8e9f10cd7d193b338" @@ -410,6 +484,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.7.tgz#98c84fe6fe3d0d3ae7bfc3a5e166a46844feb2a0" integrity sha512-Rq76wjt7yz9AAc1KnlRKNAi/dMSVWgDRx43FHoJEbcYU6xOWaE2dVPwcdTukJrjxS65GITyfbvEYHvkirZ6uEg== +"@babel/helper-plugin-utils@^7.18.9", "@babel/helper-plugin-utils@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.9.tgz#9cbdd63a9443a2c92a725cca7ebca12cc8dd9f46" + integrity sha512-kSMlyUVdWe25rEsRGviIgOWnoT/nfABVWlqt9N19/dIPWViAOW2s9wznP5tURbs/IDuNk4gPy3YdYRgH3uxhBw== + "@babel/helper-remap-async-to-generator@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.24.7.tgz#b3f0f203628522713849d49403f1a414468be4c7" @@ -494,6 +573,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.24.7.tgz#4d2d0f14820ede3b9807ea5fc36dfc8cd7da07f2" integrity sha512-7MbVt6xrwFQbunH2DNQsAP5sTGxfqQtErvBIvIMi6EQnbgUOuVYanvREcmFrOPhoXBrTtjhhP+lW+o5UfK+tDg== +"@babel/helper-string-parser@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-string-parser/-/helper-string-parser-7.25.9.tgz#1aabb72ee72ed35789b4bbcad3ca2862ce614e8c" + integrity sha512-4A/SCr/2KLd5jrtOMFzaKjVtAei3+2r/NChoBNoZ3EyP/+GlhoaEGoWOZUmFmoITP7zOJyHIMm+DYRd8o3PvHA== + "@babel/helper-validator-identifier@^7.15.7": version "7.15.7" resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.15.7.tgz#220df993bfe904a4a6b02ab4f3385a5ebf6e2389" @@ -509,6 +593,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== +"@babel/helper-validator-identifier@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.9.tgz#24b64e2c3ec7cd3b3c547729b8d16871f22cbdc7" + integrity sha512-Ed61U6XJc3CVRfkERJWDz4dJwKe7iLmmJsbOGu9wSloNSFttHV0I8g6UAgb7qnK5ly5bGLPd4oXZlxCdANBOWQ== + "@babel/helper-validator-option@^7.14.5": version "7.14.5" resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.14.5.tgz#6e72a1fff18d5dfcb878e1e62f1a021c4b72d5a3" @@ -524,6 +613,11 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.24.7.tgz#24c3bb77c7a425d1742eec8fb433b5a1b38e62f6" integrity sha512-yy1/KvjhV/ZCL+SM7hBrvnZJ3ZuT9OuZgIJAGpPEToANvc3iM6iDvBnRjtElWibHU6n8/LPR/EjX9EtIEYO3pw== +"@babel/helper-validator-option@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/helper-validator-option/-/helper-validator-option-7.25.9.tgz#86e45bd8a49ab7e03f276577f96179653d41da72" + integrity sha512-e/zv1co8pp55dNdEcCynfj9X7nyUKUXoUEwfXqaZt0omVOmDe9oOTdKStH4GmAw6zxMFs50ZayuMfHDKlO7Tfw== + "@babel/helper-wrap-function@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/helper-wrap-function/-/helper-wrap-function-7.24.7.tgz#52d893af7e42edca7c6d2c6764549826336aae1f" @@ -560,6 +654,14 @@ "@babel/template" "^7.24.7" "@babel/types" "^7.24.7" +"@babel/helpers@^7.26.0": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/helpers/-/helpers-7.26.0.tgz#30e621f1eba5aa45fe6f4868d2e9154d884119a4" + integrity sha512-tbhNuIxNcVb21pInl3ZSjksLCvgdZy9KwJ8brv993QtIVKJBBkYXz4q4ZbAv31GdnC+R90np23L5FbEBlthAEw== + dependencies: + "@babel/template" "^7.25.9" + "@babel/types" "^7.26.0" + "@babel/highlight@^7.16.0": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.0.tgz#6ceb32b2ca4b8f5f361fb7fd821e3fddf4a1725a" @@ -603,6 +705,13 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.24.7.tgz#9a5226f92f0c5c8ead550b750f5608e766c8ce85" integrity sha512-9uUYRm6OqQrCqQdG1iCBwBPZgN8ciDBro2nIOFaiRz1/BCxaI7CNvQbDHvsArAC7Tw9Hda/B3U+6ui9u4HWXPw== +"@babel/parser@^7.25.9", "@babel/parser@^7.26.0", "@babel/parser@^7.26.3": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.26.3.tgz#8c51c5db6ddf08134af1ddbacf16aaab48bac234" + integrity sha512-WJ/CvmY8Mea8iDXo6a7RK2wbmJITT5fN3BEkRuFlxVyNx8jOKIIhmC4fSkTcPcf8JyavbBwIe6OpiCOBXt/IcA== + dependencies: + "@babel/types" "^7.26.3" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.24.7.tgz#fd059fd27b184ea2b4c7e646868a9a381bbc3055" @@ -635,6 +744,14 @@ "@babel/helper-environment-visitor" "^7.24.7" "@babel/helper-plugin-utils" "^7.24.7" +"@babel/plugin-proposal-export-namespace-from@^7.18.9": + version "7.18.9" + resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz#5f7313ab348cdb19d590145f9247540e94761203" + integrity sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA== + dependencies: + "@babel/helper-plugin-utils" "^7.18.9" + "@babel/plugin-syntax-export-namespace-from" "^7.8.3" + "@babel/plugin-proposal-private-property-in-object@7.21.0-placeholder-for-preset-env.2": version "7.21.0-placeholder-for-preset-env.2" resolved "https://registry.yarnpkg.com/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz#7844f9289546efa9febac2de4cfe358a050bd703" @@ -990,6 +1107,14 @@ "@babel/helper-module-transforms" "^7.24.7" "@babel/helper-plugin-utils" "^7.24.7" +"@babel/plugin-transform-modules-commonjs@^7.22.5": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.26.3.tgz#8f011d44b20d02c3de44d8850d971d8497f981fb" + integrity sha512-MgR55l4q9KddUDITEzEFYn5ZsGDXMSsU9E+kh7fjRXTIC3RHqfCo8RPRbyReYJh44HQ/yomFkqbOFohXvDCiIQ== + dependencies: + "@babel/helper-module-transforms" "^7.26.0" + "@babel/helper-plugin-utils" "^7.25.9" + "@babel/plugin-transform-modules-commonjs@^7.23.0", "@babel/plugin-transform-modules-commonjs@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.7.tgz#9fd5f7fdadee9085886b183f1ad13d1ab260f4ab" @@ -1432,6 +1557,13 @@ dependencies: regenerator-runtime "^0.13.4" +"@babel/runtime@^7.20.13", "@babel/runtime@^7.22.3", "@babel/runtime@^7.23.8": + version "7.26.0" + resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.26.0.tgz#8600c2f595f277c60815256418b85356a65173c1" + integrity sha512-FDSOghenHTiToteC/QRlv2q3DhPZ/oOXTBoirfWNx1Cx3TMVcGWQtMMmQcSvb/JjpNeGzx8Pq/b4fKEJuWm1sw== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/runtime@^7.22.10", "@babel/runtime@^7.22.6": version "7.22.11" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.22.11.tgz#7a9ba3bbe406ad6f9e8dd4da2ece453eb23a77a4" @@ -1485,6 +1617,15 @@ "@babel/parser" "^7.16.7" "@babel/types" "^7.16.7" +"@babel/template@^7.22.5", "@babel/template@^7.25.9": + version "7.25.9" + resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.25.9.tgz#ecb62d81a8a6f5dc5fe8abfc3901fc52ddf15016" + integrity sha512-9DGttpmPvIxBb/2uwpVo3dqJ+O6RooAFOS+lB+xDqoE2PVCE8nfoHMdZLpfCQRLwvohzXISPZcgxt80xLfsuwg== + dependencies: + "@babel/code-frame" "^7.25.9" + "@babel/parser" "^7.25.9" + "@babel/types" "^7.25.9" + "@babel/template@^7.24.7": version "7.24.7" resolved "https://registry.yarnpkg.com/@babel/template/-/template-7.24.7.tgz#02efcee317d0609d2c07117cb70ef8fb17ab7315" @@ -1541,6 +1682,19 @@ debug "^4.3.1" globals "^11.1.0" +"@babel/traverse@^7.22.8", "@babel/traverse@^7.25.9": + version "7.26.4" + resolved "https://registry.yarnpkg.com/@babel/traverse/-/traverse-7.26.4.tgz#ac3a2a84b908dde6d463c3bfa2c5fdc1653574bd" + integrity sha512-fH+b7Y4p3yqvApJALCPJcwb0/XaOSgtK4pzV6WVjPR5GLFQBRI7pfoX2V2iM48NXvX07NUxxm1Vw98YjqTcU5w== + dependencies: + "@babel/code-frame" "^7.26.2" + "@babel/generator" "^7.26.3" + "@babel/parser" "^7.26.3" + "@babel/template" "^7.25.9" + "@babel/types" "^7.26.3" + debug "^4.3.1" + globals "^11.1.0" + "@babel/types@^7.0.0", "@babel/types@^7.16.0", "@babel/types@^7.3.0", "@babel/types@^7.3.3": version "7.16.0" resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.16.0.tgz#db3b313804f96aadd0b776c4823e127ad67289ba" @@ -1566,6 +1720,14 @@ "@babel/helper-validator-identifier" "^7.24.7" to-fast-properties "^2.0.0" +"@babel/types@^7.22.5", "@babel/types@^7.25.9", "@babel/types@^7.26.0", "@babel/types@^7.26.3": + version "7.26.3" + resolved "https://registry.yarnpkg.com/@babel/types/-/types-7.26.3.tgz#37e79830f04c2b5687acc77db97fbc75fb81f3c0" + integrity sha512-vN5p+1kl59GVKMvTHt55NzzmYVxprfJD+ql7U9NFIfKCBkYE55LYtS+WtPlaYOyzydrKI8Nezd+aZextrd+FMA== + dependencies: + "@babel/helper-string-parser" "^7.25.9" + "@babel/helper-validator-identifier" "^7.25.9" + "@base2/pretty-print-object@1.0.1": version "1.0.1" resolved "https://registry.yarnpkg.com/@base2/pretty-print-object/-/pretty-print-object-1.0.1.tgz#371ba8be66d556812dc7fb169ebc3c08378f69d4" @@ -1677,6 +1839,23 @@ source-map "^0.5.7" stylis "4.2.0" +"@emotion/babel-plugin@^11.13.5": + version "11.13.5" + resolved "https://registry.yarnpkg.com/@emotion/babel-plugin/-/babel-plugin-11.13.5.tgz#eab8d65dbded74e0ecfd28dc218e75607c4e7bc0" + integrity sha512-pxHCpT2ex+0q+HH91/zsdHkw/lXd468DIN2zvfvLtPKLLMo6gQj7oLObq8PhkrxOZb/gGCq03S3Z7PDhS8pduQ== + dependencies: + "@babel/helper-module-imports" "^7.16.7" + "@babel/runtime" "^7.18.3" + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/serialize" "^1.3.3" + babel-plugin-macros "^3.1.0" + convert-source-map "^1.5.0" + escape-string-regexp "^4.0.0" + find-root "^1.1.0" + source-map "^0.5.7" + stylis "4.2.0" + "@emotion/cache@^11.10.3": version "11.10.3" resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.10.3.tgz#c4f67904fad10c945fea5165c3a5a0583c164b87" @@ -1699,6 +1878,28 @@ "@emotion/weak-memoize" "^0.3.1" stylis "4.2.0" +"@emotion/cache@^11.13.5", "@emotion/cache@^11.14.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/cache/-/cache-11.14.0.tgz#ee44b26986eeb93c8be82bb92f1f7a9b21b2ed76" + integrity sha512-L/B1lc/TViYk4DcpGxtAVbx0ZyiKM5ktoIyafGkH6zg/tj+mA+NE//aPYKG0k8kCHSHVJrpLpcAlOBEXQ3SavA== + dependencies: + "@emotion/memoize" "^0.9.0" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" + stylis "4.2.0" + +"@emotion/css@^11.11.0": + version "11.13.5" + resolved "https://registry.yarnpkg.com/@emotion/css/-/css-11.13.5.tgz#db2d3be6780293640c082848e728a50544b9dfa4" + integrity sha512-wQdD0Xhkn3Qy2VNcIzbLP9MR8TafI0MJb7BEAXKp+w4+XqErksWR4OXomuDzPsN4InLdGhVe6EYcn2ZIUCpB8w== + dependencies: + "@emotion/babel-plugin" "^11.13.5" + "@emotion/cache" "^11.13.5" + "@emotion/serialize" "^1.3.3" + "@emotion/sheet" "^1.4.0" + "@emotion/utils" "^1.4.2" + "@emotion/hash@^0.9.0": version "0.9.0" resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.0.tgz#c5153d50401ee3c027a57a177bc269b16d889cb7" @@ -1709,6 +1910,11 @@ resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.1.tgz#4ffb0055f7ef676ebc3a5a91fb621393294e2f43" integrity sha512-gJB6HLm5rYwSLI6PQa+X1t5CFGrv1J1TWG+sOyMCeKz2ojaj6Fnl/rZEspogG+cvqbt4AE/2eIyD2QfLKTBNlQ== +"@emotion/hash@^0.9.2": + version "0.9.2" + resolved "https://registry.yarnpkg.com/@emotion/hash/-/hash-0.9.2.tgz#ff9221b9f58b4dfe61e619a7788734bd63f6898b" + integrity sha512-MyqliTZGuOm3+5ZRSaaBGP3USLw6+EGykkwZns2EPC5g8jJ4z9OrdZY9apkl3+UP9+sdz76YYkwCKP5gh8iY3g== + "@emotion/is-prop-valid@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@emotion/is-prop-valid/-/is-prop-valid-1.2.0.tgz#7f2d35c97891669f7e276eb71c83376a5dc44c83" @@ -1733,6 +1939,25 @@ resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.8.1.tgz#c1ddb040429c6d21d38cc945fe75c818cfb68e17" integrity sha512-W2P2c/VRW1/1tLox0mVUalvnWXxavmv/Oum2aPsRcoDJuob75FC3Y8FbpfLwUegRcxINtGUMPq0tFCvYNTBXNA== +"@emotion/memoize@^0.9.0": + version "0.9.0" + resolved "https://registry.yarnpkg.com/@emotion/memoize/-/memoize-0.9.0.tgz#745969d649977776b43fc7648c556aaa462b4102" + integrity sha512-30FAj7/EoJ5mwVPOWhAyCX+FPfMDrVecJAM+Iw9NRoSl4BBAQeqj4cApHHUXOVvIPgLVDsCFoz/hGD+5QQD1GQ== + +"@emotion/react@^11.11.0": + version "11.14.0" + resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.14.0.tgz#cfaae35ebc67dd9ef4ea2e9acc6cd29e157dd05d" + integrity sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA== + dependencies: + "@babel/runtime" "^7.18.3" + "@emotion/babel-plugin" "^11.13.5" + "@emotion/cache" "^11.14.0" + "@emotion/serialize" "^1.3.3" + "@emotion/use-insertion-effect-with-fallbacks" "^1.2.0" + "@emotion/utils" "^1.4.2" + "@emotion/weak-memoize" "^0.4.0" + hoist-non-react-statics "^3.3.1" + "@emotion/react@^11.11.3": version "11.11.4" resolved "https://registry.yarnpkg.com/@emotion/react/-/react-11.11.4.tgz#3a829cac25c1f00e126408fab7f891f00ecc3c1d" @@ -1758,6 +1983,17 @@ "@emotion/utils" "^1.2.1" csstype "^3.0.2" +"@emotion/serialize@^1.3.3": + version "1.3.3" + resolved "https://registry.yarnpkg.com/@emotion/serialize/-/serialize-1.3.3.tgz#d291531005f17d704d0463a032fe679f376509e8" + integrity sha512-EISGqt7sSNWHGI76hC7x1CksiXPahbxEOrC5RjmFRJTqLyEK9/9hZvBbiYn70dw4wuwMKiEMCUlR6ZXTSWQqxA== + dependencies: + "@emotion/hash" "^0.9.2" + "@emotion/memoize" "^0.9.0" + "@emotion/unitless" "^0.10.0" + "@emotion/utils" "^1.4.2" + csstype "^3.0.2" + "@emotion/sheet@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.0.tgz#771b1987855839e214fc1741bde43089397f7be5" @@ -1768,6 +2004,11 @@ resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.2.2.tgz#d58e788ee27267a14342303e1abb3d508b6d0fec" integrity sha512-0QBtGvaqtWi+nx6doRwDdBIzhNdZrXUppvTM4dtZZWEGTXL/XE/yJxLMGlDT1Gt+UHH5IX1n+jkXyytE/av7OA== +"@emotion/sheet@^1.4.0": + version "1.4.0" + resolved "https://registry.yarnpkg.com/@emotion/sheet/-/sheet-1.4.0.tgz#c9299c34d248bc26e82563735f78953d2efca83c" + integrity sha512-fTBW9/8r2w3dXWYM4HCB1Rdp8NLibOw2+XELH5m5+AkWiL/KqYX6dc0kKYlaYyKjrQ6ds33MCdMPEwgs2z1rqg== + "@emotion/styled@^11.11.0": version "11.11.0" resolved "https://registry.yarnpkg.com/@emotion/styled/-/styled-11.11.0.tgz#26b75e1b5a1b7a629d7c0a8b708fbf5a9cdce346" @@ -1780,6 +2021,11 @@ "@emotion/use-insertion-effect-with-fallbacks" "^1.0.1" "@emotion/utils" "^1.2.1" +"@emotion/unitless@^0.10.0": + version "0.10.0" + resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.10.0.tgz#2af2f7c7e5150f497bdabd848ce7b218a27cf745" + integrity sha512-dFoMUuQA20zvtVTuxZww6OHoJYgrzfKM1t52mVySDJnMSEa08ruEvdYQbhvyu6soU+NeLVd3yKfTfT0NeV6qGg== + "@emotion/unitless@^0.8.1": version "0.8.1" resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.8.1.tgz#182b5a4704ef8ad91bde93f7a860a88fd92c79a3" @@ -1790,6 +2036,11 @@ resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.0.1.tgz#08de79f54eb3406f9daaf77c76e35313da963963" integrity sha512-jT/qyKZ9rzLErtrjGgdkMBn2OP8wl0G3sQlBb3YPryvKHsjvINUhVaPFfP+fpBcOkmrVOVEEHQFJ7nbj2TH2gw== +"@emotion/use-insertion-effect-with-fallbacks@^1.2.0": + version "1.2.0" + resolved "https://registry.yarnpkg.com/@emotion/use-insertion-effect-with-fallbacks/-/use-insertion-effect-with-fallbacks-1.2.0.tgz#8a8cb77b590e09affb960f4ff1e9a89e532738bf" + integrity sha512-yJMtVdH59sxi/aVJBpk9FQq+OR8ll5GT8oWd57UpeaKEVGab41JWaCFA7FRLoMLloOZF/c/wsPoe+bfGmRKgDg== + "@emotion/utils@^1.2.0": version "1.2.0" resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.0.tgz#9716eaccbc6b5ded2ea5a90d65562609aab0f561" @@ -1800,6 +2051,11 @@ resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.2.1.tgz#bbab58465738d31ae4cb3dbb6fc00a5991f755e4" integrity sha512-Y2tGf3I+XVnajdItskUCn6LX+VUDmP6lTL4fcqsXAv43dnlbZiuW4MWQW38rW/BVWSE7Q/7+XQocmpnRYILUmg== +"@emotion/utils@^1.4.2": + version "1.4.2" + resolved "https://registry.yarnpkg.com/@emotion/utils/-/utils-1.4.2.tgz#6df6c45881fcb1c412d6688a311a98b7f59c1b52" + integrity sha512-3vLclRofFziIa3J2wDh9jjbkUz9qk5Vi3IZ/FSTKViB0k+ef0fPV7dYrUIugbgupYDx7v9ud/SjrtEP8Y4xLoA== + "@emotion/weak-memoize@^0.3.0": version "0.3.0" resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.0.tgz#ea89004119dc42db2e1dba0f97d553f7372f6fcb" @@ -1810,6 +2066,11 @@ resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.3.1.tgz#d0fce5d07b0620caa282b5131c297bb60f9d87e6" integrity sha512-EsBwpc7hBUJWAsNPBmJy4hxWx12v6bshQsldrVmjxJoc3isbxhOrF2IcCpaXxfvq03NwkI7sbsOLXbYuqF/8Ww== +"@emotion/weak-memoize@^0.4.0": + version "0.4.0" + resolved "https://registry.yarnpkg.com/@emotion/weak-memoize/-/weak-memoize-0.4.0.tgz#5e13fac887f08c44f76b0ccaf3370eb00fec9bb6" + integrity sha512-snKqtPW01tN0ui7yu9rGv69aJXr/a/Ywvl11sUjNtEcRc+ng/mQriFL0wLXMef74iHa/EkftbDzU9F8iFbH+zg== + "@esbuild/aix-ppc64@0.20.2": version "0.20.2" resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" @@ -1969,6 +2230,21 @@ dependencies: "@floating-ui/utils" "^0.1.3" +"@floating-ui/core@^1.6.0": + version "1.6.9" + resolved "https://registry.yarnpkg.com/@floating-ui/core/-/core-1.6.9.tgz#64d1da251433019dafa091de9b2886ff35ec14e6" + integrity sha512-uMXCuQ3BItDUbAMhIXw7UPXRfAlOAvZzdK9BWpE60MCn+Svt3aLn9jsPTi/WNGlRUu2uI0v5S7JiIUsbsvh3fw== + dependencies: + "@floating-ui/utils" "^0.2.9" + +"@floating-ui/dom@^1.0.0": + version "1.6.13" + resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.6.13.tgz#a8a938532aea27a95121ec16e667a7cbe8c59e34" + integrity sha512-umqzocjDgNRGTuO7Q8CU32dkHkECqI8ZdMZ5Swb6QAM0t5rnlrN3lGo1hdpscRd3WS8T6DKYK4ephgIH9iRh3w== + dependencies: + "@floating-ui/core" "^1.6.0" + "@floating-ui/utils" "^0.2.9" + "@floating-ui/dom@^1.5.1": version "1.5.3" resolved "https://registry.yarnpkg.com/@floating-ui/dom/-/dom-1.5.3.tgz#54e50efcb432c06c23cd33de2b575102005436fa" @@ -1977,6 +2253,13 @@ "@floating-ui/core" "^1.4.2" "@floating-ui/utils" "^0.1.3" +"@floating-ui/react-dom@^2.0.1": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.1.2.tgz#a1349bbf6a0e5cb5ded55d023766f20a4d439a31" + integrity sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A== + dependencies: + "@floating-ui/dom" "^1.0.0" + "@floating-ui/react-dom@^2.0.2": version "2.0.2" resolved "https://registry.yarnpkg.com/@floating-ui/react-dom/-/react-dom-2.0.2.tgz#fab244d64db08e6bed7be4b5fcce65315ef44d20" @@ -1984,11 +2267,25 @@ dependencies: "@floating-ui/dom" "^1.5.1" +"@floating-ui/react@^0.24.3": + version "0.24.8" + resolved "https://registry.yarnpkg.com/@floating-ui/react/-/react-0.24.8.tgz#e079e2836990be3fce9665ab509360a5447251a1" + integrity sha512-AuYeDoaR8jtUlUXtZ1IJ/6jtBkGnSpJXbGNzokBL87VDJ8opMq1Bgrc0szhK482ReQY6KZsMoZCVSb4xwalkBA== + dependencies: + "@floating-ui/react-dom" "^2.0.1" + aria-hidden "^1.2.3" + tabbable "^6.0.1" + "@floating-ui/utils@^0.1.3": version "0.1.4" resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.1.4.tgz#19654d1026cc410975d46445180e70a5089b3e7d" integrity sha512-qprfWkn82Iw821mcKofJ5Pk9wgioHicxcQMxx+5zt5GSKoqdWvgG5AxVmpmUUjzTLPVSH5auBrhI93Deayn/DA== +"@floating-ui/utils@^0.2.9": + version "0.2.9" + resolved "https://registry.yarnpkg.com/@floating-ui/utils/-/utils-0.2.9.tgz#50dea3616bc8191fb8e112283b49eaff03e78429" + integrity sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg== + "@formatjs/ecma402-abstract@1.12.0": version "1.12.0" resolved "https://registry.yarnpkg.com/@formatjs/ecma402-abstract/-/ecma402-abstract-1.12.0.tgz#2fb5e8983d5fae2fad9ec6c77aec1803c2b88d8e" @@ -2159,6 +2456,11 @@ resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-2.0.2.tgz#d9fae00a2d5cb40f92cfe64b47ad749fbc38f917" integrity sha512-6EwiSjwWYP7pTckG6I5eyFANjPhmPjUX9JRLUSfNPC7FX7zK9gyZAfUEaECL6ALTpGX5AjnBq3C9XmVWPitNpw== +"@icons/material@^0.2.4": + version "0.2.4" + resolved "https://registry.yarnpkg.com/@icons/material/-/material-0.2.4.tgz#e90c9f71768b3736e76d7dd6783fc6c2afa88bc8" + integrity sha512-QPcGmICAPbGLGb6F/yNf/KzKqvFx8z5qx3D1yFqVAjoFmXK35EgyW+cJ57Te3CNsmzblwtzakLGFqHPqrfb4Tw== + "@img/sharp-darwin-arm64@0.33.4": version "0.33.4" resolved "https://registry.yarnpkg.com/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.4.tgz#a1cf4a7febece334f16e0328b9689f05797d7aec" @@ -2539,6 +2841,72 @@ resolved "https://registry.yarnpkg.com/@juggle/resize-observer/-/resize-observer-3.4.0.tgz#08d6c5e20cf7e4cc02fd181c4b0c225cd31dbb60" integrity sha512-dfLbk+PwWvFzSxwk3n5ySL0hfBog779o8h68wK/7/APo/7cgyWp5jcXockbxdk5kFRkbeXWm4Fbi9FrdN381sA== +"@linaria/core@4.2.10": + version "4.2.10" + resolved "https://registry.yarnpkg.com/@linaria/core/-/core-4.2.10.tgz#3f8d45b20205c167d326d558ee9a926039483767" + integrity sha512-S1W01W7L4SQnGpWzp8awyCpPIYUOEJ+OLjjXqKpIXOU+ozPwBt86Mjjdas9aZccVhNBWDja74cMCUAVp8yUpDQ== + dependencies: + "@linaria/logger" "^4.0.0" + "@linaria/tags" "^4.3.5" + "@linaria/utils" "^4.3.4" + +"@linaria/logger@^4.0.0", "@linaria/logger@^4.5.0": + version "4.5.0" + resolved "https://registry.yarnpkg.com/@linaria/logger/-/logger-4.5.0.tgz#e5de815ffe7806822f47a559a512b98f66acea13" + integrity sha512-XdQLk242Cpcsc9a3Cz1ktOE5ysTo2TpxdeFQEPwMm8Z/+F/S6ZxBDdHYJL09srXWz3hkJr3oS2FPuMZNH1HIxw== + dependencies: + debug "^4.1.1" + picocolors "^1.0.0" + +"@linaria/tags@^4.3.5": + version "4.5.4" + resolved "https://registry.yarnpkg.com/@linaria/tags/-/tags-4.5.4.tgz#071ab024227433f783ea2d948904fc164731a912" + integrity sha512-HPxLB6HlJWLi6o8+8lTLegOmDnbMbuzEE+zzunaPZEGSoIIYx8HAv5VbY/sG/zNyxDElk6laiAwEVWN8h5/zxg== + dependencies: + "@babel/generator" "^7.22.9" + "@linaria/logger" "^4.5.0" + "@linaria/utils" "^4.5.3" + +"@linaria/utils@^4.3.4", "@linaria/utils@^4.5.3": + version "4.5.3" + resolved "https://registry.yarnpkg.com/@linaria/utils/-/utils-4.5.3.tgz#cf54f4096927ea347d01e814c1fb7aca7cf4063a" + integrity sha512-tSpxA3Zn0DKJ2n/YBnYAgiDY+MNvkmzAHrD8R9PKrpGaZ+wz1jQEmE1vGn1cqh8dJyWK0NzPAA8sf1cqa+RmAg== + dependencies: + "@babel/core" "^7.22.9" + "@babel/generator" "^7.22.9" + "@babel/plugin-proposal-export-namespace-from" "^7.18.9" + "@babel/plugin-syntax-dynamic-import" "^7.8.3" + "@babel/plugin-transform-modules-commonjs" "^7.22.5" + "@babel/template" "^7.22.5" + "@babel/traverse" "^7.22.8" + "@babel/types" "^7.22.5" + "@linaria/logger" "^4.5.0" + babel-merge "^3.0.0" + find-up "^5.0.0" + minimatch "^9.0.3" + +"@lingui/core@^4.2.0": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@lingui/core/-/core-4.14.1.tgz#ff6caceeaf8763b1ba2a8da60bbce95ff2d1b700" + integrity sha512-3O6bnNzApWjb+jIdXa7G2VbrP6jZ5nfCeYSVloEYg6YFIfsQ3GunccK6I2nL80mWgr2qGP4VilGD+ODCeXHITA== + dependencies: + "@babel/runtime" "^7.20.13" + "@lingui/message-utils" "4.14.1" + unraw "^3.0.0" + +"@lingui/detect-locale@^4.2.0": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@lingui/detect-locale/-/detect-locale-4.14.1.tgz#be79e812058fef673ad192ecd45635460788c443" + integrity sha512-w3sS+tVcZ8uDVJxLjHYArTjzUFK0NyMh2wukVGU52UO1WYjCCujf1DPboooIm5zeMquuTpa5XK017lnPJzB21w== + +"@lingui/message-utils@4.14.1": + version "4.14.1" + resolved "https://registry.yarnpkg.com/@lingui/message-utils/-/message-utils-4.14.1.tgz#dc6816464d15841ebbf71d68fcc66d624e1788cb" + integrity sha512-J6MzyTLNCzEnyR1Da188G81cRcQMbk/lyYnLWMzQjIELDX8bBBwNea91Sf5Zm+BB+ADWmmGTdUqRPAjDqT9Y5w== + dependencies: + "@messageformat/parser" "^5.0.0" + js-sha256 "^0.10.1" + "@mdx-js/react@^3.0.0": version "3.0.1" resolved "https://registry.yarnpkg.com/@mdx-js/react/-/react-3.0.1.tgz#997a19b3a5b783d936c75ae7c47cfe62f967f746" @@ -2546,6 +2914,13 @@ dependencies: "@types/mdx" "^2.0.0" +"@messageformat/parser@^5.0.0": + version "5.1.1" + resolved "https://registry.yarnpkg.com/@messageformat/parser/-/parser-5.1.1.tgz#ca7d6c18e9f3f6b6bc984a465dac16da00106055" + integrity sha512-3p0YRGCcTUCYvBKLIxtDDyrJ0YijGIwrTRu1DT8gIviIDZru8H23+FkY6MJBzM1n9n20CiM4VeDYuBsrrwnLjg== + dependencies: + moo "^0.5.1" + "@messageformat/parser@^5.1.0": version "5.1.0" resolved "https://registry.yarnpkg.com/@messageformat/parser/-/parser-5.1.0.tgz#05e4851c782d633ad735791dd0a68ee65d2a7201" @@ -2553,6 +2928,11 @@ dependencies: moo "^0.5.1" +"@mixmark-io/domino@^2.2.0": + version "2.2.0" + resolved "https://registry.yarnpkg.com/@mixmark-io/domino/-/domino-2.2.0.tgz#4e8ec69bf1afeb7a14f0628b7e2c0f35bdb336c3" + integrity sha512-Y28PR25bHXUg88kCV7nivXrP2Nj2RueZ3/l/jdx6J9f8J4nsEGcgX0Qe6lt7Pa+J79+kPiJU3LguR6O/6zrLOw== + "@mongodb-js/saslprep@^1.1.5": version "1.1.8" resolved "https://registry.yarnpkg.com/@mongodb-js/saslprep/-/saslprep-1.1.8.tgz#d39744540be8800d17749990b0da95b4271840d1" @@ -2606,6 +2986,11 @@ resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.10.7.tgz#b0dd472438cf769ba10c44ce44b35b597bfa0e17" integrity sha512-3N0UYVy3MbrHzM3j6f7fIUCZ+bQ1/sSZq143tLxwSssW3Z4AqE83brpr5flEY1Lx+Aowv/cPyQMmZxzRlFCGqw== +"@mui/core-downloads-tracker@^5.16.14": + version "5.16.14" + resolved "https://registry.yarnpkg.com/@mui/core-downloads-tracker/-/core-downloads-tracker-5.16.14.tgz#e6536f1b6caa873f7915fbf9703fdc840a5a98d9" + integrity sha512-sbjXW+BBSvmzn61XyTMun899E7nGPTXwqD9drm1jBUAvWEhJpPFIRxwQQiATWZnd9rvdxtnhhdsDxEGWI0jxqA== + "@mui/icons-material@^5.10.6": version "5.10.6" resolved "https://registry.yarnpkg.com/@mui/icons-material/-/icons-material-5.10.6.tgz#a032395cfe7fe8e9a8edde2d27b9e3bd23e5b935" @@ -2651,6 +3036,24 @@ react-is "^18.2.0" react-transition-group "^4.4.5" +"@mui/material@^5.13.2": + version "5.16.14" + resolved "https://registry.yarnpkg.com/@mui/material/-/material-5.16.14.tgz#da8a75822f039d8c1b0ab7fb4146d767c2f9248a" + integrity sha512-eSXQVCMKU2xc7EcTxe/X/rC9QsV2jUe8eLM3MUCPYbo6V52eCE436akRIvELq/AqZpxx2bwkq7HC0cRhLB+yaw== + dependencies: + "@babel/runtime" "^7.23.9" + "@mui/core-downloads-tracker" "^5.16.14" + "@mui/system" "^5.16.14" + "@mui/types" "^7.2.15" + "@mui/utils" "^5.16.14" + "@popperjs/core" "^2.11.8" + "@types/react-transition-group" "^4.4.10" + clsx "^2.1.0" + csstype "^3.1.3" + prop-types "^15.8.1" + react-is "^19.0.0" + react-transition-group "^4.4.5" + "@mui/private-theming@^5.10.6": version "5.10.6" resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.10.6.tgz#2c6bb2a4b7034cd402a099bd0349f217584e7b25" @@ -2660,6 +3063,15 @@ "@mui/utils" "^5.10.6" prop-types "^15.8.1" +"@mui/private-theming@^5.16.14": + version "5.16.14" + resolved "https://registry.yarnpkg.com/@mui/private-theming/-/private-theming-5.16.14.tgz#7ad2b8a8fe0417f9fdfd05011806b9cb33c1a20a" + integrity sha512-12t7NKzvYi819IO5IapW2BcR33wP/KAVrU8d7gLhGHoAmhDxyXlRoKiRij3TOD8+uzk0B6R9wHUNKi4baJcRNg== + dependencies: + "@babel/runtime" "^7.23.9" + "@mui/utils" "^5.16.14" + prop-types "^15.8.1" + "@mui/styled-engine@^5.10.6": version "5.10.6" resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.10.6.tgz#9c6e79b29740e9f494c9fb26ebd4046aa88c1d21" @@ -2680,6 +3092,16 @@ csstype "^3.1.1" prop-types "^15.8.1" +"@mui/styled-engine@^5.16.14": + version "5.16.14" + resolved "https://registry.yarnpkg.com/@mui/styled-engine/-/styled-engine-5.16.14.tgz#f90fef5b4f8ebf11d48e1b1df8854a45bb31a9f5" + integrity sha512-UAiMPZABZ7p8mUW4akDV6O7N3+4DatStpXMZwPlt+H/dA0lt67qawN021MNND+4QTpjaiMYxbhKZeQcyWCbuKw== + dependencies: + "@babel/runtime" "^7.23.9" + "@emotion/cache" "^11.13.5" + csstype "^3.1.3" + prop-types "^15.8.1" + "@mui/styles@^5.10.6": version "5.10.6" resolved "https://registry.yarnpkg.com/@mui/styles/-/styles-5.10.6.tgz#cef0774c64429c868ba85ddd34fd49c0dc92a926" @@ -2731,11 +3153,30 @@ csstype "^3.1.1" prop-types "^15.8.1" +"@mui/system@^5.13.2", "@mui/system@^5.16.14": + version "5.16.14" + resolved "https://registry.yarnpkg.com/@mui/system/-/system-5.16.14.tgz#92765ba01a3d1f8ee4967248cb00077d7aed225b" + integrity sha512-KBxMwCb8mSIABnKvoGbvM33XHyT+sN0BzEBG+rsSc0lLQGzs7127KWkCA6/H8h6LZ00XpBEME5MAj8mZLiQ1tw== + dependencies: + "@babel/runtime" "^7.23.9" + "@mui/private-theming" "^5.16.14" + "@mui/styled-engine" "^5.16.14" + "@mui/types" "^7.2.15" + "@mui/utils" "^5.16.14" + clsx "^2.1.0" + csstype "^3.1.3" + prop-types "^15.8.1" + "@mui/types@^7.2.0": version "7.2.0" resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.0.tgz#91380c2d42420f51f404120f7a9270eadd6f5c23" integrity sha512-lGXtFKe5lp3UxTBGqKI1l7G8sE2xBik8qCfrLHD5olwP/YU0/ReWoWT7Lp1//ri32dK39oPMrJN8TgbkCSbsNA== +"@mui/types@^7.2.15": + version "7.2.21" + resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.21.tgz#63f50874eda8e4a021a69aaa8ba9597369befda2" + integrity sha512-6HstngiUxNqLU+/DPqlUJDIPbzUBxIVHb1MmXP0eTWDIROiCR2viugXpEif0PPe2mLqqakPzzRClWAnK+8UJww== + "@mui/types@^7.2.4": version "7.2.4" resolved "https://registry.yarnpkg.com/@mui/types/-/types-7.2.4.tgz#b6fade19323b754c5c6de679a38f068fd50b9328" @@ -2773,6 +3214,18 @@ prop-types "^15.8.1" react-is "^18.2.0" +"@mui/utils@^5.16.14": + version "5.16.14" + resolved "https://registry.yarnpkg.com/@mui/utils/-/utils-5.16.14.tgz#7217e876a5092cd04c184b34bca348e0befaef8c" + integrity sha512-wn1QZkRzSmeXD1IguBVvJJHV3s6rxJrfb6YuC9Kk6Noh9f8Fb54nUs5JRkKm+BOerRhj5fLg05Dhx/H3Ofb8Mg== + dependencies: + "@babel/runtime" "^7.23.9" + "@mui/types" "^7.2.15" + "@types/prop-types" "^15.7.12" + clsx "^2.1.1" + prop-types "^15.8.1" + react-is "^19.0.0" + "@mui/x-data-grid-pro@^6.14.0": version "6.14.0" resolved "https://registry.yarnpkg.com/@mui/x-data-grid-pro/-/x-data-grid-pro-6.14.0.tgz#4ad9bee295cdbc8da208220142a625983df7c300" @@ -3077,6 +3530,13 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@ocavue/svgmoji-cjs@^0.1.1": + version "0.1.1" + resolved "https://registry.yarnpkg.com/@ocavue/svgmoji-cjs/-/svgmoji-cjs-0.1.1.tgz#7240e6860c907187e4cd95b39858507384e4025f" + integrity sha512-tCP6ggbtgIL4hPM5goVFSjL51jH/BLl/yBLy98wAV9a2L/Sn9iS3abfprPeQw6/nan5lLaz4Vz8ZP37LKh+xfQ== + dependencies: + svgmoji "^3.2.0" + "@one-ini/wasm@0.1.1": version "0.1.1" resolved "https://registry.yarnpkg.com/@one-ini/wasm/-/wasm-0.1.1.tgz#6013659736c9dbfccc96e8a9c2b3de317df39323" @@ -3315,6 +3775,903 @@ redux-thunk "^2.4.1" reselect "^4.1.5" +"@remirror/core-constants@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@remirror/core-constants/-/core-constants-3.0.0.tgz#96fdb89d25c62e7b6a5d08caf0ce5114370e3b8f" + integrity sha512-42aWfPrimMfDKDi4YegyS7x+/0tlzaqwPQCULLanv3DMIlu96KTJR0fM5isWX2UViOqlGnX6YFgqWepcX+XMNg== + +"@remirror/core-helpers@4.0.0": + version "4.0.0" + resolved "https://registry.yarnpkg.com/@remirror/core-helpers/-/core-helpers-4.0.0.tgz#fd93d5431a209a562aa678e5bc73bf62c113e4d3" + integrity sha512-w90bJ+SLim25DWLN0Y6KjBwDhSgyzWwPxazwHQj7s3Px9dF69sG4cq3nA8RP2TCq1CV4bZmtW4+hCV26pHvgeA== + dependencies: + "@remirror/core-constants" "3.0.0" + "@remirror/types" "2.0.0" + "@types/object.omit" "^3.0.0" + "@types/object.pick" "^1.3.2" + "@types/throttle-debounce" "^2.1.0" + case-anything "^2.1.13" + clsx "^2.1.1" + dash-get "^1.0.2" + deepmerge "^4.3.1" + fast-deep-equal "^3.1.3" + make-error "^1.3.6" + object.omit "^3.0.0" + object.pick "^1.3.0" + throttle-debounce "^3.0.1" + +"@remirror/core-types@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@remirror/core-types/-/core-types-3.0.0.tgz#a750b4133ccb73e798e236d3d75f83df46ed36be" + integrity sha512-69Os/+iC5hqTEwix59ceX+FZ4T49f8Zqo477s0hdVCUcBmt5gxM/qxYwOv7PWUGt99TrkQ0gxWwvXT+ZMVOOtQ== + dependencies: + "@remirror/core-constants" "3.0.0" + "@remirror/types" "2.0.0" + +"@remirror/core-utils@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@remirror/core-utils/-/core-utils-3.0.0.tgz#54ead3e75eab7c32e958077ce54029057f7d725b" + integrity sha512-BCARvyyJmWj8eplrNFTDE+Y9/wDZ5bGtTHUrfYmzqqC6pNFvcnOPSugjKRUvBpHnUwElG9oJDpsQPsmbmKTYNw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core-constants" "3.0.0" + "@remirror/core-helpers" "4.0.0" + "@remirror/core-types" "3.0.0" + "@remirror/messages" "3.0.0" + "@types/min-document" "^2.19.0" + css-in-js-utils "^3.1.0" + get-dom-document "^0.1.3" + min-document "^2.19.0" + parenthesis "^3.1.8" + +"@remirror/core@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/core/-/core-3.0.1.tgz#8a7d1fceff09d652ad758cbe06bf3439e0f9d9ed" + integrity sha512-2q2ZPVNEV6qbU8KSJzpL/0vyRrz5wR4cpaGpHARz2RAj1Ye8GFxMXoINz/nnpPHi8KeodxAo8UmDu6vdbUOXdA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core-constants" "3.0.0" + "@remirror/core-helpers" "4.0.0" + "@remirror/core-types" "3.0.0" + "@remirror/core-utils" "3.0.0" + "@remirror/icons" "3.0.0" + "@remirror/messages" "3.0.0" + nanoevents "^5.1.13" + tiny-warning "^1.0.3" + +"@remirror/dom@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/dom/-/dom-3.0.1.tgz#0ec042ec096dd2291dc03a2294654602751d0a2c" + integrity sha512-WijRZ3oviQYLmxtp0b+mVD14i5LA3lJHzyx3GW+mf5e0/i3YC+I9fd7k8jXuMVMEM5jgGq8q7s4Gj6cvrQj6yw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/preset-core" "3.0.1" + +"@remirror/extension-annotation@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-annotation/-/extension-annotation-3.0.1.tgz#a53aed2f938688dba42d0473a6514df4ca575ac3" + integrity sha512-kE84fVVysdU7/Hvd9HlZk0i8+OxFXRjG3ormIKoiGNWVKmZ7D6PeBFDiC7DOUiMjyLYiJV24mqSGmXWvwoZ8sw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-positioner" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-bidi@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-bidi/-/extension-bidi-3.0.1.tgz#ab068d31ea9403b8f96ad41a0a21e866417a6399" + integrity sha512-fpNQ+EjXIz5fx9BMs8SN1rADMGZh6Sw/CwGL37OIIkHLbqh52LI0lpwmq6fTnQxIGH5DZbzFaR0owCw11/g/1g== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + "@types/direction" "^1.0.0" + direction "^1.0.4" + +"@remirror/extension-blockquote@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-blockquote/-/extension-blockquote-3.0.1.tgz#f0f27e8aaac4feebbfe953a94b38c9be68ec0724" + integrity sha512-EDFnmITv3rF+o97DreFeKL7AzRR8YbFho7xZwonWGDnhaioRg170BS7u8Cy3kh6jdK/Dk9Q8Q8iS3sp7QQ6ivg== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + "@remirror/theme" "3.0.0" + +"@remirror/extension-bold@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-bold/-/extension-bold-3.0.1.tgz#a8e630426508c8620060330319bbc439cadd530c" + integrity sha512-jvjbC8qBQPMu8X6WETvOa3GJbu9SasXGjWI6PQA6xL4iklmEgGTqL88f4Y7tK/0IsEFDT0WRqt7VeU6sYR9I5g== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-callout@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-callout/-/extension-callout-3.0.1.tgz#3b6523874e515a1913b24139d511efab3f736d4f" + integrity sha512-w03YtdTzrQ+EVabJPuixlPvzuRoW8swEt4uSAEFQwCM0pmWWbi5tobLI82WnlVo5Nz4tIPceFEYdjTELba8Ydw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + "@remirror/theme" "3.0.0" + +"@remirror/extension-code-block@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-code-block/-/extension-code-block-3.0.1.tgz#a70ff81239360bd645be10908aa7b22cfafa111b" + integrity sha512-Odpbxuu5tp9k1sS0SRRuWMQ6pV6Rm26CkD/rOtSRNiPNJfmjRA8xGkJVzgqbd40pH3UaOfxl9+bAwX9WL54lWQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-positioner" "3.0.1" + "@remirror/messages" "3.0.0" + "@remirror/theme" "3.0.0" + "@types/refractor" "^3.0.2" + refractor "^3.6.0" + +"@remirror/extension-code@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-code/-/extension-code-3.0.1.tgz#ae31575544f2101efc1c771ba9665821b25c7162" + integrity sha512-7WmPS9w1K7vxnq3DVJEBXLQLvI3VJvfodkF0Tbrc7zFjkHCT3KTXtCxwFv/gqn8YX7QoOZPASxoigVyRV+mT3w== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-collaboration@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-collaboration/-/extension-collaboration-3.0.1.tgz#4a56404e07cb7aac0df55add8a819e6d7b5a453a" + integrity sha512-0D6ww5YTvhXZzzyM4SOkb4E+IYGxaUHqV1E5LXOu9s3E10VLFIFiA11/vqgOSlvh3d08f5gniqI7D25AzKa5xQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-columns@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-columns/-/extension-columns-3.0.1.tgz#13f244afea7647b5d8ad1736ceda8c0d70016a38" + integrity sha512-tfpGhm72Iz7I4k2R/ZL6rIhRd3VuBURXPKWoy6mPHfBJRYR4knsl2JFT4r26kBXtZvDtJrPUHcZ08bwDgmx7HA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-diff@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-diff/-/extension-diff-3.0.1.tgz#c236c38bd1e246056bed8a11b14243127c60205f" + integrity sha512-oG6n5mzoh9SBPV2ZonuwMSQFERbcqfilMrr5Ffn9J1pMsx+adaZE/oy16+4Y7YAi1U0+dkKGe5Bi4cIR515hhw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-doc@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-doc/-/extension-doc-3.0.1.tgz#407c4c3b9a614b64c69050c8fe7a983b125f8321" + integrity sha512-fN1lnxbltVZlR27aLRsQsg2YZHtMukz8hZP6ks2/+8zPTMYxWcVc1SCEhdcWpAc836h5Vsf8YlHUEawlUuhooQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-drop-cursor@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-drop-cursor/-/extension-drop-cursor-3.0.1.tgz#d19d169d38176ad995fc30d9f6846f99fb621a1a" + integrity sha512-E+C7Il2XT2g+apbJQ9Z9r0V2ahLqG5sqnHwF3o3OFt0Ll8WUuKig9g33eysynj0rHvCO8VlXmQUozsBc3NA93w== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-embed@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-embed/-/extension-embed-3.0.1.tgz#c7aa6d1b64480ca0165e2b495b3b807bb9c1a818" + integrity sha512-r2TXB9Biw4xjOjGZot6daVybTmQXdRrwxQ7mRE7AOEdPHAX9SdHML2dZcCRElkdK1qp0fpOG7YNSEfcacnW5KQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + "@types/querystringify" "^2.0.0" + prosemirror-resizable-view "^3.0.0" + querystringify "^2.2.0" + +"@remirror/extension-emoji@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-emoji/-/extension-emoji-3.0.1.tgz#34cb29d106a2745303064eb2ae04d80556ffceaf" + integrity sha512-UjTFr//lticMM3+jced9TS1L6VezJDG5U+estku30kDXvRDLnn1u3WqUaqYCYoisBKnJg/jA213O6tEViYyeaw== + dependencies: + "@babel/runtime" "^7.22.3" + "@ocavue/svgmoji-cjs" "^0.1.1" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + "@remirror/theme" "3.0.0" + emojibase "^6.1.0" + emojibase-data "^6.2.0" + emojibase-regex "^6.0.1" + escape-string-regexp "^4.0.0" + svgmoji "^3.2.0" + +"@remirror/extension-entity-reference@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-entity-reference/-/extension-entity-reference-3.0.1.tgz#5f2bee55e002a1f22e34e3c187a5ce5329d45ba2" + integrity sha512-xE8ndLJrwmRvdqLXvq9LVkTbx6tkqitUT/VytFLpH+mDm7Uko5faVN0D/LWR39KKaoEGQB8CpBuFZGF8BjNsSw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-events" "3.0.1" + "@remirror/extension-positioner" "3.0.1" + +"@remirror/extension-epic-mode@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-epic-mode/-/extension-epic-mode-3.0.1.tgz#8cee445ab39020c80e56ac373f3953f1af69b399" + integrity sha512-jGy6UqvstpPHGJGysXtd1NLQvSvGbPd8EBI+a2AAjqpCMnQ+KM2AjcMGZFlhy6EynQoDUOPukBdThU2GYsRjGw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-events@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-events/-/extension-events-3.0.1.tgz#fa63bca366678c71f3916cbdbe255fba7543a10b" + integrity sha512-5d6ja2PftnrYwFLmwT9Toa8i1OpY0fh2iMYNc616X5FW4Ss+RCsK8Yg+heig4KXnDrz+EPFr6Xfz2dQbIVdVdQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-find@1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-find/-/extension-find-1.0.1.tgz#65fb980c5bbe495c44ba259a1d5cabf0bb5279ff" + integrity sha512-q5ftpVf7zRezEadLNumSQ8c6fs7mbLTMX845qyPeBKO4cHoAEDcEnEHIpPGdUH16MmwcXKsannHFgwzO3nU0PA== + dependencies: + "@remirror/core" "3.0.1" + "@types/string.prototype.matchall" "^4.0.1" + escape-string-regexp "^4.0.0" + string.prototype.matchall "^4.0.8" + +"@remirror/extension-font-family@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-font-family/-/extension-font-family-3.0.1.tgz#3af05a2415de7b8afb2849fba8deb465a356f1d3" + integrity sha512-f5cwcB6yAsxkBApgFKPQ+qRnBN9T+8aNh5Loz+Ffzs3kKEGa/+7SD4U3GEZb83mTvLUHUHOutmz3M4QYnIDfUQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-font-size@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-font-size/-/extension-font-size-3.0.1.tgz#72282819f656e53eafd8b53bbbebd35d697b2e57" + integrity sha512-QqfGHYsCgRGktcaSzCwjqc9B4fZVVgjox4LlOZnhvmSVkdJhDQo3kmb/DUJONA+PmbDbA5GzmRTIPYFmDoo1DA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + round "^2.0.1" + +"@remirror/extension-gap-cursor@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-gap-cursor/-/extension-gap-cursor-3.0.1.tgz#ff38f9c652acddc340897891f3395f8326b15cdf" + integrity sha512-yyWPy5oSw88b0jezDxf30oivccjV1aaGZ70EqEFW7+7MCe9t2k9lZZmbRbkZYwPjT7WrnHgMcN3XtxsNemI2rA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-hard-break@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-hard-break/-/extension-hard-break-3.0.1.tgz#84d67f8421a58970df1e97d1d62548bd465b66c3" + integrity sha512-KDc4CXiNYhHu+aaAbImkZrzPzn2wo1ZSU4rgwUHL0HFdILwLs0TxTXmpAWX+jF4jkK1PKXrnuyMDMunVdJEajA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-heading@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-heading/-/extension-heading-3.0.1.tgz#4df8f44295029434f7075b93a8f2ba02d2ffa295" + integrity sha512-1yyAgEdN1PBXpJIqAlP2ElwLr/8as5b9kuH6OwIf4AbKYafT6a/RQ3bHVOaqdWckT+pb9LFWyW0GkqQyAxngnQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-history@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-history/-/extension-history-3.0.1.tgz#37dc8f620253b0d94bac2b27b1ada7d9b6bcfbef" + integrity sha512-WZX8nEsPabCjA0cVR+V01OBOJpeJL7BFHXnVZ84e/a95ByWSYVWg8hFHPF5nOdQV0BUIwH/jp19X2uMikt6UXg== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-horizontal-rule@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-horizontal-rule/-/extension-horizontal-rule-3.0.1.tgz#7d0a0afad37c5355b96c3ed5d674fd9d524ef541" + integrity sha512-ebNWzGWTZkx3NGjs4zVRMzP1ISOGF4RP0BkcV169IRIfpB+MqDdvc8P8pf8wvjABiJ5oGMEGCEZMFQWfckbIFA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-image@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-image/-/extension-image-3.0.1.tgz#50c5b0d2d62b2faf8d0aaae64ecfd33fa9eaae3d" + integrity sha512-KuFoaSYwVRb4VdDxiVDKfRFDPakdiS5VPguF7wfcvXF7Y/lsv8qzy5Cnz/lrzwY1VycKEt3ZecKY1bnEt0Mt7A== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + "@remirror/theme" "3.0.0" + prosemirror-resizable-view "^3.0.0" + +"@remirror/extension-italic@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-italic/-/extension-italic-3.0.1.tgz#d783e30cc0afc2476b4ac90d3a509599d9cd0ded" + integrity sha512-nZMnovPHBCn+mlPWqQFVTYnAq7hA89S+aU25ku0TnFkFSN4OD8dTEaYDH5VhMDexjquQeDckRUTaOIdKkCFadA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-link@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-link/-/extension-link-3.0.1.tgz#5bcf9550e0e954a42e1e66f8d971d00eef4bad30" + integrity sha512-uTbLN+FWaCAioaVSg3ppsFPUnmIh4/maNBhnLcMasliNItdQdDy1nC5WeSk2lRD2I0HWCphQ9DFFqiG5ZLNuiQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-events" "3.0.1" + "@remirror/messages" "3.0.0" + extract-domain "2.2.1" + +"@remirror/extension-list@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-list/-/extension-list-3.0.1.tgz#942cb9b321218a2ab2af727f619887df1d584353" + integrity sha512-x3lIanZgk0wLTNJ+vEIgvYCho35imgXzVxILMLhOK3HNKPS+JLSRdF0aZg35F7P3vrJJ9M0gaueVWT2NMt1nvQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-events" "3.0.1" + "@remirror/messages" "3.0.0" + "@remirror/theme" "3.0.0" + +"@remirror/extension-markdown@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-markdown/-/extension-markdown-3.0.1.tgz#69c508d2922e9a4c5ab0767fbc97ead30ea70273" + integrity sha512-vOGh6+mwn5yIQdGNGulXPk4i/ynyfi4XDfWDxN+rpFQ95oHoxk6XD6DEqxH2X7Z4/3osbf7ooZ2ZEgNDv9qVrw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + "@types/marked" "^4.3.1" + "@types/turndown" "^5.0.1" + marked "^4.3.0" + turndown "^7.1.2" + turndown-plugin-gfm "^1.0.2" + +"@remirror/extension-mention-atom@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-mention-atom/-/extension-mention-atom-3.0.1.tgz#d71c66b5d2e1bbd15bf7d8b3fdff0eca2fa6fad1" + integrity sha512-/AxvnpcZv0tdEz/invW5Inpnr3+JFqdQ5nbhxeLG8koHICJ/TBLbaXbpB3DBsceNNE0xHpg54OUTUW41pXkITA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-events" "3.0.1" + "@remirror/messages" "3.0.0" + "@remirror/theme" "3.0.0" + +"@remirror/extension-mention@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-mention/-/extension-mention-3.0.1.tgz#c34b74d10e56f640d15c975cef99cf139bd641b7" + integrity sha512-ZYq5qmbZl6mBhz2tvo/Yxq1+SoVQdmW/RhPociVoQrcS2GnlP6j10O3+39r2chHlBLwTFSLMFLP7X1dsTnhRJQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-events" "3.0.1" + "@remirror/messages" "3.0.0" + escape-string-regexp "^4.0.0" + +"@remirror/extension-node-formatting@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-node-formatting/-/extension-node-formatting-3.0.1.tgz#973fc650cf18b732d52c2d6afec7182d4802b02c" + integrity sha512-UY7hyau+BAgJjhBnEojiY1rW4t3q+sPB2lmfpBpoT2b8kXInDpT2ECm3kVZ7T0Luuuh5cJVjjzP2qd8flPm+SQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-paragraph@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-paragraph/-/extension-paragraph-3.0.1.tgz#98eca513b688de6f142811c738718be474c8e9b5" + integrity sha512-NIF1o/fHOML0JUNeuqwtk5pcqMCLKqpqra4EnnGUdD2IpKrYuh5UFJu4o7jCBUSdl2Nj99yEgSWSOVgzN4afHQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-placeholder@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-placeholder/-/extension-placeholder-3.0.1.tgz#77148c300cf920e8e23148e19a79b445c9f136de" + integrity sha512-rwfGRV2ikhqfLHUMscPHISGzmbRSL2sqngtZYENBhKaHW4fg399k6Mx/W/VdTBRsGAjDlbsrF4Qs4ofj5h6Dpw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + "@remirror/theme" "3.0.0" + +"@remirror/extension-positioner@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-positioner/-/extension-positioner-3.0.1.tgz#6995eca52c230f19ffe25c452665d7c96eb38246" + integrity sha512-sCUY2YGqHJOnx9Pwx61tOunAgc9FkYV6O/aKM0ccjJNfCTykgAhZX9yWcOkSPsL5KRmaMeMXOXSFB7VdwFY6rQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-events" "3.0.1" + "@remirror/messages" "3.0.0" + "@remirror/theme" "3.0.0" + nanoevents "^5.1.13" + +"@remirror/extension-react-component@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-react-component/-/extension-react-component-3.0.1.tgz#9787df03adb3a29f1a24f8f85b6a64b800b2b5c3" + integrity sha512-gSingq8+DRrr5h6pMowlRv1duN2kRGQ7RqZ3EgI3oYWKaCrc2fX3sha33yMk5+lUPRRrbfCRmHY1UwXDlcCkKg== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/core-constants" "3.0.0" + "@remirror/core-helpers" "4.0.0" + "@remirror/core-types" "3.0.0" + "@remirror/core-utils" "3.0.0" + "@remirror/messages" "3.0.0" + nanoevents "^5.1.13" + +"@remirror/extension-react-tables@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-react-tables/-/extension-react-tables-3.0.1.tgz#840a2caa097cc467d49aa4b90d691fa86644dc43" + integrity sha512-SZ3uvpDF1QWeXpFaH/hiqZ04PtrC3seKF2AF7hsqp7Qgyj2Jcdq2vvvDQyovYd3sPaLOLZYo+ThyFb+ccC+XvA== + dependencies: + "@babel/runtime" "^7.22.3" + "@emotion/css" "^11.11.0" + "@linaria/core" "4.2.10" + "@remirror/core" "3.0.1" + "@remirror/core-utils" "3.0.0" + "@remirror/extension-positioner" "3.0.1" + "@remirror/extension-tables" "3.0.1" + "@remirror/icons" "3.0.0" + "@remirror/messages" "3.0.0" + "@remirror/react-components" "3.0.1" + "@remirror/react-core" "3.0.1" + "@remirror/react-hooks" "3.0.1" + "@remirror/theme" "3.0.0" + +"@remirror/extension-shortcuts@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-shortcuts/-/extension-shortcuts-3.0.1.tgz#05a46f5c5a873e35fd2c8d441ece2f0366a6bc2c" + integrity sha512-Ab8pUgWNsDSAEpTWBXzqm07nI/oBgfL7j9//dOUgNA5Pi29EJVPSHtKWHNp1SfALVvqn8kA7T1CWfzKyh37i/A== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + +"@remirror/extension-strike@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-strike/-/extension-strike-3.0.1.tgz#39340824511d76900e4fcb0f5eefd47d7f314688" + integrity sha512-Dt7stf55z33wfIxbX8GChZUV+pvXUDq458NIDuM+6J4IMkrET3fWAt4PvwD5Kbitl6qAIc0rvaehjk1d5rhJZA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-sub@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-sub/-/extension-sub-3.0.1.tgz#fa03517e20f2aa6884703d81b67a02e02b20cdf5" + integrity sha512-QSnOeG6vsdAHQ3XyGTtnXr1dISLcawmClnn2BA2wqaY+og9XsfuqKTcCCPlNW8ZKHnQa6noY7GPF8L3Kns5rQQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-sup@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-sup/-/extension-sup-3.0.1.tgz#63e6c38c0c774691dc45558e2b6ac5a90fa82d0d" + integrity sha512-PC2k9T1GVqsN4IaHulBNpvksIZ3nLXmOHIgZPn+AhhC1QkSNVz7Uvf4fKVxADNCyQqjEg6gS+OVJHJdLcDed7g== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-tables@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-tables/-/extension-tables-3.0.1.tgz#e5e6694893670bae56b56c82867796ac883599a7" + integrity sha512-1CfwUp1Z986CPPSsxBBW/PXdH3uqnOGhZ+UaczBG5tBPOdXtplMc7zcCdGjBVZTRWu19zkBoJa0Dl4IB+jQ8qg== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-events" "3.0.1" + "@remirror/extension-positioner" "3.0.1" + "@remirror/messages" "3.0.0" + "@remirror/theme" "3.0.0" + +"@remirror/extension-text-case@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-text-case/-/extension-text-case-3.0.1.tgz#5470428705f36ae3543e45653f0ab7d315ada66a" + integrity sha512-yRyGvCxdrUh6cVVBDxyaYRoy+pJ7aiftPRFmtfWhRc43+33srNjm9+koIxmSwhh2teEF3ctpiMqoCBedIhyBRw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-text-color@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-text-color/-/extension-text-color-3.0.1.tgz#46aa53010c3aa419c2f83fa4010b6948f8723bb6" + integrity sha512-kxUPEBQJfA9erK7R0My+nVn+K6XJmbezd8fmwLLcWtj7f7q5RoX9Dcc1b6qk5Sza0fR4AjSa5zgEBw3qE6EhZw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + "@remirror/theme" "3.0.0" + color2k "^2.0.2" + +"@remirror/extension-text-highlight@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-text-highlight/-/extension-text-highlight-3.0.1.tgz#93e1900df275764f5193f8c231c044619eeec462" + integrity sha512-GqLPIoNQUSbZ0Fkf3gVmCfncWLH2mQLhq2fEORa7L1bBEYas8yLukeeILVSu5+6QRxc+bYcufXn81O1RaywO9g== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-text-color" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-text@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-text/-/extension-text-3.0.1.tgz#deb5ac1dcb87c0911526e265eea4d077ac7c0515" + integrity sha512-r6qJ2ttv5HH46MbMJeCQ/M3ON5z3/Y11zKtlpsdZaJUCNTr2eynPui0QYB6o0nspF5tpy8fFc83AgbuSwKnCcQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-trailing-node@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-trailing-node/-/extension-trailing-node-3.0.1.tgz#6f1f5749e7a0977d1eed9a9892232e5e9cd53a3c" + integrity sha512-/6XwCGECyKIsmsS0IalBMrrXBsviUU6ZK0r1QqH3gqksJyo+dTrF9xW1KXobwDoANQcPm/wtJGj52TCYqZ2fNA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-underline@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-underline/-/extension-underline-3.0.1.tgz#db8942557c8b44df4a33133dbff24a5df857ef71" + integrity sha512-jefqKR5EgvdRMwQc0em32wc1aC4wOHBf9YlahY8zos5Knc/gs87+3/gG2i/s89OJVpdmEsR7X6orjAtCjVVdSw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/extension-whitespace@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/extension-whitespace/-/extension-whitespace-3.0.1.tgz#00aff1031885e7799ea67b8f53345d83ed383f9a" + integrity sha512-rljEa4/kFrHXdS4J5GlzZgtAPZQTUoUBqAxySBuoTcFCmh+V86UYxHK7Ki7CsFqiSHeBq3212FtVQLPupTOgvg== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/messages" "3.0.0" + +"@remirror/i18n@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@remirror/i18n/-/i18n-3.0.0.tgz#96c5e50c1b6a73fd55bda11b16d4039203fe521f" + integrity sha512-MFyHyjDl7N7vyLWfW4GEd5uEJCmtTytB0mznULrOe/83mEY+Zl/X4Tbt3IlKQas/v2R9Gi63wNrRBuMvkPylMg== + dependencies: + "@babel/runtime" "^7.22.3" + "@lingui/core" "^4.2.0" + "@lingui/detect-locale" "^4.2.0" + "@remirror/core-helpers" "4.0.0" + "@remirror/core-types" "3.0.0" + make-plural "^6.2.2" + +"@remirror/icons@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@remirror/icons/-/icons-3.0.0.tgz#8fb4573847d94dc6d8929ce5c8a18403728fe2fe" + integrity sha512-NOgd0ENWWlUOb8xH7xz3qpcW+OCVt0oxF2Lde1hOg/x67LyUbybofe6SwXpdx3TN8bdgSU5CzlNPeugGsGMdwg== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core-helpers" "4.0.0" + +"@remirror/messages@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@remirror/messages/-/messages-3.0.0.tgz#2118a242145fb64b3779f8c1b392182046828a9b" + integrity sha512-HK0AkfghoJOTLqYlkKozX7uI96KvtstDOpirYNfMXgfpL0ubWN5m6B22W0GQmet27G6s8I9vRbyCjH8oXKdNFA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core-helpers" "4.0.0" + "@remirror/core-types" "3.0.0" + +"@remirror/pm@3.0.0", "@remirror/pm@^3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@remirror/pm/-/pm-3.0.0.tgz#39fbbbfe1aed3cb760957c5a34587d94ef0e1029" + integrity sha512-cVZK42NmmcdkrwM3fGXywOL67NTO9lXD3Hii/+8fldX88BRECuiBm/siUM9tHwnq4Y3hmIxxFrQ6DtS23c3FKA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core-constants" "3.0.0" + "@remirror/core-helpers" "4.0.0" + prosemirror-collab "^1.3.1" + prosemirror-commands "^1.5.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-model "^1.22.1" + prosemirror-paste-rules "3.0.0" + prosemirror-schema-list "^1.4.1" + prosemirror-state "^1.4.3" + prosemirror-suggest "3.0.0" + prosemirror-tables "^1.3.7" + prosemirror-trailing-node "3.0.0" + prosemirror-transform "^1.9.0" + prosemirror-view "^1.33.8" + +"@remirror/preset-core@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/preset-core/-/preset-core-3.0.1.tgz#c898ca70cf42fbbf287d14c54515ff599bfe2a3b" + integrity sha512-2lNfHu927dArba2XMBux3KzlpedX7nM5vqLsLT8OaliFXeJXOPlWDpMfvdW3UKfTjjAAlBmBoOINCmHkKmzMKA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-doc" "3.0.1" + "@remirror/extension-events" "3.0.1" + "@remirror/extension-gap-cursor" "3.0.1" + "@remirror/extension-history" "3.0.1" + "@remirror/extension-paragraph" "3.0.1" + "@remirror/extension-positioner" "3.0.1" + "@remirror/extension-text" "3.0.1" + +"@remirror/preset-formatting@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/preset-formatting/-/preset-formatting-3.0.1.tgz#9aa4de0350010f9bbf580180aede039a84107028" + integrity sha512-tJPVI4eS6SSUJCDIO2rSUEN71gK+0JwdfJaImdAlY4lcm8h2foPZ1sFn9naqkfNUQFn5BinnE5j+zM95AG2sKQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-bold" "3.0.1" + "@remirror/extension-columns" "3.0.1" + "@remirror/extension-font-size" "3.0.1" + "@remirror/extension-heading" "3.0.1" + "@remirror/extension-italic" "3.0.1" + "@remirror/extension-node-formatting" "3.0.1" + "@remirror/extension-strike" "3.0.1" + "@remirror/extension-sub" "3.0.1" + "@remirror/extension-sup" "3.0.1" + "@remirror/extension-text-case" "3.0.1" + "@remirror/extension-text-color" "3.0.1" + "@remirror/extension-text-highlight" "3.0.1" + "@remirror/extension-underline" "3.0.1" + "@remirror/extension-whitespace" "3.0.1" + +"@remirror/preset-react@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/preset-react/-/preset-react-3.0.1.tgz#1b5a9c7b212191f91d57c399ac0bb8ff6bbc9bdd" + integrity sha512-6uFjOa1nPIQEFHrcwh43aVtLYyP85jIQNUvcfM/KRqqZ4CuEp+jy9T5hCbl6Lz+DKoJexOaik6l5u7u0ADgdwQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-placeholder" "3.0.1" + "@remirror/extension-react-component" "3.0.1" + "@remirror/react-utils" "3.0.0" + +"@remirror/preset-wysiwyg@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/preset-wysiwyg/-/preset-wysiwyg-3.0.1.tgz#1e40a471cbabcf3c5b0ce233d1a9da15d4d448ce" + integrity sha512-ni6/io/6zIv4zPSO0DNO1AXWyfQOn9jkueTtezq8BuSA13B+f2+tYzhc29g3mwzJmq4SVb6Y3hF6SrwjfcK39A== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-bidi" "3.0.1" + "@remirror/extension-blockquote" "3.0.1" + "@remirror/extension-bold" "3.0.1" + "@remirror/extension-code" "3.0.1" + "@remirror/extension-code-block" "3.0.1" + "@remirror/extension-drop-cursor" "3.0.1" + "@remirror/extension-embed" "3.0.1" + "@remirror/extension-find" "1.0.1" + "@remirror/extension-gap-cursor" "3.0.1" + "@remirror/extension-hard-break" "3.0.1" + "@remirror/extension-heading" "3.0.1" + "@remirror/extension-horizontal-rule" "3.0.1" + "@remirror/extension-image" "3.0.1" + "@remirror/extension-italic" "3.0.1" + "@remirror/extension-link" "3.0.1" + "@remirror/extension-list" "3.0.1" + "@remirror/extension-shortcuts" "3.0.1" + "@remirror/extension-strike" "3.0.1" + "@remirror/extension-trailing-node" "3.0.1" + "@remirror/extension-underline" "3.0.1" + "@remirror/preset-core" "3.0.1" + +"@remirror/react-components@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/react-components/-/react-components-3.0.1.tgz#c506a711520cc809a871478c99ee499b9ef4bd2b" + integrity sha512-2RHnT29dSd4nMZOfX0LIo31iFCS0E5tNL0REJ1HnhjdEiKQu9TROQvBHl7Wg1xFWRDjNgWShF3awvn/+bELMlQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@floating-ui/react" "^0.24.3" + "@remirror/core" "3.0.1" + "@remirror/extension-positioner" "3.0.1" + "@remirror/icons" "3.0.0" + "@remirror/messages" "3.0.0" + "@remirror/react-core" "3.0.1" + "@remirror/react-hooks" "3.0.1" + "@remirror/react-utils" "3.0.0" + "@remirror/theme" "3.0.0" + "@seznam/compose-react-refs" "^1.0.6" + "@types/react-color" "^3.0.6" + create-context-state "^2.0.3" + match-sorter "^6.3.1" + multishift "2.0.10" + react-color "^2.19.3" + +"@remirror/react-core@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/react-core/-/react-core-3.0.1.tgz#7be406393424c0110a87c921d7ae79747b2e919b" + integrity sha512-x5g6EMl1+lfYBUWaiYD50FYjMskKU3AeS/UHbp41t6rFv1jUVpJlV4gTSN9OB/OfBsgp4cCmSgqzDxX9s2e3Aw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/extension-positioner" "3.0.1" + "@remirror/extension-react-component" "3.0.1" + "@remirror/preset-core" "3.0.1" + "@remirror/preset-react" "3.0.1" + "@remirror/react-renderer" "3.0.1" + "@remirror/react-utils" "3.0.0" + "@remirror/theme" "3.0.0" + "@seznam/compose-react-refs" "^1.0.6" + fast-deep-equal "^3.1.3" + resize-observer-polyfill "^1.5.1" + tiny-warning "^1.0.3" + +"@remirror/react-editors@^2.0.1": + version "2.0.1" + resolved "https://registry.yarnpkg.com/@remirror/react-editors/-/react-editors-2.0.1.tgz#382f9b702252c962789eb0b468ebeda05919d1f0" + integrity sha512-zzTdI2lwaH/mnVAEp/9txfiCeK8d0XQDja9NLq8CYouJYMHJ9ibeOhjC0GK+C3EQ3mk4RUizRvCvktGePqtaig== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core-helpers" "4.0.0" + "@remirror/extension-react-tables" "3.0.1" + "@remirror/i18n" "3.0.0" + "@remirror/pm" "3.0.0" + "@remirror/react" "3.0.1" + "@remirror/react-ui" "1.0.1" + "@remirror/styles" "3.0.0" + "@svgmoji/noto" "^3.2.0" + "@types/refractor" "^3.0.2" + create-context-state "^2.0.3" + refractor "^3.6.0" + remirror "3.0.1" + svgmoji "^3.2.0" + +"@remirror/react-hooks@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/react-hooks/-/react-hooks-3.0.1.tgz#2e3d10cce713aac2886083183055ba346d0daba2" + integrity sha512-0SAeRzb2licRjtjM8YrZvAncLaesyvo71NKgyhNDewYTfcssxL3UjFYjN9GqeH2ShigsE5MemRUcL5Yj9AJDMw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/core-constants" "3.0.0" + "@remirror/core-helpers" "4.0.0" + "@remirror/extension-emoji" "3.0.1" + "@remirror/extension-events" "3.0.1" + "@remirror/extension-history" "3.0.1" + "@remirror/extension-mention" "3.0.1" + "@remirror/extension-mention-atom" "3.0.1" + "@remirror/extension-positioner" "3.0.1" + "@remirror/react-core" "3.0.1" + "@remirror/react-utils" "3.0.0" + multishift "2.0.10" + use-isomorphic-layout-effect "^1.1.2" + use-previous "^1.2.0" + +"@remirror/react-renderer@3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/react-renderer/-/react-renderer-3.0.1.tgz#3d66b41ea3ceb504303668b5b5bb88da4e37fc27" + integrity sha512-OtAuuo5frLPYC51Q3i25p07Okze2fR+5ceVotfkJoj30fndjQjesGeox2z3EVGPVb8EGzEaBi+GYxltVgOCEKw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + +"@remirror/react-ui@1.0.1", "@remirror/react-ui@^1.0.1": + version "1.0.1" + resolved "https://registry.yarnpkg.com/@remirror/react-ui/-/react-ui-1.0.1.tgz#629be8427ca97442c559eda79c4424aa137191a2" + integrity sha512-T+Q6TZbDNR6lyUTIXVCU3L6l6EgdNzSH+QLaZ/Mr5a2C3IK1J5kCXddvpucdE+XGLYarzHpinrnRmFXsjbn1Ww== + dependencies: + "@babel/runtime" "^7.22.3" + "@emotion/react" "^11.11.0" + "@emotion/styled" "^11.11.0" + "@mui/material" "^5.13.2" + "@mui/system" "^5.13.2" + "@remirror/core" "3.0.1" + "@remirror/extension-blockquote" "3.0.1" + "@remirror/extension-bold" "3.0.1" + "@remirror/extension-callout" "3.0.1" + "@remirror/extension-code" "3.0.1" + "@remirror/extension-code-block" "3.0.1" + "@remirror/extension-columns" "3.0.1" + "@remirror/extension-find" "1.0.1" + "@remirror/extension-font-size" "3.0.1" + "@remirror/extension-heading" "3.0.1" + "@remirror/extension-history" "3.0.1" + "@remirror/extension-horizontal-rule" "3.0.1" + "@remirror/extension-italic" "3.0.1" + "@remirror/extension-list" "3.0.1" + "@remirror/extension-node-formatting" "3.0.1" + "@remirror/extension-positioner" "3.0.1" + "@remirror/extension-strike" "3.0.1" + "@remirror/extension-sub" "3.0.1" + "@remirror/extension-sup" "3.0.1" + "@remirror/extension-tables" "3.0.1" + "@remirror/extension-text-color" "3.0.1" + "@remirror/extension-underline" "3.0.1" + "@remirror/extension-whitespace" "3.0.1" + "@remirror/icons" "3.0.0" + "@remirror/messages" "3.0.0" + "@remirror/react-components" "3.0.1" + "@remirror/react-core" "3.0.1" + "@remirror/react-hooks" "3.0.1" + "@remirror/theme" "3.0.0" + +"@remirror/react-utils@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@remirror/react-utils/-/react-utils-3.0.0.tgz#f16214c4b5f457bd4724fcc3d2c54b3f4f95b9ee" + integrity sha512-9v+Mhup4n4tajJEnqsTBJKvyC7kHwsuTRe5Z7NXKN1O5WOMJyT+sOfAis8cOn4oPco3adVBEvbm54JSIwZXQEA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core-constants" "3.0.0" + "@remirror/core-helpers" "4.0.0" + "@remirror/core-types" "3.0.0" + +"@remirror/react@3.0.1", "@remirror/react@^3.0.1": + version "3.0.1" + resolved "https://registry.yarnpkg.com/@remirror/react/-/react-3.0.1.tgz#1d497dafb74749b4116e2892c30a979269bd2c33" + integrity sha512-Z9qGEDYbS1rwvwxGybA5DUWvmZGyrQx1fBZjWev47RlSCirMp5BJpvxQXL0KvTtbav52P1Ko0B+qt+M9u1pemQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/extension-placeholder" "3.0.1" + "@remirror/extension-positioner" "3.0.1" + "@remirror/extension-react-component" "3.0.1" + "@remirror/preset-react" "3.0.1" + "@remirror/react-components" "3.0.1" + "@remirror/react-core" "3.0.1" + "@remirror/react-hooks" "3.0.1" + "@remirror/react-renderer" "3.0.1" + "@remirror/react-utils" "3.0.0" + +"@remirror/styles@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@remirror/styles/-/styles-3.0.0.tgz#8e5633faaffe2c728967bd969999cdbc69d9e9b2" + integrity sha512-Q4B5mwwHZBpxH3Yn95MSxBlCuQgEn09OGwGFfBdeOaSFQGiqiWPQ/jFFGvJkSks3vn/jdn3o9ol4PhiNWxluoA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core-helpers" "4.0.0" + +"@remirror/theme@3.0.0": + version "3.0.0" + resolved "https://registry.yarnpkg.com/@remirror/theme/-/theme-3.0.0.tgz#f02297f1ecbbf5f1ce772db18c9410069d3b0ecb" + integrity sha512-TJkcpOV3iR8A80NjYczzsGcDfkBXR24cElH9vnuF57LUqZwsgX9QHfZG1QaBJIVy9Zl/hFWMBcSzQqj0+P4NnA== + dependencies: + "@babel/runtime" "^7.22.3" + "@linaria/core" "4.2.10" + "@remirror/core-types" "3.0.0" + color2k "^2.0.2" + csstype "^3.1.2" + +"@remirror/types@2.0.0": + version "2.0.0" + resolved "https://registry.yarnpkg.com/@remirror/types/-/types-2.0.0.tgz#438bb635f25f1f6fb212369da3dae4b47204422a" + integrity sha512-j7G+hpyJ3SsZts0RpANYrTkQSWyP1+uy3txZPWgDwXGv3R45wtqRfoDzGO45vFcE9aNno/ThGPvClORZjjbrpw== + dependencies: + type-fest "^3.10.0" + "@rushstack/eslint-patch@^1.3.3": version "1.7.2" resolved "https://registry.yarnpkg.com/@rushstack/eslint-patch/-/eslint-patch-1.7.2.tgz#2d4260033e199b3032a08b41348ac10de21c47e9" @@ -3325,6 +4682,11 @@ resolved "https://registry.yarnpkg.com/@servie/events/-/events-1.0.0.tgz#8258684b52d418ab7b86533e861186638ecc5dc1" integrity sha512-sBSO19KzdrJCM3gdx6eIxV8M9Gxfgg6iDQmH5TIAGaUu+X9VDdsINXJOnoiZ1Kx3TrHdH4bt5UVglkjsEGBcvw== +"@seznam/compose-react-refs@^1.0.6": + version "1.0.6" + resolved "https://registry.yarnpkg.com/@seznam/compose-react-refs/-/compose-react-refs-1.0.6.tgz#6ec4e70bdd6e32f8e70b4100f27267cf306bd8df" + integrity sha512-izzOXQfeQLonzrIQb8u6LQ8dk+ymz3WXTIXjvOlTXHq6sbzROg3NWU+9TTAOpEoK9Bth24/6F/XrfHJ5yR5n6Q== + "@shikijs/core@1.11.0": version "1.11.0" resolved "https://registry.yarnpkg.com/@shikijs/core/-/core-1.11.0.tgz#a07a55037ba74f13b860698149bda03382b74cc1" @@ -4085,6 +5447,50 @@ "@types/express" "^4.7.0" file-system-cache "2.3.0" +"@svgmoji/blob@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@svgmoji/blob/-/blob-3.2.0.tgz#62a0ab1ba22a0d27f23cb38aacf6d4fb13123dfb" + integrity sha512-N96WOrH9GxPSPZ/FuvZl6T9Rh54stAEuUcBppIRFh9/WwkU7Hczrjabw4uunwxFLX5TgR+rHlKJl3/jaTnXJrQ== + dependencies: + "@babel/runtime" "^7.12.5" + "@svgmoji/core" "^3.2.0" + +"@svgmoji/core@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@svgmoji/core/-/core-3.2.0.tgz#792326078ded3446747691d633278010f322f460" + integrity sha512-QsD78Op3S/5kUVsa5ierr4Wu/xwAdYuMI3Zmc/Y2ekYBEMGEUY8QxilXQRSAQ4ku4PnNV4xlB9e7xhD5hy113A== + dependencies: + "@babel/runtime" "^7.12.5" + emojibase "^5.1.0" + emojibase-regex "^5.1.1" + idb-keyval "^5.0.2" + match-sorter "^6.2.0" + type-fest "^1.2.0" + +"@svgmoji/noto@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@svgmoji/noto/-/noto-3.2.0.tgz#ff99dc95f2d098050d9d19696d019fe22677760b" + integrity sha512-JgtNciB06hMDI1Pb1N2IgLh44XRMZUUNwBANzjY5jXTPqOCu1A1VA35ENvUsRhEUZOm8I+hbdAEHkwMVqxLeIQ== + dependencies: + "@babel/runtime" "^7.12.5" + "@svgmoji/core" "^3.2.0" + +"@svgmoji/openmoji@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@svgmoji/openmoji/-/openmoji-3.2.0.tgz#776fece19f8c253206182cb65685c864ba9bebd2" + integrity sha512-USHbG+O80HfmdoNAHbOnlO+2gppXJfHFWKSRFj53Th4aimWEx4/9MB3cFbC3KZ1NOqXaLBq9jDaw4vFuGDVTUQ== + dependencies: + "@babel/runtime" "^7.12.5" + "@svgmoji/core" "^3.2.0" + +"@svgmoji/twemoji@^3.2.0": + version "3.2.0" + resolved "https://registry.yarnpkg.com/@svgmoji/twemoji/-/twemoji-3.2.0.tgz#0a12df9f5b30af457b4a1779051de470a15c1b00" + integrity sha512-6xqZgh9viFDKf5wvrxw56ImCR3Ni84IqwK45lxojOe1Gc1Mni1GpPfr4gb7WHDKjumfx+K7BHSvX0KXt3Nr3CQ== + dependencies: + "@babel/runtime" "^7.12.5" + "@svgmoji/core" "^3.2.0" + "@swc/helpers@0.5.2": version "0.5.2" resolved "https://registry.yarnpkg.com/@swc/helpers/-/helpers-0.5.2.tgz#85ea0c76450b61ad7d10a37050289eded783c27d" @@ -4296,6 +5702,11 @@ resolved "https://registry.yarnpkg.com/@types/diff/-/diff-5.2.1.tgz#cceae9c4b2dae5c6b8ab1ce1263601c255d87fb3" integrity sha512-uxpcuwWJGhe2AR1g8hD9F5OYGCqjqWnBUQFD8gMZsDbv8oPHzxJF6iMO6n8Tk0AdzlxoaaoQhOYlIg/PukVU8g== +"@types/direction@^1.0.0": + version "1.0.0" + resolved "https://registry.yarnpkg.com/@types/direction/-/direction-1.0.0.tgz#6a0962feade8502f9e986e87abe1130b611b13be" + integrity sha512-et1wmqXm/5smJ8lTJfBnwD12/2Y7eVJLKbuaRT0h2xaKAoo1h8Dz2Io22GObDLFwxY1ddXRTLH3Gq5v44Fl/2w== + "@types/doctrine@^0.0.3": version "0.0.3" resolved "https://registry.yarnpkg.com/@types/doctrine/-/doctrine-0.0.3.tgz#e892d293c92c9c1d3f9af72c15a554fbc7e0895a" @@ -4401,6 +5812,13 @@ dependencies: "@types/node" "*" +"@types/hast@^2.0.0": + version "2.3.10" + resolved "https://registry.yarnpkg.com/@types/hast/-/hast-2.3.10.tgz#5c9d9e0b304bbb8879b857225c5ebab2d81d7643" + integrity sha512-McWspRw8xx8J9HurkVBfYj0xKoE25tOFlHGdx4MJ5xORQrMGZNqJhVQWaIbm6Oyla5kYOXtDiopzKRJzEOkwJw== + dependencies: + "@types/unist" "^2" + "@types/hast@^3.0.0", "@types/hast@^3.0.4": version "3.0.4" resolved "https://registry.yarnpkg.com/@types/hast/-/hast-3.0.4.tgz#1d6b39993b82cea6ad783945b0508c25903e15aa" @@ -4512,6 +5930,11 @@ resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.3.tgz#2098f4a77adaba9ce881c9e0b6baf29116e5acc4" integrity sha512-HnMWQkLJEf/PnxZIfbm0yGJRRZYYMhb++O9M36UCTA9z53uPvVoSlAwJr3XOpDEryb7Hwl1qAx/MV6YIW1RXxg== +"@types/marked@^4.3.1": + version "4.3.2" + resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.3.2.tgz#e2e0ad02ebf5626bd215c5bae2aff6aff0ce9eac" + integrity sha512-a79Yc3TOk6dGdituy8hmTTJXjOkZ7zsFYV10L337ttq/rec8lRMDBpV7fL3uLx6TgbFCa5DU/h8FmIBQPSbU0w== + "@types/mdast@^3.0.0": version "3.0.10" resolved "https://registry.yarnpkg.com/@types/mdast/-/mdast-3.0.10.tgz#4724244a82a4598884cbbe9bcfd73dff927ee8af" @@ -4529,6 +5952,11 @@ resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.5.tgz#1ef302e01cf7d2b5a0fa526790c9123bf1d06690" integrity sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w== +"@types/min-document@^2.19.0": + version "2.19.2" + resolved "https://registry.yarnpkg.com/@types/min-document/-/min-document-2.19.2.tgz#fec3038b39aee80838d098055cac7f466ecaf1ae" + integrity sha512-nsNPWMSTapqOMR6/fSka9W77q5JdxaWkx3bSmzvQv2dvEI/VIWYrVmcoFY3j1YTPQK7buYdY6LqsUrQlsAGmaw== + "@types/mjml-core@*": version "4.7.4" resolved "https://registry.yarnpkg.com/@types/mjml-core/-/mjml-core-4.7.4.tgz#91e8a8c5e6ff392bdb61d2f22e10d83406135d96" @@ -4573,6 +6001,16 @@ resolved "https://registry.yarnpkg.com/@types/nprogress/-/nprogress-0.2.0.tgz#86c593682d4199212a0509cc3c4d562bbbd6e45f" integrity sha512-1cYJrqq9GezNFPsWTZpFut/d4CjpZqA0vhqDUPFWYKF1oIyBz5qnoYMzR+0C/T96t3ebLAC1SSnwrVOm5/j74A== +"@types/object.omit@^3.0.0": + version "3.0.3" + resolved "https://registry.yarnpkg.com/@types/object.omit/-/object.omit-3.0.3.tgz#cc52b1d9774c1619b5c6fc50229d087f01eabd68" + integrity sha512-xrq4bQTBGYY2cw+gV4PzoG2Lv3L0pjZ1uXStRRDQoATOYW1lCsFQHhQ+OkPhIcQoqLjAq7gYif7D14Qaa6Zbew== + +"@types/object.pick@^1.3.2": + version "1.3.4" + resolved "https://registry.yarnpkg.com/@types/object.pick/-/object.pick-1.3.4.tgz#1a38b6e69a35f36ec2dcc8b9f5ffd555c1c4d7fc" + integrity sha512-5PjwB0uP2XDp3nt5u5NJAG2DORHIRClPzWT/TTZhJ2Ekwe8M5bA9tvPdi9NO/n2uvu2/ictat8kgqvLfcIE1SA== + "@types/papaparse@^5.3.10": version "5.3.10" resolved "https://registry.yarnpkg.com/@types/papaparse/-/papaparse-5.3.10.tgz#d315347dfafd0458aa25062ec9e3dcebb948b6de" @@ -4595,11 +6033,21 @@ resolved "https://registry.yarnpkg.com/@types/pretty-hrtime/-/pretty-hrtime-1.0.1.tgz#72a26101dc567b0d68fd956cf42314556e42d601" integrity sha512-VjID5MJb1eGKthz2qUerWT8+R4b9N+CHvGCzg9fn4kWZgaF9AhdYikQio3R7wV8YY1NsQKPaCwKz1Yff+aHNUQ== +"@types/prismjs@*": + version "1.26.5" + resolved "https://registry.yarnpkg.com/@types/prismjs/-/prismjs-1.26.5.tgz#72499abbb4c4ec9982446509d2f14fb8483869d6" + integrity sha512-AUZTa7hQ2KY5L7AmtSiqxlhWxb4ina0yd8hNbl4TWuqnv/pFP0nDMb3YrfSBf4hJVGLh2YEIBfKaBW/9UEl6IQ== + "@types/prop-types@*": version "15.7.4" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.4.tgz#fcf7205c25dff795ee79af1e30da2c9790808f11" integrity sha512-rZ5drC/jWjrArrS8BR6SIr4cWpW09RNTYt9AMZo3Jwwif+iacXAqgVjm0B0Bv/S1jhDXKHqRVNCbACkJ89RAnQ== +"@types/prop-types@^15.7.12": + version "15.7.14" + resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.14.tgz#1433419d73b2a7ebfc6918dcefd2ec0d5cd698f2" + integrity sha512-gNMvNH49DJ7OJYv+KAKn0Xp45p8PLl6zo2YnvDIbTd4J6MER2BmWN49TG7n9LvkyihINxeKW8+3bfS2yDC9dzQ== + "@types/prop-types@^15.7.5": version "15.7.5" resolved "https://registry.yarnpkg.com/@types/prop-types/-/prop-types-15.7.5.tgz#5f19d2b85a98e9558036f6a3cacc8819420f05cf" @@ -4615,6 +6063,11 @@ resolved "https://registry.yarnpkg.com/@types/qs/-/qs-6.9.7.tgz#63bb7d067db107cc1e457c303bc25d511febf6cb" integrity sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw== +"@types/querystringify@^2.0.0": + version "2.0.2" + resolved "https://registry.yarnpkg.com/@types/querystringify/-/querystringify-2.0.2.tgz#1f8b7536884c542a59d486a94306eaf5a48d9c28" + integrity sha512-7d6OQK6pJ//zE32XLK3vI6GHYhBDcYooaRco9cKFGNu59GVatL5+u7rkiAViq44DxDTd/7QQNBWSDHfJGBz/Pw== + "@types/random-seed@^0.3.3": version "0.3.3" resolved "https://registry.yarnpkg.com/@types/random-seed/-/random-seed-0.3.3.tgz#7741f7b0a4513198a9396ce4ad25832f799a6727" @@ -4625,6 +6078,13 @@ resolved "https://registry.yarnpkg.com/@types/range-parser/-/range-parser-1.2.7.tgz#50ae4353eaaddc04044279812f52c8c65857dbcb" integrity sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ== +"@types/react-color@^3.0.6": + version "3.0.13" + resolved "https://registry.yarnpkg.com/@types/react-color/-/react-color-3.0.13.tgz#0f86a14ac948428bd811689706c328817661dc13" + integrity sha512-2c/9FZ4ixC5T3JzN0LP5Cke2Mf0MKOP2Eh0NPDPWmuVH3NjPyhEjqNMQpN1Phr5m74egAy+p2lYNAFrX1z9Yrg== + dependencies: + "@types/reactcss" "*" + "@types/react-dom@^18.0.0", "@types/react-dom@^18.0.6": version "18.0.6" resolved "https://registry.yarnpkg.com/@types/react-dom/-/react-dom-18.0.6.tgz#36652900024842b74607a17786b6662dd1e103a1" @@ -4646,6 +6106,11 @@ dependencies: "@types/react" "*" +"@types/react-transition-group@^4.4.10": + version "4.4.12" + resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.12.tgz#b5d76568485b02a307238270bfe96cb51ee2a044" + integrity sha512-8TV6R3h2j7a91c+1DXdJi3Syo69zzIZbz7Lg5tORM5LEJG7X/E6a1V3drRyBRZq7/utz7A+c4OgYLiLcYGHG6w== + "@types/react-transition-group@^4.4.5": version "4.4.5" resolved "https://registry.yarnpkg.com/@types/react-transition-group/-/react-transition-group-4.4.5.tgz#aae20dcf773c5aa275d5b9f7cdbca638abc5e416" @@ -4686,6 +6151,18 @@ "@types/prop-types" "*" csstype "^3.0.2" +"@types/reactcss@*": + version "1.2.13" + resolved "https://registry.yarnpkg.com/@types/reactcss/-/reactcss-1.2.13.tgz#11c7468cc96b5353f7af998a5664deae21c7af08" + integrity sha512-gi3S+aUi6kpkF5vdhUsnkwbiSEIU/BEJyD7kBy2SudWBUuKmJk8AQKE0OVcQQeEy40Azh0lV6uynxlikYIJuwg== + +"@types/refractor@^3.0.2": + version "3.4.1" + resolved "https://registry.yarnpkg.com/@types/refractor/-/refractor-3.4.1.tgz#8b109804f77b3da8fad543d3f575fef1ece8835a" + integrity sha512-wYuorIiCTSuvRT9srwt+taF6mH/ww+SyN2psM0sjef2qW+sS8GmshgDGTEDgWB1sTVGgYVE6EK7dBA2MxQxibg== + dependencies: + "@types/prismjs" "*" + "@types/resolve@^1.20.2": version "1.20.6" resolved "https://registry.yarnpkg.com/@types/resolve/-/resolve-1.20.6.tgz#e6e60dad29c2c8c206c026e6dd8d6d1bdda850b8" @@ -4723,6 +6200,16 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== +"@types/string.prototype.matchall@^4.0.1": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@types/string.prototype.matchall/-/string.prototype.matchall-4.0.4.tgz#1583ac213158aca260467b2e23da699b91df14f7" + integrity sha512-E0KMS5FrWafbfKTGsoTZgrPHxBVknPeBxUTNwJima3t5KLdOlY285sisQC0mkVPTNNBc4nxza5ldly/ct+ISrQ== + +"@types/throttle-debounce@^2.1.0": + version "2.1.0" + resolved "https://registry.yarnpkg.com/@types/throttle-debounce/-/throttle-debounce-2.1.0.tgz#1c3df624bfc4b62f992d3012b84c56d41eab3776" + integrity sha512-5eQEtSCoESnh2FsiLTxE121IiE60hnMqcb435fShf4bpLRjEu1Eoekht23y6zXS9Ts3l+Szu3TARnTsA0GkOkQ== + "@types/tough-cookie@^2.3.5": version "2.3.8" resolved "https://registry.yarnpkg.com/@types/tough-cookie/-/tough-cookie-2.3.8.tgz#511fc1569cc32b0cf50941fe9f00bf70f94116bb" @@ -4733,11 +6220,21 @@ resolved "https://registry.yarnpkg.com/@types/trusted-types/-/trusted-types-2.0.2.tgz#fc25ad9943bcac11cceb8168db4f275e0e72e756" integrity sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg== +"@types/turndown@^5.0.1": + version "5.0.5" + resolved "https://registry.yarnpkg.com/@types/turndown/-/turndown-5.0.5.tgz#614de24fc9ace4d8c0d9483ba81dc8c1976dd26f" + integrity sha512-TL2IgGgc7B5j78rIccBtlYAnkuv8nUQqhQc+DSYV5j9Be9XOcm/SKOVRuA47xAVI3680Tk9B1d8flK2GWT2+4w== + "@types/unist@*", "@types/unist@^2.0.0": version "2.0.6" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.6.tgz#250a7b16c3b91f672a24552ec64678eeb1d3a08d" integrity sha512-PBjIUxZHOuj0R15/xuwJYjFi+KZdNFrehocChv4g5hu6aFroHue8m0lBP0POdK2nKzbw0cgV1mws8+V/JAcEkQ== +"@types/unist@^2": + version "2.0.11" + resolved "https://registry.yarnpkg.com/@types/unist/-/unist-2.0.11.tgz#11af57b127e32487774841f7a4e54eab166d03c4" + integrity sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA== + "@types/unist@^3.0.0": version "3.0.2" resolved "https://registry.yarnpkg.com/@types/unist/-/unist-3.0.2.tgz#6dd61e43ef60b34086287f83683a5c1b2dc53d20" @@ -5116,6 +6613,15 @@ "@types/emscripten" "^1.39.6" tslib "^1.13.0" +a11y-status@2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/a11y-status/-/a11y-status-2.0.2.tgz#af37e395fe798eb48a2613df8043ef7fd77dbfb1" + integrity sha512-aFT18wXwGG6QHe/HsFJeQqknZ+TVi7A/3xfYMIQI5EEHIJ9ak+fa7T9uuDSpFPzNCF/4oAZyG9d/nKJMOfKgPQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@types/throttle-debounce" "^2.1.0" + throttle-debounce "^3.0.1" + abab@^2.0.3, abab@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/abab/-/abab-2.0.5.tgz#c0b678fb32d60fc1219c784d6a826fe385aeb79a" @@ -5365,7 +6871,7 @@ argparse@^2.0.1: resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -aria-hidden@^1.1.1: +aria-hidden@^1.1.1, aria-hidden@^1.2.3: version "1.2.4" resolved "https://registry.yarnpkg.com/aria-hidden/-/aria-hidden-1.2.4.tgz#b78e383fdbc04d05762c78b4a25a501e736c4522" integrity sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A== @@ -5649,6 +7155,14 @@ babel-loader@^9.1.3: find-cache-dir "^4.0.0" schema-utils "^4.0.0" +babel-merge@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/babel-merge/-/babel-merge-3.0.0.tgz#9bd368d48116dab18b8f3e8022835479d80f3b50" + integrity sha512-eBOBtHnzt9xvnjpYNI5HmaPp/b2vMveE5XggzqHnQeHJ8mFIBrBv6WZEVIj5jJ2uwTItkqKo9gWzEEcBxEq0yw== + dependencies: + deepmerge "^2.2.1" + object.omit "^3.0.0" + babel-plugin-istanbul@^6.0.0: version "6.1.1" resolved "https://registry.yarnpkg.com/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz#fa88ec59232fd9b4e36dbbc540a8ec9a9b47da73" @@ -5957,6 +7471,16 @@ browserslist@^4.21.10, browserslist@^4.22.2, browserslist@^4.23.0: node-releases "^2.0.14" update-browserslist-db "^1.0.16" +browserslist@^4.24.0: + version "4.24.4" + resolved "https://registry.yarnpkg.com/browserslist/-/browserslist-4.24.4.tgz#c6b2865a3f08bcb860a0e827389003b9fe686e4b" + integrity sha512-KDi1Ny1gSePi1vm0q4oxSF8b4DR44GF4BbmS2YdhPLOEqd8pDviZOGH/GsmRwoWJ2+5Lr085X7naowMwKHDG1A== + dependencies: + caniuse-lite "^1.0.30001688" + electron-to-chromium "^1.5.73" + node-releases "^2.0.19" + update-browserslist-db "^1.1.1" + bs-logger@0.x: version "0.2.6" resolved "https://registry.yarnpkg.com/bs-logger/-/bs-logger-0.2.6.tgz#eb7d365307a72cf974cc6cda76b68354ad336bd8" @@ -6113,6 +7637,16 @@ caniuse-lite@^1.0.30001629: resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001637.tgz#d9fab531493d9ef46a8ff305e9812190ac463f21" integrity sha512-1x0qRI1mD1o9e+7mBI7XtzFAP4XszbHaVWsMiGbSPLYekKTJF7K+FNk6AsXH4sUpc+qrsI3pVgf1Jdl/uGkuSQ== +caniuse-lite@^1.0.30001688: + version "1.0.30001690" + resolved "https://registry.yarnpkg.com/caniuse-lite/-/caniuse-lite-1.0.30001690.tgz#f2d15e3aaf8e18f76b2b8c1481abde063b8104c8" + integrity sha512-5ExiE3qQN6oF8Clf8ifIDcMRCRE/dMGcETG/XGMD8/XiXm6HXQgQTh1yZYLXXpSOsEUlJm1Xr7kGULZTuGtP/w== + +case-anything@^2.1.13: + version "2.1.13" + resolved "https://registry.yarnpkg.com/case-anything/-/case-anything-2.1.13.tgz#0cdc16278cb29a7fcdeb072400da3f342ba329e9" + integrity sha512-zlOQ80VrQ2Ue+ymH5OuM/DlDq64mEm+B9UTdHULv5osUMD6HalNTblf2b1u/m6QecjsnOkBpqVZ+XPwIVsy7Ng== + case-sensitive-paths-webpack-plugin@^2.4.0: version "2.4.0" resolved "https://registry.yarnpkg.com/case-sensitive-paths-webpack-plugin/-/case-sensitive-paths-webpack-plugin-2.4.0.tgz#db64066c6422eed2e08cc14b986ca43796dbc6d4" @@ -6179,11 +7713,26 @@ char-regex@^1.0.2: resolved "https://registry.yarnpkg.com/char-regex/-/char-regex-1.0.2.tgz#d744358226217f981ed58f479b1d6bcc29545dcf" integrity sha512-kWWXztvZ5SBQV+eRgKFeh8q5sLuZY2+8WUIzlxWVTg+oGwY14qylx1KbKzHd8P6ZYkAg0xyIDU9JMHhyJMZ1jw== +character-entities-legacy@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-entities-legacy/-/character-entities-legacy-1.1.4.tgz#94bc1845dce70a5bb9d2ecc748725661293d8fc1" + integrity sha512-3Xnr+7ZFS1uxeiUDvV02wQ+QDbc55o97tIV5zHScSPJpcLm/r0DFPcoY3tYRp+VZukxuMeKgXYmsXQHO05zQeA== + +character-entities@^1.0.0: + version "1.2.4" + resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-1.2.4.tgz#e12c3939b7eaf4e5b15e7ad4c5e28e1d48c5b16b" + integrity sha512-iBMyeEHxfVnIakwOuDXpVkc54HijNgCyQB2w0VfGQThle6NXn50zU6V/u+LDhxHcDUPojn6Kpga3PTAD8W1bQw== + character-entities@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/character-entities/-/character-entities-2.0.2.tgz#2d09c2e72cd9523076ccb21157dff66ad43fcc22" integrity sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ== +character-reference-invalid@^1.0.0: + version "1.1.4" + resolved "https://registry.yarnpkg.com/character-reference-invalid/-/character-reference-invalid-1.1.4.tgz#083329cda0eae272ab3dbbf37e9a382c13af1560" + integrity sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg== + check-error@^1.0.3: version "1.0.3" resolved "https://registry.yarnpkg.com/check-error/-/check-error-1.0.3.tgz#a6502e4312a7ee969f646e83bb3ddd56281bd694" @@ -6366,6 +7915,11 @@ clsx@^2.0.0: resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.0.0.tgz#12658f3fd98fafe62075595a5c30e43d18f3d00b" integrity sha512-rQ1+kcj+ttHG0MKVGBUXwayCCF1oh39BF5COIpRzuCEv8Mwjv0XucrI2ExNTOn9IlLifGClWQcU9BrZORvtw6Q== +clsx@^2.1.0, clsx@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/clsx/-/clsx-2.1.1.tgz#eed397c9fd8bd882bfb18deab7102049a2f32999" + integrity sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA== + co@^4.6.0: version "4.6.0" resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" @@ -6421,6 +7975,11 @@ color-string@^1.9.0: color-name "^1.0.0" simple-swizzle "^0.2.2" +color2k@^2.0.2: + version "2.0.3" + resolved "https://registry.yarnpkg.com/color2k/-/color2k-2.0.3.tgz#a771244f6b6285541c82aa65ff0a0c624046e533" + integrity sha512-zW190nQTIoXcGCaU08DvVNFTmQhUpnJfVuAKfWqUQkflXKpaDdpaYoM0iluLS9lgJNHyBF58KKA2FBEwkD7wog== + color@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/color/-/color-4.2.3.tgz#d781ecb5e57224ee43ea9627560107c0e0c6463a" @@ -6441,6 +8000,11 @@ combined-stream@^1.0.8: dependencies: delayed-stream "~1.0.0" +comma-separated-tokens@^1.0.0: + version "1.0.8" + resolved "https://registry.yarnpkg.com/comma-separated-tokens/-/comma-separated-tokens-1.0.8.tgz#632b80b6117867a158f1080ad498b2fbe7e3f5ea" + integrity sha512-GHuDRO12Sypu2cV70d1dkA2EUmXHgntrzbpvOB+Qy+49ypNfGgFQIC2fhhXbnyrJRynDCAARsT7Ou0M6hirpfw== + command-line-args@^5.1.1: version "5.2.0" resolved "https://registry.yarnpkg.com/command-line-args/-/command-line-args-5.2.0.tgz#087b02748272169741f1fd7c785b295df079b9be" @@ -6669,6 +8233,13 @@ crc-32@~1.2.0, crc-32@~1.2.1: resolved "https://registry.yarnpkg.com/crc-32/-/crc-32-1.2.2.tgz#3cad35a934b8bf71f25ca524b6da51fb7eace2ff" integrity sha512-ROmzCKrTnOwybPcJApAA6WBWij23HVfGVNKqqrZpuyZOHqK2CwHSvpGuyt/UNNvaIjEd8X5IFGp4Mh+Ie1IHJQ== +create-context-state@^2.0.3: + version "2.0.3" + resolved "https://registry.yarnpkg.com/create-context-state/-/create-context-state-2.0.3.tgz#d516577c1f196cab3ba6651333d37e70a54b5bde" + integrity sha512-txC1IX5nQcgT4OiPsZviciHXs5v7zTiqcymNQvUsRNSnvxi7cDSpQFTtdq8z1JE7JmmtVnwWzc6a8/PcpPwpXg== + dependencies: + "@babel/runtime" "^7.22.3" + create-ecdh@^4.0.0: version "4.0.4" resolved "https://registry.yarnpkg.com/create-ecdh/-/create-ecdh-4.0.4.tgz#d6e7f4bffa66736085a0762fd3a632684dabcc4e" @@ -6752,6 +8323,13 @@ crypto-random-string@^4.0.0: dependencies: type-fest "^1.0.1" +css-in-js-utils@^3.1.0: + version "3.1.0" + resolved "https://registry.yarnpkg.com/css-in-js-utils/-/css-in-js-utils-3.1.0.tgz#640ae6a33646d401fc720c54fc61c42cd76ae2bb" + integrity sha512-fJAcud6B3rRu+KHYk+Bwf+WFL2MDCJJ1XG9x137tJQ0xYxor7XziQtuGFbWNdqrvF4Tk26O3H73nfVqXt/fW1A== + dependencies: + hyphenate-style-name "^1.0.3" + css-loader@^6.7.1, css-loader@^6.7.3: version "6.11.0" resolved "https://registry.yarnpkg.com/css-loader/-/css-loader-6.11.0.tgz#33bae3bf6363d0a7c2cf9031c96c744ff54d85ba" @@ -6843,6 +8421,11 @@ csstype@^3.1.0, csstype@^3.1.1: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.1.tgz#841b532c45c758ee546a11d5bd7b7b473c8c30b9" integrity sha512-DJR/VvkAvSZW9bTouZue2sSxDwdTN92uHjqeKVm+0dAqdfNykRzQ95tay8aXMBAAPpUiq4Qcug2L7neoRh2Egw== +csstype@^3.1.2, csstype@^3.1.3: + version "3.1.3" + resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" + integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== + d3-array@2, d3-array@^2.3.0: version "2.12.1" resolved "https://registry.yarnpkg.com/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" @@ -6939,6 +8522,11 @@ damerau-levenshtein@^1.0.8: resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== +dash-get@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/dash-get/-/dash-get-1.0.2.tgz#4c9e9ad5ef04c4bf9d3c9a451f6f7997298dcc7c" + integrity sha512-4FbVrHDwfOASx7uQVxeiCTo7ggSdYZbqs8lH+WU6ViypPlDbe9y6IP5VVUDQBv9DcnyaiPT5XT0UWHgJ64zLeQ== + data-urls@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/data-urls/-/data-urls-2.0.0.tgz#156485a72963a970f5d5821aaf642bef2bf2db9b" @@ -7067,11 +8655,21 @@ deep-is@^0.1.3, deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== +deepmerge@^2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-2.2.1.tgz#5d3ff22a01c00f645405a2fbc17d0778a1801170" + integrity sha512-R9hc1Xa/NOBi9WRVUWg19rl1UB7Tt4kuPd+thNJgFZoxXsTz7ncaPaeIm+40oSGuP33DfMb4sZt1QIGiJzC4EA== + deepmerge@^4.2.2: version "4.2.2" resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== +deepmerge@^4.3.1: + version "4.3.1" + resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.3.1.tgz#44b5f2147cd3b00d4b56137685966f26fd25dd4a" + integrity sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A== + default-browser-id@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/default-browser-id/-/default-browser-id-3.0.0.tgz#bee7bbbef1f4e75d31f98f4d3f1556a14cea790c" @@ -7255,7 +8853,7 @@ dir-glob@^3.0.1: dependencies: path-type "^4.0.0" -direction@^1.0.3: +direction@^1.0.3, direction@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/direction/-/direction-1.0.4.tgz#2b86fb686967e987088caf8b89059370d4837442" integrity sha512-GYqKi1aH7PJXxdhTeZBFrg8vUBeKXi+cNprXsC1kpJcbcVnV9wBsrOu1cQEdG0WeQwlfHiy3XvnKfIrJ2R0NzQ== @@ -7326,6 +8924,11 @@ dom-serializer@^2.0.0: domhandler "^5.0.2" entities "^4.2.0" +dom-walk@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.2.tgz#0c548bef048f4d1f2a97249002236060daa3fd84" + integrity sha512-6QvTW9mrGeIegrFXdtQi9pk7O/nSK6lSdXW2eqUspN5LWD7UTji2Fqw5V2YLjBpHEoU9Xl/eUWNpDeZvoyOv2w== + domain-browser@^4.22.0: version "4.23.0" resolved "https://registry.yarnpkg.com/domain-browser/-/domain-browser-4.23.0.tgz#427ebb91efcb070f05cffdfb8a4e9a6c25f8c94b" @@ -7459,6 +9062,11 @@ electron-to-chromium@^1.4.796: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.4.812.tgz#21b78709c5a13af5d5c688d135a22dcea7617acf" integrity sha512-7L8fC2Ey/b6SePDFKR2zHAy4mbdp1/38Yk5TsARO66W3hC5KEaeKMMHoxwtuH+jcu2AYLSn9QX04i95t6Fl1Hg== +electron-to-chromium@^1.5.73: + version "1.5.79" + resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.5.79.tgz#4424f23f319db7a653cf9ee76102e4ac283e6b3e" + integrity sha512-nYOxJNxQ9Om4EC88BE4pPoNI8xwSFf8pU/BAeOl4Hh/b/i6V4biTAzwV7pXi3ARKeoYO5JZKMIXTryXSVer5RA== + elliptic@^6.5.3: version "6.5.4" resolved "https://registry.yarnpkg.com/elliptic/-/elliptic-6.5.4.tgz#da37cebd31e79a1367e941b592ed1fbebd58abbb" @@ -7487,6 +9095,31 @@ emoji-regex@^9.2.2: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== +emojibase-data@^6.2.0: + version "6.2.0" + resolved "https://registry.yarnpkg.com/emojibase-data/-/emojibase-data-6.2.0.tgz#db6c75c36905284fa623f4aa5f468d2be6ed364a" + integrity sha512-SWKaXD2QeQs06IE7qfJftsI5924Dqzp+V9xaa5RzZIEWhmlrG6Jt2iKwfgOPHu+5S8MEtOI7GdpKsXj46chXOw== + +emojibase-regex@^5.1.1: + version "5.1.3" + resolved "https://registry.yarnpkg.com/emojibase-regex/-/emojibase-regex-5.1.3.tgz#f0ef621ed6ec624becd2326f999fd4ea01b94554" + integrity sha512-gT8T9LxLA8VJdI+8KQtyykB9qKzd7WuUL3M2yw6y9tplFeufOUANg3UKVaKUvkMcRNvZsSElWhxcJrx8WPE12g== + +emojibase-regex@^6.0.1: + version "6.0.1" + resolved "https://registry.yarnpkg.com/emojibase-regex/-/emojibase-regex-6.0.1.tgz#dc0b33d05c02f045ea44795d453698b205d41f0f" + integrity sha512-Mj1UT6IIk4j91yMFE0QetpUYcmsr5ZDkkOIMSGafhIgC086mBMaCh2Keaykx8YEllmV7hmx5zdANDzCYBYAVDw== + +emojibase@^5.1.0: + version "5.2.0" + resolved "https://registry.yarnpkg.com/emojibase/-/emojibase-5.2.0.tgz#3b53899f9a9f8aae1280db446c83ce28f1d286d5" + integrity sha512-5T02oTJaWpScAtYbukKVc8vQ1367MyfVtFHUMoOVZ9/r1kFcbYqjSktD56TICBAeyW9uc1t+7qQuXEtntM6p5A== + +emojibase@^6.1.0: + version "6.1.0" + resolved "https://registry.yarnpkg.com/emojibase/-/emojibase-6.1.0.tgz#c3bc281e998a0e06398416090c23bac8c5ed3ee8" + integrity sha512-1GkKJPXP6tVkYJHOBSJHoGOr/6uaDxZ9xJ6H7m6PfdGXTmQgbALHLWaVRY4Gi/qf5x/gT/NUXLPuSHYLqtLtrQ== + emojis-list@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/emojis-list/-/emojis-list-3.0.0.tgz#5570662046ad29e2e916e71aae260abdff4f6a78" @@ -7778,6 +9411,11 @@ escalade@^3.1.2: resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== +escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== + escape-goat@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/escape-goat/-/escape-goat-3.0.0.tgz#e8b5fb658553fe8a3c4959c316c6ebb8c842b19c" @@ -8308,6 +9946,11 @@ extend@^3.0.0: resolved "https://registry.yarnpkg.com/extend/-/extend-3.0.2.tgz#f8b1136b4071fbd8eb140aff858b1019ec2915fa" integrity sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g== +extract-domain@2.2.1: + version "2.2.1" + resolved "https://registry.yarnpkg.com/extract-domain/-/extract-domain-2.2.1.tgz#1deeae633a5cbf05ae2fd7b3ff87cb98cbc4cb5b" + integrity sha512-lOq1adCJha0tFFBci4quxC4XLa6+Rs2WgAwTo9qbO9OsElvJmGgCvOzmHo/yg5CiqeP4+sHjkXYGkrCcIEprMg== + fast-deep-equal@^3.1.1, fast-deep-equal@^3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -8700,6 +10343,11 @@ get-caller-file@^2.0.5: resolved "https://registry.yarnpkg.com/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== +get-dom-document@^0.1.3: + version "0.1.3" + resolved "https://registry.yarnpkg.com/get-dom-document/-/get-dom-document-0.1.3.tgz#d0188090e43d38dd146c467ac6e3e1f2ace7af52" + integrity sha512-bZ0O00gSQgMo+wz7gU6kbbWCPh4dfDsL9ZOmVhA8TOXszl5GV56TpTuW1/Qq/QctgpjK56yyvB1vBO+wzz8Szw== + get-func-name@^2.0.1, get-func-name@^2.0.2: version "2.0.2" resolved "https://registry.yarnpkg.com/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" @@ -9057,6 +10705,11 @@ hast-util-is-element@^3.0.0: dependencies: "@types/hast" "^3.0.0" +hast-util-parse-selector@^2.0.0: + version "2.2.5" + resolved "https://registry.yarnpkg.com/hast-util-parse-selector/-/hast-util-parse-selector-2.2.5.tgz#d57c23f4da16ae3c63b3b6ca4616683313499c3a" + integrity sha512-7j6mrk/qqkSehsM92wQjdIgWM2/BW61u/53G6xmC8i1OmEdKLHbk419QKQUjz6LglWsfqoiHmyMRkP1BGjecNQ== + hast-util-to-string@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz#2a131948b4b1b26461a2c8ac876e2c88d02946bd" @@ -9064,6 +10717,17 @@ hast-util-to-string@^3.0.0: dependencies: "@types/hast" "^3.0.0" +hastscript@^6.0.0: + version "6.0.0" + resolved "https://registry.yarnpkg.com/hastscript/-/hastscript-6.0.0.tgz#e8768d7eac56c3fdeac8a92830d58e811e5bf640" + integrity sha512-nDM6bvd7lIqDUiYEiu5Sl/+6ReP0BMk/2f4U/Rooccxkj0P5nm+acM5PrGJ/t5I8qPGiqZSE6hVAwZEdZIvP4w== + dependencies: + "@types/hast" "^2.0.0" + comma-separated-tokens "^1.0.0" + hast-util-parse-selector "^2.0.0" + property-information "^5.0.0" + space-separated-tokens "^1.0.0" + he@^1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/he/-/he-1.2.0.tgz#84ae65fa7eafb165fddb61566ae14baf05664f0f" @@ -9314,6 +10978,13 @@ icss-utils@^5.0.0, icss-utils@^5.1.0: resolved "https://registry.yarnpkg.com/icss-utils/-/icss-utils-5.1.0.tgz#c6be6858abd013d768e98366ae47e25d5887b1ae" integrity sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA== +idb-keyval@^5.0.2: + version "5.1.5" + resolved "https://registry.yarnpkg.com/idb-keyval/-/idb-keyval-5.1.5.tgz#be11174bac0cb756dba4cc86fb36b6cd63f5ce6d" + integrity sha512-J1utxYWQokYjy01LvDQ7WmiAtZCGUSkVi9EIBfUSyLOr/BesnMIxNGASTh9A1LzeISSjSqEPsfFdTss7EE7ofQ== + dependencies: + safari-14-idb-fix "^1.0.6" + ieee754@^1.1.13, ieee754@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/ieee754/-/ieee754-1.2.1.tgz#8eb7a10a63fff25d15a57b001586d177d1b0d352" @@ -9483,6 +11154,19 @@ is-absolute-url@^4.0.0: resolved "https://registry.yarnpkg.com/is-absolute-url/-/is-absolute-url-4.0.1.tgz#16e4d487d4fded05cfe0685e53ec86804a5e94dc" integrity sha512-/51/TKE88Lmm7Gc4/8btclNXWS+g50wXhYJq8HWIBAGUBnoAdRu1aXeh364t/O7wXDAcTJDP8PNuNKWUDWie+A== +is-alphabetical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphabetical/-/is-alphabetical-1.0.4.tgz#9e7d6b94916be22153745d184c298cbf986a686d" + integrity sha512-DwzsA04LQ10FHTZuL0/grVDk4rFoVH1pjAToYwBrHSxcrBIGQuXrQMtD5U1b0U2XVgKZCTLLP8u2Qxqhy3l2Vg== + +is-alphanumerical@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-alphanumerical/-/is-alphanumerical-1.0.4.tgz#7eb9a2431f855f6b1ef1a78e326df515696c4dbf" + integrity sha512-UzoZUr+XfVz3t3v4KyGEniVL9BDRoQtY7tOyrRybkVNjDFWyo1yhXNGrrBTQxp3ib9BLAWs7k2YKBQsFRkZG9A== + dependencies: + is-alphabetical "^1.0.0" + is-decimal "^1.0.0" + is-arguments@^1.0.4, is-arguments@^1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/is-arguments/-/is-arguments-1.1.1.tgz#15b3f88fda01f2a97fec84ca761a560f123efa9b" @@ -9582,6 +11266,11 @@ is-date-object@^1.0.1, is-date-object@^1.0.5: dependencies: has-tostringtag "^1.0.0" +is-decimal@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-decimal/-/is-decimal-1.0.4.tgz#65a3a5958a1c5b63a706e1b333d7cd9f630d3fa5" + integrity sha512-RGdriMmQQvZ2aqaQq3awNA6dCGtKpiDFcOzrTWrDAT2MiWrKQVPmxLGHl7Y2nNu6led0kEyoX0enY0qXYsv9zw== + is-deflate@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-deflate/-/is-deflate-1.0.0.tgz#c862901c3c161fb09dac7cdc7e784f80e98f2f14" @@ -9592,6 +11281,13 @@ is-docker@^2.0.0, is-docker@^2.1.1: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +is-extendable@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-1.0.1.tgz#a7470f9e426733d81bd81e1155264e3a3507cab4" + integrity sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA== + dependencies: + is-plain-object "^2.0.4" + is-extglob@^2.1.1: version "2.1.1" resolved "https://registry.yarnpkg.com/is-extglob/-/is-extglob-2.1.1.tgz#a88c02535791f02ed37c76a1b9ea9773c833f8c2" @@ -9604,6 +11300,18 @@ is-finalizationregistry@^1.0.2: dependencies: call-bind "^1.0.2" +is-finite@^1.0.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.1.0.tgz#904135c77fb42c0641d6aa1bcdbc4daa8da082f3" + integrity sha512-cdyMtqX/BOqqNBBiKlIVkytNHm49MtMlYyn1zxzvJKWmFMlGzm+ry5BBfYyeY9YmNKbRSo/o7OX9w9ale0wg3w== + +is-finite@~1.0.1: + version "1.0.2" + resolved "https://registry.yarnpkg.com/is-finite/-/is-finite-1.0.2.tgz#cc6677695602be550ef11e8b4aa6305342b6d0aa" + integrity sha512-e+gU0KGrlbqjEcV80SAqg4g7PQYOm3/IrdwAJ+kPwHqGhLKhtuTJGGxGtrsc8RXlHt2A8Vlnv+79Vq2B1GQasg== + dependencies: + number-is-nan "^1.0.0" + is-fullwidth-code-point@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d" @@ -9633,6 +11341,11 @@ is-gzip@^1.0.0: resolved "https://registry.yarnpkg.com/is-gzip/-/is-gzip-1.0.0.tgz#6ca8b07b99c77998025900e555ced8ed80879a83" integrity sha512-rcfALRIb1YewtnksfRIHGcIY93QnK8BIQ/2c9yDYcG/Y6+vRoJuTWBmmSEbyLLYtXm7q35pHOHbZFQBaLrhlWQ== +is-hexadecimal@^1.0.0: + version "1.0.4" + resolved "https://registry.yarnpkg.com/is-hexadecimal/-/is-hexadecimal-1.0.4.tgz#cc35c97588da4bd49a8eedd6bc4082d44dcb23a7" + integrity sha512-gyPJuv83bHMpocVYoqof5VDiZveEoGoFL8m3BXNb2VW8Xs+rz9kqO8LOQ5DH6EsuvilT1ApazU0pyl+ytbPtlw== + is-hotkey@^0.1.6: version "0.1.8" resolved "https://registry.yarnpkg.com/is-hotkey/-/is-hotkey-0.1.8.tgz#6b1f4b2d0e5639934e20c05ed24d623a21d36d25" @@ -9643,6 +11356,13 @@ is-in-browser@^1.0.2, is-in-browser@^1.1.3: resolved "https://registry.yarnpkg.com/is-in-browser/-/is-in-browser-1.1.3.tgz#56ff4db683a078c6082eb95dad7dc62e1d04f835" integrity sha1-Vv9NtoOgeMYILrldrX3GLh0E+DU= +is-integer@~1.0.4: + version "1.0.7" + resolved "https://registry.yarnpkg.com/is-integer/-/is-integer-1.0.7.tgz#6bde81aacddf78b659b6629d629cadc51a886d5c" + integrity sha512-RPQc/s9yBHSvpi+hs9dYiJ2cuFeU6x3TyyIp8O2H6SKEltIvJOzRj9ToyvcStDvPR/pS4rxgr1oBFajQjZ2Szg== + dependencies: + is-finite "^1.0.0" + is-interactive@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/is-interactive/-/is-interactive-1.0.0.tgz#cea6e6ae5c870a7b0a0004070b7b587e0252912e" @@ -10397,6 +12117,11 @@ js-cookie@^3.0.5: resolved "https://registry.yarnpkg.com/js-cookie/-/js-cookie-3.0.5.tgz#0b7e2fd0c01552c58ba86e0841f94dc2557dcdbc" integrity sha512-cEiJEAEoIbWfCZYKWhVwFuvPX1gETRYPw6LlaTKoxD3s2AkXzkCjnp6h0V77ozyqj0jakteJ4YqDJT830+lVGw== +js-sha256@^0.10.1: + version "0.10.1" + resolved "https://registry.yarnpkg.com/js-sha256/-/js-sha256-0.10.1.tgz#b40104ba1368e823fdd5f41b66b104b15a0da60d" + integrity sha512-5obBtsz9301ULlsgggLg542s/jqtddfOpV5KJc4hajc9JV8GeY2gZHSVpYBn4nWqAUTJ9v+xwtbJ1mIBgIH5Vw== + "js-tokens@^3.0.0 || ^4.0.0", js-tokens@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/js-tokens/-/js-tokens-4.0.0.tgz#19203fb59991df98e3a287050d4647cdeaf32499" @@ -10514,6 +12239,11 @@ jsesc@^2.5.1: resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== +jsesc@^3.0.2: + version "3.1.0" + resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-3.1.0.tgz#74d335a234f67ed19907fdadfac7ccf9d409825d" + integrity sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA== + jsesc@~0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" @@ -10865,7 +12595,7 @@ locate-path@^7.1.0: dependencies: p-locate "^6.0.0" -lodash-es@^4.17.21: +lodash-es@^4.17.15, lodash-es@^4.17.21: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash-es/-/lodash-es-4.17.21.tgz#43e626c46e6591b7750beb2b50117390c609e3ee" integrity sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw== @@ -10900,7 +12630,7 @@ lodash.zip@^4.2.0: resolved "https://registry.yarnpkg.com/lodash.zip/-/lodash.zip-4.2.0.tgz#ec6662e4896408ed4ab6c542a3990b72cc080020" integrity sha1-7GZi5IlkCO1KtsVCo5kLcswIACA= -lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.7.0: +lodash@^4.0.1, lodash@^4.17.15, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.4, lodash@^4.17.5, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -11012,11 +12742,16 @@ make-error-cause@^2.2.0: dependencies: make-error "^1.3.5" -make-error@1.x, make-error@^1.1.1, make-error@^1.3.5: +make-error@1.x, make-error@^1.1.1, make-error@^1.3.5, make-error@^1.3.6: version "1.3.6" resolved "https://registry.yarnpkg.com/make-error/-/make-error-1.3.6.tgz#2eb2e37ea9b67c4891f684a1394799af484cf7a2" integrity sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw== +make-plural@^6.2.2: + version "6.2.2" + resolved "https://registry.yarnpkg.com/make-plural/-/make-plural-6.2.2.tgz#beb5fd751355e72660eeb2218bb98eec92853c6c" + integrity sha512-8iTuFioatnTTmb/YJjywkVIHLjcwkFD9Ms0JpxjEm9Mo8eQYkh1z+55dwv4yc1jQ8ftVBxWQbihvZL1DfzGGWA== + makeerror@1.0.12: version "1.0.12" resolved "https://registry.yarnpkg.com/makeerror/-/makeerror-1.0.12.tgz#3e5dd2079a82e812e983cc6610c4a2cb0eaa801a" @@ -11056,6 +12791,24 @@ marked@^4.0.16: resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.16.tgz#9ec18fc1a723032eb28666100344d9428cf7a264" integrity sha512-wahonIQ5Jnyatt2fn8KqF/nIqZM8mh3oRu2+l5EANGMhu6RFjiSG52QNE2eWzFMI94HqYSgN184NurgNG6CztA== +marked@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.3.0.tgz#796362821b019f734054582038b116481b456cf3" + integrity sha512-PRsaiG84bK+AMvxziE/lCFss8juXjNaWzVbN5tXAm4XjeaS9NAHhop+PjQxz2A9h8Q4M/xGmzP8vqNwy6JeK0A== + +match-sorter@^6.2.0, match-sorter@^6.3.1: + version "6.4.0" + resolved "https://registry.yarnpkg.com/match-sorter/-/match-sorter-6.4.0.tgz#ae9c166cb3c9efd337690b3160c0e28cb8377c13" + integrity sha512-d4664ahzdL1QTTvmK1iI0JsrxWeJ6gn33qkYtnPg3mcn+naBLtXSgSPOe+X2vUgtgGwaAk3eiaj7gwKjjMAq+Q== + dependencies: + "@babel/runtime" "^7.23.8" + remove-accents "0.5.0" + +material-colors@^1.2.1: + version "1.2.6" + resolved "https://registry.yarnpkg.com/material-colors/-/material-colors-1.2.6.tgz#6d1958871126992ceecc72f4bcc4d8f010865f46" + integrity sha512-6qE4B9deFBIa9YSpOc9O0Sgc43zTeVYbgDT5veRKSlB2+ZuHNoVVxA1L/ckMUayV9Ay9y7Z/SZCLcGteW9i7bg== + md5.js@^1.3.4: version "1.3.5" resolved "https://registry.yarnpkg.com/md5.js/-/md5.js-1.3.5.tgz#b5d07b8e3216e3e27cd728d72f70d1e6a342005f" @@ -11562,6 +13315,13 @@ mimic-fn@^4.0.0: resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-4.0.0.tgz#60a90550d5cb0b239cca65d893b1a53b29871ecc" integrity sha512-vqiC06CuhBTUdZH+RYl8sFrL096vA45Ok5ISO6sE/Mr1jRbGH4Csnhi8f3wKVl7x8mO4Au7Ir9D3Oyv1VYMFJw== +min-document@^2.19.0: + version "2.19.0" + resolved "https://registry.yarnpkg.com/min-document/-/min-document-2.19.0.tgz#7bd282e3f5842ed295bb748cdd9f1ffa2c824685" + integrity sha512-9Wy1B3m3f66bPPmU5hdA4DR4PB2OfDU/+GS3yAB7IQozE3tqXaVv2zOjgla7MEGSRv95+ILmOuvhLkOK6wJtCQ== + dependencies: + dom-walk "^0.1.0" + min-indent@^1.0.0, min-indent@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/min-indent/-/min-indent-1.0.1.tgz#a63f681673b30571fbe8bc25686ae746eefa9869" @@ -12095,11 +13855,30 @@ mui-rff@^6.1.2: date-fns "^2.25.0" yup "^0.32.11" +multishift@2.0.10: + version "2.0.10" + resolved "https://registry.yarnpkg.com/multishift/-/multishift-2.0.10.tgz#868dc1331888019791177c46a012ce9707c2896c" + integrity sha512-zXNW/JXDHsl9VYc4ch/qQmA7XsbS1G77IjDCL1x1Q651S16DZBGw4Gus5XFwbPoD14TYKE/OfhtaW2W/74q+PA== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core-helpers" "4.0.0" + "@remirror/core-types" "3.0.0" + "@seznam/compose-react-refs" "^1.0.6" + a11y-status "2.0.2" + compute-scroll-into-view "^1.0.20" + tiny-warning "^1.0.3" + w3c-keyname "^2.2.7" + nanoclone@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/nanoclone/-/nanoclone-0.2.1.tgz#dd4090f8f1a110d26bb32c49ed2f5b9235209ed4" integrity sha512-wynEP02LmIbLpcYw8uBKpcfF6dmg2vcpKqxeH5UcoKEYdExslsdUA4ugFauuaeYdTB76ez6gJW8XAZ6CgkXYxA== +nanoevents@^5.1.13: + version "5.1.13" + resolved "https://registry.yarnpkg.com/nanoevents/-/nanoevents-5.1.13.tgz#0e49c30acbcf847c10f29f1d1e7147c0f88fa3d1" + integrity sha512-JFAeG9fp0QZnRoESHjkbVFbZ9BkOXkkagUVwZVo/pkSX+Fq1VKlY+5og/8X9CYc6C7vje/CV+bwJ5M2X0+IY9Q== + nanoid@^3.3.6, nanoid@^3.3.7: version "3.3.7" resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-3.3.7.tgz#d0c301a691bc8d54efa0a2226ccf3fe2fd656bd8" @@ -12256,6 +14035,11 @@ node-releases@^2.0.14: resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.14.tgz#2ffb053bceb8b2be8495ece1ab6ce600c4461b0b" integrity sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw== +node-releases@^2.0.19: + version "2.0.19" + resolved "https://registry.yarnpkg.com/node-releases/-/node-releases-2.0.19.tgz#9e445a52950951ec4d177d843af370b411caf314" + integrity sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw== + node-xlsx@^0.21.0: version "0.21.0" resolved "https://registry.yarnpkg.com/node-xlsx/-/node-xlsx-0.21.0.tgz#085d69869d7fa7ed1e6d2a13eee6aa6dce7867a1" @@ -12324,6 +14108,11 @@ nth-check@^2.0.1: dependencies: boolbase "^1.0.0" +number-is-nan@^1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/number-is-nan/-/number-is-nan-1.0.1.tgz#097b602b53422a522c1afb8790318336941a011d" + integrity sha512-4jbtZXNAsfZbAHiiqjLPBiCl16dES1zI4Hpzzxw61Tk+loF+sBDBKx1ICKKKwIqQ7M0mFn1TmkN7euSncWgHiQ== + nwsapi@^2.2.0: version "2.2.0" resolved "https://registry.yarnpkg.com/nwsapi/-/nwsapi-2.2.0.tgz#204879a9e3d068ff2a55139c2c772780681a38b7" @@ -12450,6 +14239,20 @@ object.hasown@^1.1.2: define-properties "^1.2.0" es-abstract "^1.22.1" +object.omit@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/object.omit/-/object.omit-3.0.0.tgz#0e3edc2fce2ba54df5577ff529f6d97bd8a522af" + integrity sha512-EO+BCv6LJfu+gBIF3ggLicFebFLN5zqzz/WWJlMFfkMyGth+oBkhxzDl0wx2W4GkLzuQs/FsSkXZb2IMWQqmBQ== + dependencies: + is-extendable "^1.0.0" + +object.pick@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/object.pick/-/object.pick-1.3.0.tgz#87a10ac4c1694bd2e1cbf53591a66141fb5dd747" + integrity sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ== + dependencies: + isobject "^3.0.1" + object.values@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" @@ -12575,6 +14378,11 @@ ora@^5.4.1: strip-ansi "^6.0.0" wcwidth "^1.0.1" +orderedmap@^2.0.0: + version "2.1.1" + resolved "https://registry.yarnpkg.com/orderedmap/-/orderedmap-2.1.1.tgz#61481269c44031c449915497bf5a4ad273c512d2" + integrity sha512-TvAWxi0nDe1j/rtMcWcIj94+Ffe6n7zhow33h40SKxmsmozs6dz/e+EajymfoFcHd7sxNn8yHM8839uixMOV6g== + os-browserify@^0.3.0: version "0.3.0" resolved "https://registry.yarnpkg.com/os-browserify/-/os-browserify-0.3.0.tgz#854373c7f5c2315914fc9bfc6bd8238fdda1ec27" @@ -12676,6 +14484,11 @@ parent-module@^1.0.0: dependencies: callsites "^3.0.0" +parenthesis@^3.1.8: + version "3.1.8" + resolved "https://registry.yarnpkg.com/parenthesis/-/parenthesis-3.1.8.tgz#3457fccb8f05db27572b841dad9d2630b912f125" + integrity sha512-KF/U8tk54BgQewkJPvB4s/US3VQY68BRDpH638+7O/n58TpnwiwnOtGIOsT2/i+M78s61BBpeC83STB88d8sqw== + parse-asn1@^5.0.0, parse-asn1@^5.1.5: version "5.1.6" resolved "https://registry.yarnpkg.com/parse-asn1/-/parse-asn1-5.1.6.tgz#385080a3ec13cb62a62d39409cb3e88844cdaed4" @@ -12687,6 +14500,23 @@ parse-asn1@^5.0.0, parse-asn1@^5.1.5: pbkdf2 "^3.0.3" safe-buffer "^5.1.1" +parse-entities@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/parse-entities/-/parse-entities-2.0.0.tgz#53c6eb5b9314a1f4ec99fa0fdf7ce01ecda0cbe8" + integrity sha512-kkywGpCcRYhqQIchaWqZ875wzpS/bMKhz5HnN3p7wveJTkTtyAB/AlnS0f8DFSqYW1T82t6yEAkEcB+A1I3MbQ== + dependencies: + character-entities "^1.0.0" + character-entities-legacy "^1.0.0" + character-reference-invalid "^1.0.0" + is-alphanumerical "^1.0.0" + is-decimal "^1.0.0" + is-hexadecimal "^1.0.0" + +parse-exponential@~1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/parse-exponential/-/parse-exponential-1.0.1.tgz#ddf8181c454a9a4b131765381efa43f5c1c61019" + integrity sha512-QUa7PaOc7O6ei3hb0NmADJGrDYLbPBdcSKFUBGfwlMdHsrg8LOsliPEkpP0qHSKQOyzyyxCB00fxJKcP75Gl7w== + parse-json@^5.0.0, parse-json@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/parse-json/-/parse-json-5.2.0.tgz#c76fc66dee54231c962b22bcc8a72cf2f99753cd" @@ -12841,6 +14671,11 @@ picocolors@^1.0.1: resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== +picocolors@^1.1.1: + version "1.1.1" + resolved "https://registry.yarnpkg.com/picocolors/-/picocolors-1.1.1.tgz#3d321af3eab939b083c8f929a1d12cda81c26b6b" + integrity sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA== + picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: version "2.3.0" resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" @@ -13042,6 +14877,14 @@ postcss@^8.2.14, postcss@^8.4.33, postcss@^8.4.38: picocolors "^1.0.0" source-map-js "^1.2.0" +precision@~1.0.0: + version "1.0.1" + resolved "https://registry.yarnpkg.com/precision/-/precision-1.0.1.tgz#5cf489b9d4a114700d300479cb8b9d85a502cfe8" + integrity sha512-cBMxnM2nzEF1xx75NhhOaKjsDNt92WUZv17t/p3wrvCfA+2RL0twbgfvXvgDbxxsfUUb5C5he5tla8Xa2ny1Ew== + dependencies: + is-finite "~1.0.1" + parse-exponential "~1.0.1" + prelude-ls@^1.2.1: version "1.2.1" resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.2.1.tgz#debc6489d7a6e6b0e7611888cec880337d316396" @@ -13052,7 +14895,8 @@ prelude-ls@~1.1.2: resolved "https://registry.yarnpkg.com/prelude-ls/-/prelude-ls-1.1.2.tgz#21932a549f5e52ffd9a827f570e04be62a97da54" integrity sha1-IZMqVJ9eUv/ZqCf1cOBL5iqX2lQ= -"prettier-fallback@npm:prettier@^3": +"prettier-fallback@npm:prettier@^3", prettier@^3.1.1: + name prettier-fallback version "3.3.2" resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== @@ -13062,11 +14906,6 @@ prettier@^2.5.1: resolved "https://registry.yarnpkg.com/prettier/-/prettier-2.5.1.tgz#fff75fa9d519c54cf0fce328c1017d94546bc56a" integrity sha512-vBZcPRUR5MZJwoyi3ZoyQlc1rXeEck8KgeC9AwwOn+exuxLxq5toTRDTSaVrXHxelDMHy9zlicw8u66yxoSUFg== -prettier@^3.1.1: - version "3.3.2" - resolved "https://registry.yarnpkg.com/prettier/-/prettier-3.3.2.tgz#03ff86dc7c835f2d2559ee76876a3914cec4a90a" - integrity sha512-rAVeHYMcv8ATV5d508CFdn+8/pHPpXeIid1DdrPwXnaAdH7cqjVbpJaT5eq4yRAFU/lsbwYwSF/n5iNrdJHPQA== - pretty-error@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/pretty-error/-/pretty-error-4.0.0.tgz#90a703f46dd7234adb46d0f84823e9d1cb8f10d6" @@ -13104,6 +14943,11 @@ printj@~1.1.0: resolved "https://registry.yarnpkg.com/printj/-/printj-1.1.2.tgz#d90deb2975a8b9f600fb3a1c94e3f4c53c78a222" integrity sha512-zA2SmoLaxZyArQTOPj5LXecR+RagfPSU5Kw1qP+jkWeNlrq+eJZyY2oS68SU1Z/7/myXM4lo9716laOFAVStCQ== +prismjs@~1.27.0: + version "1.27.0" + resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.27.0.tgz#bb6ee3138a0b438a3653dd4d6ce0cc6510a45057" + integrity sha512-t13BGPUlFDR7wRB5kQDG4jjl7XeuH6jbJGt11JHPL96qwsEHNX2+68tFXqc1/k+/jALsbSWJKUOT/hcYAZ5LkA== + process-nextick-args@~2.0.0: version "2.0.1" resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" @@ -13122,6 +14966,15 @@ prompts@^2.0.1, prompts@^2.4.0: kleur "^3.0.3" sisteransi "^1.0.5" +prop-types@^15.5.10, prop-types@^15.7.1, prop-types@^15.8.1: + version "15.8.1" + resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" + integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== + dependencies: + loose-envify "^1.4.0" + object-assign "^4.1.1" + react-is "^16.13.1" + prop-types@^15.6.2, prop-types@^15.7.2: version "15.7.2" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.7.2.tgz#52c41e75b8c87e72b9d9360e0206b99dcbffa6c5" @@ -13131,20 +14984,171 @@ prop-types@^15.6.2, prop-types@^15.7.2: object-assign "^4.1.1" react-is "^16.8.1" -prop-types@^15.7.1, prop-types@^15.8.1: - version "15.8.1" - resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" - integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== - dependencies: - loose-envify "^1.4.0" - object-assign "^4.1.1" - react-is "^16.13.1" - property-expr@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/property-expr/-/property-expr-2.0.4.tgz#37b925478e58965031bb612ec5b3260f8241e910" integrity sha512-sFPkHQjVKheDNnPvotjQmm3KD3uk1fWKUN7CrpdbwmUx3CrG3QiM8QpTSimvig5vTXmTvjz7+TDvXOI9+4rkcg== +property-information@^5.0.0: + version "5.6.0" + resolved "https://registry.yarnpkg.com/property-information/-/property-information-5.6.0.tgz#61675545fb23002f245c6540ec46077d4da3ed69" + integrity sha512-YUHSPk+A30YPv+0Qf8i9Mbfe/C0hdPXk1s1jPVToV8pk8BQtpw10ct89Eo7OWkutrwqvT0eicAxlOg3dOAu8JA== + dependencies: + xtend "^4.0.0" + +prosemirror-collab@^1.3.1: + version "1.3.1" + resolved "https://registry.yarnpkg.com/prosemirror-collab/-/prosemirror-collab-1.3.1.tgz#0e8c91e76e009b53457eb3b3051fb68dad029a33" + integrity sha512-4SnynYR9TTYaQVXd/ieUvsVV4PDMBzrq2xPUWutHivDuOshZXqQ5rGbZM84HEaXKbLdItse7weMGOUdDVcLKEQ== + dependencies: + prosemirror-state "^1.0.0" + +prosemirror-commands@^1.5.2: + version "1.6.2" + resolved "https://registry.yarnpkg.com/prosemirror-commands/-/prosemirror-commands-1.6.2.tgz#d9cf6654912442cff47daa1677eb43ebd0b1f117" + integrity sha512-0nDHH++qcf/BuPLYvmqZTUUsPJUCPBUXt0J1ErTcDIS369CTp773itzLGIgIXG4LJXOlwYCr44+Mh4ii6MP1QA== + dependencies: + prosemirror-model "^1.0.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.10.2" + +prosemirror-dropcursor@^1.8.1: + version "1.8.1" + resolved "https://registry.yarnpkg.com/prosemirror-dropcursor/-/prosemirror-dropcursor-1.8.1.tgz#49b9fb2f583e0d0f4021ff87db825faa2be2832d" + integrity sha512-M30WJdJZLyXHi3N8vxN6Zh5O8ZBbQCz0gURTfPmTIBNQ5pxrdU7A58QkNqfa98YEjSAL1HUyyU34f6Pm5xBSGw== + dependencies: + prosemirror-state "^1.0.0" + prosemirror-transform "^1.1.0" + prosemirror-view "^1.1.0" + +prosemirror-gapcursor@^1.3.2: + version "1.3.2" + resolved "https://registry.yarnpkg.com/prosemirror-gapcursor/-/prosemirror-gapcursor-1.3.2.tgz#5fa336b83789c6199a7341c9493587e249215cb4" + integrity sha512-wtjswVBd2vaQRrnYZaBCbyDqr232Ed4p2QPtRIUK5FuqHYKGWkEwl08oQM4Tw7DOR0FsasARV5uJFvMZWxdNxQ== + dependencies: + prosemirror-keymap "^1.0.0" + prosemirror-model "^1.0.0" + prosemirror-state "^1.0.0" + prosemirror-view "^1.0.0" + +prosemirror-history@^1.4.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/prosemirror-history/-/prosemirror-history-1.4.1.tgz#cc370a46fb629e83a33946a0e12612e934ab8b98" + integrity sha512-2JZD8z2JviJrboD9cPuX/Sv/1ChFng+xh2tChQ2X4bB2HeK+rra/bmJ3xGntCcjhOqIzSDG6Id7e8RJ9QPXLEQ== + 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.4.0" + resolved "https://registry.yarnpkg.com/prosemirror-inputrules/-/prosemirror-inputrules-1.4.0.tgz#ef1519bb2cb0d1e0cec74bad1a97f1c1555068bb" + integrity sha512-6ygpPRuTJ2lcOXs9JkefieMst63wVJBgHZGl5QOytN7oSZs3Co/BYbc3Yx9zm9H37Bxw8kVzCnDsihsVsL4yEg== + dependencies: + prosemirror-state "^1.0.0" + prosemirror-transform "^1.0.0" + +prosemirror-keymap@^1.0.0, prosemirror-keymap@^1.2.2: + version "1.2.2" + resolved "https://registry.yarnpkg.com/prosemirror-keymap/-/prosemirror-keymap-1.2.2.tgz#14a54763a29c7b2704f561088ccf3384d14eb77e" + integrity sha512-EAlXoksqC6Vbocqc0GtzCruZEzYgrn+iiGnNjsJsH4mrnIGex4qbLdWWNza3AW5W36ZRrlBID0eM6bdKH4OStQ== + dependencies: + prosemirror-state "^1.0.0" + w3c-keyname "^2.2.0" + +prosemirror-model@^1.0.0, prosemirror-model@^1.20.0, prosemirror-model@^1.21.0, prosemirror-model@^1.22.1, prosemirror-model@^1.24.1: + version "1.24.1" + resolved "https://registry.yarnpkg.com/prosemirror-model/-/prosemirror-model-1.24.1.tgz#b445e4f9b9cfc8c1a699215057b506842ebff1a9" + integrity sha512-YM053N+vTThzlWJ/AtPtF1j0ebO36nvbmDy4U7qA2XQB8JVaQp1FmB9Jhrps8s+z+uxhhVTny4m20ptUvhk0Mg== + dependencies: + orderedmap "^2.0.0" + +prosemirror-paste-rules@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/prosemirror-paste-rules/-/prosemirror-paste-rules-3.0.0.tgz#001fed41d33e1e42e50c0945ce534519463aedce" + integrity sha512-p2ayp2xtSTtDPZutoxZyK6UKJhJk0hEpIfdfVYfd3DSENE1Lyrcg96pju+ClgwXlTjPUykXx5DrsfRbHCY+gGQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core-constants" "3.0.0" + "@remirror/core-helpers" "4.0.0" + escape-string-regexp "^4.0.0" + +prosemirror-resizable-view@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/prosemirror-resizable-view/-/prosemirror-resizable-view-3.0.0.tgz#75cceff515f4a8fca9a620d86511205bf9045ac1" + integrity sha512-xIy2fU7B7z46oH8zW6aC0i4EhwieuW1HtWwwSJ8PB3dDq/AJGR7EBce+1Jn/Fmeu1zPd5CWoCJbvAlEs8cQV4A== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core-helpers" "4.0.0" + "@remirror/core-utils" "3.0.0" + prosemirror-model "^1.22.1" + prosemirror-view "^1.33.8" + +prosemirror-schema-list@^1.4.1: + version "1.5.0" + resolved "https://registry.yarnpkg.com/prosemirror-schema-list/-/prosemirror-schema-list-1.5.0.tgz#f05ddbe2e71efc9157a0dbedf80761c08bda5192" + integrity sha512-gg1tAfH1sqpECdhIHOA/aLg2VH3ROKBWQ4m8Qp9mBKrOxQRW61zc+gMCI8nh22gnBzd1t2u1/NPLmO3nAa3ssg== + 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: + version "1.4.3" + resolved "https://registry.yarnpkg.com/prosemirror-state/-/prosemirror-state-1.4.3.tgz#94aecf3ffd54ec37e87aa7179d13508da181a080" + integrity sha512-goFKORVbvPuAQaXhpbemJFRKJ2aixr+AZMGiquiqKxaucC6hlpHNZHWgz5R7dS4roHiwq9vDctE//CZ++o0W1Q== + dependencies: + prosemirror-model "^1.0.0" + prosemirror-transform "^1.0.0" + prosemirror-view "^1.27.0" + +prosemirror-suggest@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/prosemirror-suggest/-/prosemirror-suggest-3.0.0.tgz#3414dfbd0d319d4034efe50b01b23440673c8aff" + integrity sha512-cEYnJHOAnQ+ET7PKY1tY8SMSpyR2rQAuYfPEmVtet0V9exgHAeiaSEzyBcCSeLesxXJRIv8b9cofyqoqyMjlEw== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core-constants" "3.0.0" + "@remirror/core-helpers" "4.0.0" + "@remirror/types" "2.0.0" + escape-string-regexp "^4.0.0" + +prosemirror-tables@^1.3.7: + version "1.6.2" + resolved "https://registry.yarnpkg.com/prosemirror-tables/-/prosemirror-tables-1.6.2.tgz#cec9e9ac6ecf81d67147c19ab39125d56c8351ae" + integrity sha512-97dKocVLrEVTQjZ4GBLdrrMw7Gv3no8H8yMwf5IRM9OoHrzbWpcH5jJxYgNQIRCtdIqwDctT1HdMHrGTiwp1dQ== + dependencies: + prosemirror-keymap "^1.2.2" + prosemirror-model "^1.24.1" + prosemirror-state "^1.4.3" + prosemirror-transform "^1.10.2" + prosemirror-view "^1.37.1" + +prosemirror-trailing-node@3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/prosemirror-trailing-node/-/prosemirror-trailing-node-3.0.0.tgz#5bc223d4fc1e8d9145e4079ec77a932b54e19e04" + 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.7.3, prosemirror-transform@^1.9.0: + version "1.10.2" + resolved "https://registry.yarnpkg.com/prosemirror-transform/-/prosemirror-transform-1.10.2.tgz#8ebac4e305b586cd96595aa028118c9191bbf052" + integrity sha512-2iUq0wv2iRoJO/zj5mv8uDUriOHWzXRnOTVgCzSXnktS/2iQRa3UUQwVlkBlYZFtygw6Nh1+X4mGqoYBINn5KQ== + 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.33.8, prosemirror-view@^1.37.1: + version "1.37.1" + resolved "https://registry.yarnpkg.com/prosemirror-view/-/prosemirror-view-1.37.1.tgz#3ccd67cd3d831eb37a2505dd34151932462172fb" + integrity sha512-MEAnjOdXU1InxEmhjgmEzQAikaS6lF3hD64MveTPpjOGNTl87iRLA1HupC/DEV6YuK7m4Q9DHFNTjwIVtqz5NA== + dependencies: + prosemirror-model "^1.20.0" + prosemirror-state "^1.0.0" + prosemirror-transform "^1.1.0" + proto-list@~1.2.1: version "1.2.4" resolved "https://registry.yarnpkg.com/proto-list/-/proto-list-1.2.4.tgz#212d5bfe1318306a420f6402b8e26ff39647a849" @@ -13254,6 +15258,11 @@ querystring@^0.2.0: resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== +querystringify@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" + integrity sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ== + queue-microtask@^1.2.2: version "1.2.3" resolved "https://registry.yarnpkg.com/queue-microtask/-/queue-microtask-1.2.3.tgz#4929228bbc724dfac43e0efb058caf7b6cfb6243" @@ -13318,6 +15327,19 @@ raw-body@2.5.2: iconv-lite "0.4.24" unpipe "1.0.0" +react-color@^2.19.3: + version "2.19.3" + resolved "https://registry.yarnpkg.com/react-color/-/react-color-2.19.3.tgz#ec6c6b4568312a3c6a18420ab0472e146aa5683d" + integrity sha512-LEeGE/ZzNLIsFWa1TMe8y5VYqr7bibneWmvJwm1pCn/eNmrabWDh659JSPn9BuaMpEfU83WTOJfnCcjDZwNQTA== + dependencies: + "@icons/material" "^0.2.4" + lodash "^4.17.15" + lodash-es "^4.17.15" + material-colors "^1.2.1" + prop-types "^15.5.10" + reactcss "^1.2.0" + tinycolor2 "^1.4.1" + react-colorful@^5.1.2: version "5.5.1" resolved "https://registry.yarnpkg.com/react-colorful/-/react-colorful-5.5.1.tgz#29d9c4e496f2ca784dd2bb5053a3a4340cfaf784" @@ -13454,6 +15476,11 @@ react-is@^18.0.0, react-is@^18.2.0: resolved "https://registry.yarnpkg.com/react-is/-/react-is-18.2.0.tgz#199431eeaaa2e09f86427efbb4f1473edb47609b" integrity sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w== +react-is@^19.0.0: + version "19.0.0" + resolved "https://registry.yarnpkg.com/react-is/-/react-is-19.0.0.tgz#d6669fd389ff022a9684f708cf6fa4962d1fea7a" + integrity sha512-H91OHcwjZsbq3ClIDHMzBShc1rotbfACdWENsmEf0IFvZ3FgGPtdHMcsv45bQ1hAbgdfiA8SnxTKfDS+x/8m2g== + react-leaflet@^4.2.1: version "4.2.1" resolved "https://registry.yarnpkg.com/react-leaflet/-/react-leaflet-4.2.1.tgz#c300e9eccaf15cb40757552e181200aa10b94780" @@ -13535,6 +15562,13 @@ react@18.3.0-canary-763612647-20240126: dependencies: loose-envify "^1.1.0" +reactcss@^1.2.0: + version "1.2.3" + resolved "https://registry.yarnpkg.com/reactcss/-/reactcss-1.2.3.tgz#c00013875e557b1cf0dfd9a368a1c3dab3b548dd" + integrity sha512-KiwVUcFu1RErkI97ywr8nvx8dNOpT03rbnma0SSalTYjkrPYaEajR4a/MRt6DZ46K6arDRbWMNHF+xH7G7n/8A== + dependencies: + lodash "^4.0.1" + read-pkg-up@^7.0.1: version "7.0.1" resolved "https://registry.yarnpkg.com/read-pkg-up/-/read-pkg-up-7.0.1.tgz#f3a6135758459733ae2b95638056e1854e7ef507" @@ -13646,6 +15680,15 @@ reflect.getprototypeof@^1.0.4: globalthis "^1.0.3" which-builtin-type "^1.1.3" +refractor@^3.6.0: + version "3.6.0" + resolved "https://registry.yarnpkg.com/refractor/-/refractor-3.6.0.tgz#ac318f5a0715ead790fcfb0c71f4dd83d977935a" + integrity sha512-MY9W41IOWxxk31o+YvFCNyNzdkc9M20NoZK5vq6jkv4I/uh2zkWcfudj0Q1fovjUQJrNewS9NMzeTtqPf+n5EA== + dependencies: + hastscript "^6.0.0" + parse-entities "^2.0.0" + prismjs "~1.27.0" + regenerate-unicode-properties@^10.1.0: version "10.1.1" resolved "https://registry.yarnpkg.com/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" @@ -13771,6 +15814,79 @@ remark-slate@^1.8.6: "@types/escape-html" "^1.0.0" escape-html "^1.0.3" +remirror@3.0.1, remirror@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/remirror/-/remirror-3.0.1.tgz#66635256c06692c570e04e38a23c69fa2e3b5f58" + integrity sha512-9pGzRDZmI8Pwc0uUX1fkD8khqA8VoGClSGtVO/7Rz2r5ILcwOkFIbHN9LdjfEADTqQEcVcTQIIOgemnZvV00zQ== + dependencies: + "@babel/runtime" "^7.22.3" + "@remirror/core" "3.0.1" + "@remirror/core-constants" "3.0.0" + "@remirror/core-helpers" "4.0.0" + "@remirror/core-types" "3.0.0" + "@remirror/core-utils" "3.0.0" + "@remirror/dom" "3.0.1" + "@remirror/extension-annotation" "3.0.1" + "@remirror/extension-bidi" "3.0.1" + "@remirror/extension-blockquote" "3.0.1" + "@remirror/extension-bold" "3.0.1" + "@remirror/extension-callout" "3.0.1" + "@remirror/extension-code" "3.0.1" + "@remirror/extension-code-block" "3.0.1" + "@remirror/extension-collaboration" "3.0.1" + "@remirror/extension-columns" "3.0.1" + "@remirror/extension-diff" "3.0.1" + "@remirror/extension-doc" "3.0.1" + "@remirror/extension-drop-cursor" "3.0.1" + "@remirror/extension-embed" "3.0.1" + "@remirror/extension-emoji" "3.0.1" + "@remirror/extension-entity-reference" "3.0.1" + "@remirror/extension-epic-mode" "3.0.1" + "@remirror/extension-events" "3.0.1" + "@remirror/extension-find" "1.0.1" + "@remirror/extension-font-family" "3.0.1" + "@remirror/extension-font-size" "3.0.1" + "@remirror/extension-gap-cursor" "3.0.1" + "@remirror/extension-hard-break" "3.0.1" + "@remirror/extension-heading" "3.0.1" + "@remirror/extension-history" "3.0.1" + "@remirror/extension-horizontal-rule" "3.0.1" + "@remirror/extension-image" "3.0.1" + "@remirror/extension-italic" "3.0.1" + "@remirror/extension-link" "3.0.1" + "@remirror/extension-list" "3.0.1" + "@remirror/extension-markdown" "3.0.1" + "@remirror/extension-mention" "3.0.1" + "@remirror/extension-mention-atom" "3.0.1" + "@remirror/extension-node-formatting" "3.0.1" + "@remirror/extension-paragraph" "3.0.1" + "@remirror/extension-placeholder" "3.0.1" + "@remirror/extension-positioner" "3.0.1" + "@remirror/extension-shortcuts" "3.0.1" + "@remirror/extension-strike" "3.0.1" + "@remirror/extension-sub" "3.0.1" + "@remirror/extension-sup" "3.0.1" + "@remirror/extension-tables" "3.0.1" + "@remirror/extension-text" "3.0.1" + "@remirror/extension-text-case" "3.0.1" + "@remirror/extension-text-color" "3.0.1" + "@remirror/extension-text-highlight" "3.0.1" + "@remirror/extension-trailing-node" "3.0.1" + "@remirror/extension-underline" "3.0.1" + "@remirror/extension-whitespace" "3.0.1" + "@remirror/icons" "3.0.0" + "@remirror/preset-core" "3.0.1" + "@remirror/preset-formatting" "3.0.1" + "@remirror/preset-wysiwyg" "3.0.1" + "@remirror/theme" "3.0.0" + "@types/refractor" "^3.0.2" + refractor "^3.6.0" + +remove-accents@0.5.0: + version "0.5.0" + resolved "https://registry.yarnpkg.com/remove-accents/-/remove-accents-0.5.0.tgz#77991f37ba212afba162e375b627631315bed687" + integrity sha512-8g3/Otx1eJaVD12e31UbJj1YzdtVvzH85HV7t+9MJYk/u3XmkOUJ5Ys9wQrf9PCPK8+xn4ymzqYCiZl6QWKn+A== + renderkid@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/renderkid/-/renderkid-3.0.0.tgz#5fd823e4d6951d37358ecc9a58b1f06836b6268a" @@ -13812,6 +15928,11 @@ reselect@^4.1.8: resolved "https://registry.yarnpkg.com/reselect/-/reselect-4.1.8.tgz#3f5dc671ea168dccdeb3e141236f69f02eaec524" integrity sha512-ab9EmR80F/zQTMNeneUr4cv+jSwPJgIlvEmVwLerwrWVbpLlBuls9XHzIeTFy4cegU2NHBp3va0LKOzU5qFEYQ== +resize-observer-polyfill@^1.5.1: + version "1.5.1" + resolved "https://registry.yarnpkg.com/resize-observer-polyfill/-/resize-observer-polyfill-1.5.1.tgz#0e9020dd3d21024458d4ebd27e23e40269810464" + integrity sha512-LwZrotdHOo12nQuZlHEmtuXdqGoOD0OhaxopaNFxWzInpEgaLWoVuAMbTzixuosCx2nEG58ngzW3vxdWoxIgdg== + resolve-cwd@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/resolve-cwd/-/resolve-cwd-3.0.0.tgz#0f0075f1bb2544766cf73ba6a6e2adfebcb13f2d" @@ -13928,6 +16049,27 @@ ripemd160@^2.0.0, ripemd160@^2.0.1: hash-base "^3.0.0" inherits "^2.0.1" +rope-sequence@^1.3.0: + version "1.3.4" + resolved "https://registry.yarnpkg.com/rope-sequence/-/rope-sequence-1.3.4.tgz#df85711aaecd32f1e756f76e43a415171235d425" + integrity sha512-UT5EDe2cu2E/6O4igUr5PSFs23nvvukicWHx6GnOPlHAiiYbzNuCRQCuiUdHJQcqKalLKlrYJnjY0ySGsXNQXQ== + +round-precision@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/round-precision/-/round-precision-1.0.0.tgz#f5a2beb7ed59e6fe85312fbf553769102ea8f64f" + integrity sha512-L2a0XDSNeaaBTEGmzuENMK4T8c0HqKYeS3pCDurW4MRPo8O6LeCLqVPWUt5+xW9rrEcG9QaYrAFcApEFXKziyw== + dependencies: + is-finite "~1.0.1" + is-integer "~1.0.4" + +round@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/round/-/round-2.0.1.tgz#ec1bbb87cb1cab9ff2c81b7c43c84a5d1ed97e65" + integrity sha512-wzT6PF3wNEd2PCLTBQxteheeSwViBrD89E1XZjl4sj505C4LwTpqOQSNXLEROHDQw35NoylYbMxoUhgf2hb4qw== + dependencies: + precision "~1.0.0" + round-precision "~1.0.0" + run-parallel@^1.1.9: version "1.2.0" resolved "https://registry.yarnpkg.com/run-parallel/-/run-parallel-1.2.0.tgz#66d1368da7bdf921eb9d95bd1a9229e7f21a43ee" @@ -13942,6 +16084,11 @@ sade@^1.7.3: dependencies: mri "^1.1.0" +safari-14-idb-fix@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/safari-14-idb-fix/-/safari-14-idb-fix-1.0.6.tgz#cbaabc33a4500c44b5c432d6c525b0ed9b68bb65" + integrity sha512-oTEQOdMwRX+uCtWCKT1nx2gAeSdpr8elg/2gcaKUH00SJU2xWESfkx11nmXwTRHy7xfQoj1o4TTQvdmuBosTnA== + safe-array-concat@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/safe-array-concat/-/safe-array-concat-1.1.0.tgz#8d0cae9cb806d6d1c06e08ab13d847293ebe0692" @@ -14400,6 +16547,11 @@ source-map@^0.7.3, source-map@~0.7.2: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== +space-separated-tokens@^1.0.0: + version "1.1.5" + resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-1.1.5.tgz#85f32c3d10d9682007e917414ddc5c26d1aa6899" + integrity sha512-q/JSVd1Lptzhf5bkYm4ob4iWPjx0KiRe3sRFBNrVqbJkFaBm5vbbowy1mymoPNLRa52+oadOhJ+K49wsSeSjTA== + space-separated-tokens@^2.0.0: version "2.0.2" resolved "https://registry.yarnpkg.com/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz#1ecd9d2350a3844572c3f4a312bceb018348859f" @@ -14527,16 +16679,7 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -"string-width-cjs@npm:string-width@^4.2.0": - version "4.2.3" - resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" - integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== - dependencies: - emoji-regex "^8.0.0" - is-fullwidth-code-point "^3.0.0" - strip-ansi "^6.0.1" - -string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: +"string-width-cjs@npm:string-width@^4.2.0", string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -14640,14 +16783,7 @@ string_decoder@~1.1.1: dependencies: safe-buffer "~5.1.0" -"strip-ansi-cjs@npm:strip-ansi@^6.0.1": - version "6.0.1" - resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" - integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== - dependencies: - ansi-regex "^5.0.1" - -strip-ansi@^6.0.0, strip-ansi@^6.0.1: +"strip-ansi-cjs@npm:strip-ansi@^6.0.1", strip-ansi@^6.0.0, strip-ansi@^6.0.1: version "6.0.1" resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.1.tgz#9e26c63d30f53443e9489495b2105d37b67a85d9" integrity sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A== @@ -14756,11 +16892,28 @@ supports-preserve-symlinks-flag@^1.0.0: resolved "https://registry.yarnpkg.com/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz#6eda4bd344a3c94aea376d4cc31bc77311039e09" integrity sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w== +svgmoji@^3.2.0: + version "3.2.0" + resolved "https://registry.yarnpkg.com/svgmoji/-/svgmoji-3.2.0.tgz#2214f4930e76e82c33bae23139c85b3973610b32" + integrity sha512-tjmdQhIju2ZQ81FLBlPngg1aWMOhQjP9ErXb2ROikM0aBGA/hqI0/DN/5J0sDsXzJPHmODpSFhWfiSsUieU3bA== + dependencies: + "@babel/runtime" "^7.12.5" + "@svgmoji/blob" "^3.2.0" + "@svgmoji/core" "^3.2.0" + "@svgmoji/noto" "^3.2.0" + "@svgmoji/openmoji" "^3.2.0" + "@svgmoji/twemoji" "^3.2.0" + symbol-tree@^3.2.4: version "3.2.4" resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== +tabbable@^6.0.1: + version "6.2.0" + resolved "https://registry.yarnpkg.com/tabbable/-/tabbable-6.2.0.tgz#732fb62bc0175cfcec257330be187dcfba1f3b97" + integrity sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew== + tapable@^2.0.0, tapable@^2.1.1, tapable@^2.2.0, tapable@^2.2.1: version "2.2.1" resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" @@ -14886,6 +17039,11 @@ throat@^6.0.1: resolved "https://registry.yarnpkg.com/throat/-/throat-6.0.1.tgz#d514fedad95740c12c2d7fc70ea863eb51ade375" integrity sha512-8hmiGIJMDlwjg7dlJ4yKGLK8EsYqKgPWbG3b4wjJddKNwc7N7Dpn08Df4szr/sZdMVeOstrdYSsqzX6BYbcB+w== +throttle-debounce@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/throttle-debounce/-/throttle-debounce-3.0.1.tgz#32f94d84dfa894f786c9a1f290e7a645b6a19abb" + integrity sha512-dTEWWNu6JmeVXY0ZYoPuH5cRIwc0MeGbJwah9KUNYSJwommQpCzTySTpEe8Gs1J23aeWEuAobe4Ag7EHVt/LOg== + through2@^2.0.3: version "2.0.5" resolved "https://registry.yarnpkg.com/through2/-/through2-2.0.5.tgz#01c1e39eb31d07cb7d03a96a70823260b23132cd" @@ -14926,6 +17084,11 @@ tiny-warning@^1.0.2, tiny-warning@^1.0.3: resolved "https://registry.yarnpkg.com/tiny-warning/-/tiny-warning-1.0.3.tgz#94a30db453df4c643d0fd566060d60a875d84754" integrity sha512-lBN9zLN/oAf68o3zNXYrdCt1kP8WsiGW8Oo2ka41b2IM5JL/S1CTyX1rW0mb/zSuJun0ZUrDxx4sqvYS2FWzPA== +tinycolor2@^1.4.1: + version "1.6.0" + resolved "https://registry.yarnpkg.com/tinycolor2/-/tinycolor2-1.6.0.tgz#f98007460169b0263b97072c5ae92484ce02d09e" + integrity sha512-XPaBkWQJdsf3pLKJV9p4qN/S+fm2Oj8AIPo1BTUhg5oxkvm9+SVEGFdhyOz7tTdUTfvxMiAs4sp6/eZO2Ew+pw== + tinyspy@^2.2.0: version "2.2.1" resolved "https://registry.yarnpkg.com/tinyspy/-/tinyspy-2.2.1.tgz#117b2342f1f38a0dbdcc73a50a454883adf861d1" @@ -15173,6 +17336,18 @@ tty-browserify@^0.0.1: resolved "https://registry.yarnpkg.com/tty-browserify/-/tty-browserify-0.0.1.tgz#3f05251ee17904dfd0677546670db9651682b811" integrity sha512-C3TaO7K81YvjCgQH9Q1S3R3P3BtN3RIM8n+OvX4il1K1zgE8ZhI0op7kClgkxtutIE8hQrcrHBXvIheqKUUCxw== +turndown-plugin-gfm@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/turndown-plugin-gfm/-/turndown-plugin-gfm-1.0.2.tgz#6f8678a361f35220b2bdf5619e6049add75bf1c7" + integrity sha512-vwz9tfvF7XN/jE0dGoBei3FXWuvll78ohzCZQuOb+ZjWrs3a0XhQVomJEb2Qh4VHTPNRO4GPZh0V7VRbiWwkRg== + +turndown@^7.1.2: + version "7.2.0" + resolved "https://registry.yarnpkg.com/turndown/-/turndown-7.2.0.tgz#67d614fe8371fb511079a93345abfd156c0ffcf4" + integrity sha512-eCZGBN4nNNqM9Owkv9HAtWRYfLA4h909E/WGAWWBpmB275ehNhZyk87/Tpvjbp0jjNl9XwCsbe6bm6CqFsgD+A== + dependencies: + "@mixmark-io/domino" "^2.2.0" + type-check@^0.4.0, type-check@~0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/type-check/-/type-check-0.4.0.tgz#07b8203bfa7056c0657050e3ccd2c37730bab8f1" @@ -15212,7 +17387,7 @@ type-fest@^0.8.1: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d" integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA== -type-fest@^1.0.1: +type-fest@^1.0.1, type-fest@^1.2.0: version "1.4.0" resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-1.4.0.tgz#e9fb813fe3bf1744ec359d55d1affefa76f14be1" integrity sha512-yGSza74xk0UG8k+pLh5oeoYirvIiWo5t0/o3zHHAO2tRDiZcxWP7fywNlXhqb6/r6sWvwi+RsyQMWhVLe4BVuA== @@ -15222,6 +17397,11 @@ type-fest@^2.12.2, type-fest@^2.14.0, type-fest@^2.19.0, type-fest@~2.19: resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== +type-fest@^3.10.0: + version "3.13.1" + resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-3.13.1.tgz#bb744c1f0678bea7543a2d1ec24e83e68e8c8706" + integrity sha512-tLq3bSNx+xSpwvAJnzrK0Ep5CLNWjvFTOp71URMaAEWBfRb9nnJiBoUe0tF8bI4ZFO3omgBR6NvnbzVUT3Ly4g== + type-is@~1.6.17, type-is@~1.6.18: version "1.6.18" resolved "https://registry.yarnpkg.com/type-is/-/type-is-1.6.18.tgz#4e552cd05df09467dcbc4ef739de89f2cf37c131" @@ -15473,6 +17653,11 @@ unplugin@^1.3.1: webpack-sources "^3.2.3" webpack-virtual-modules "^0.6.1" +unraw@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/unraw/-/unraw-3.0.0.tgz#73443ed70d2ab09ccbac2b00525602d5991fbbe3" + integrity sha512-08/DA66UF65OlpUDIQtbJyrqTR0jTAlJ+jsnkQ4jxR7+K5g5YG1APZKQSMCE1vqqmD+2pv6+IdEjmopFatacvg== + untildify@^4.0.0: version "4.0.0" resolved "https://registry.yarnpkg.com/untildify/-/untildify-4.0.0.tgz#2bc947b953652487e4600949fb091e3ae8cd919b" @@ -15486,6 +17671,14 @@ update-browserslist-db@^1.0.16: escalade "^3.1.2" picocolors "^1.0.1" +update-browserslist-db@^1.1.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/update-browserslist-db/-/update-browserslist-db-1.1.2.tgz#97e9c96ab0ae7bcac08e9ae5151d26e6bc6b5580" + integrity sha512-PPypAm5qvlD7XMZC3BujecnaOxwhrtoFR+Dqkk5Aa/6DssiH0ibKoketaj9w8LP7Bont1rYeoV5plxD7RTEPRg== + dependencies: + escalade "^3.2.0" + picocolors "^1.1.1" + upper-case@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/upper-case/-/upper-case-1.1.3.tgz#f6b4501c2ec4cdd26ba78be7222961de77621598" @@ -15513,6 +17706,18 @@ use-callback-ref@^1.3.0: dependencies: tslib "^2.0.0" +use-isomorphic-layout-effect@^1.1.0, use-isomorphic-layout-effect@^1.1.2: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-isomorphic-layout-effect/-/use-isomorphic-layout-effect-1.2.0.tgz#afb292eb284c39219e8cb8d3d62d71999361a21d" + integrity sha512-q6ayo8DWoPZT0VdG4u3D3uxcgONP3Mevx2i2b0434cwWBoL+aelL1DzkXI6w3PhTZzUeR2kaVlZn70iCiseP6w== + +use-previous@^1.2.0: + version "1.2.0" + resolved "https://registry.yarnpkg.com/use-previous/-/use-previous-1.2.0.tgz#df7f0c6d5dc7c9e81650eb29c36575306a6898c0" + integrity sha512-tK7Ne779nqTKGeh0rsFvxnQcEqePFRYlM0rfmNy9JH+h+2ndja7P0017nda0Q1gkqfcOD//pKZbDyyLIUH2s+Q== + dependencies: + use-isomorphic-layout-effect "^1.1.0" + use-sidecar@^1.1.2: version "1.1.2" resolved "https://registry.yarnpkg.com/use-sidecar/-/use-sidecar-1.1.2.tgz#2f43126ba2d7d7e117aa5855e5d8f0276dfe73c2" @@ -15634,6 +17839,11 @@ w3c-hr-time@^1.0.2: dependencies: browser-process-hrtime "^1.0.0" +w3c-keyname@^2.2.0, w3c-keyname@^2.2.7: + version "2.2.8" + resolved "https://registry.yarnpkg.com/w3c-keyname/-/w3c-keyname-2.2.8.tgz#7b17c8c6883d4e8b86ac8aba79d39e880f8869c5" + integrity sha512-dpojBhNsCNN7T82Tm7k26A6G9ML3NkhDsnw9n/eoxSRlVBB4CEtIQ/KTCLI2Fwf3ataSXRhYFkQi3SlnFwPvPQ== + w3c-xmlserializer@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/w3c-xmlserializer/-/w3c-xmlserializer-2.0.0.tgz#3e7104a05b75146cc60f564380b7f683acf1020a" @@ -15929,16 +18139,7 @@ wordwrap@^1.0.0: resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus= -"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0": - version "7.0.0" - resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" - integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== - dependencies: - ansi-styles "^4.0.0" - string-width "^4.1.0" - strip-ansi "^6.0.0" - -wrap-ansi@^7.0.0: +"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0", wrap-ansi@^7.0.0: version "7.0.0" resolved "https://registry.yarnpkg.com/wrap-ansi/-/wrap-ansi-7.0.0.tgz#67e145cff510a6a6984bdf1152911d69d2eb9e43" integrity sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q== @@ -16047,7 +18248,7 @@ xmlchars@^2.2.0: resolved "https://registry.yarnpkg.com/xmlchars/-/xmlchars-2.2.0.tgz#060fe1bcb7f9c76fe2a17db86a9bc3ab894210cb" integrity sha512-JZnDKK8B0RCDw84FNdDAIpZK+JuJw+s7Lz8nksI7SIuU3UXJJslUthsi+uWBUYOwPFwW7W7PRLRfUKpxjtjFCw== -xtend@^4.0.2, xtend@~4.0.1: +xtend@^4.0.0, xtend@^4.0.2, xtend@~4.0.1: version "4.0.2" resolved "https://registry.yarnpkg.com/xtend/-/xtend-4.0.2.tgz#bb72779f5fa465186b1f438f674fa347fdb5db54" integrity sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==