From 5fd894ef3ba9f42019d6f904be015f518b4e6d8b Mon Sep 17 00:00:00 2001 From: William Hawker Date: Thu, 9 Nov 2023 16:19:57 +0000 Subject: [PATCH] fix(react-ui): language selector should be a component, not an extension --- .github/workflows/storybook.yml | 2 +- .size-limit.json | 19 - .../src/positioner-extension.ts | 1 + .../CHANGELOG.md | 99 ---- .../package.json | 96 ---- .../readme.md | 71 --- .../src/index.ts | 1 - .../src/language-select.tsx | 250 ---------- .../src/tsconfig.json | 44 -- .../src/menus/code-block-language-select.tsx | 190 ++++++++ .../remirror__react-ui/src/menus/index.ts | 1 + packages/remirror__styles/all.css | 73 +-- .../remirror__styles/extension-code-block.css | 71 +-- .../remirror__styles/extension-positioner.css | 2 +- packages/remirror__styles/src/dom.tsx | 73 +-- packages/remirror__styles/src/emotion.tsx | 73 +-- .../src/styled-components.tsx | 73 +-- .../src/extension-code-block-theme.ts | 67 +-- .../src/extension-positioner-theme.ts | 2 +- packages/storybook-react/package.json | 1 - packages/storybook-react/src/tsconfig.json | 3 - .../with-language-select.tsx | 17 +- .../storybook-react/stories/tsconfig.json | 3 - pnpm-lock.yaml | 449 ++++++++++++------ tsconfig.json | 3 - 25 files changed, 508 insertions(+), 1176 deletions(-) delete mode 100644 packages/remirror__extension-react-language-select/CHANGELOG.md delete mode 100644 packages/remirror__extension-react-language-select/package.json delete mode 100644 packages/remirror__extension-react-language-select/readme.md delete mode 100644 packages/remirror__extension-react-language-select/src/index.ts delete mode 100644 packages/remirror__extension-react-language-select/src/language-select.tsx delete mode 100644 packages/remirror__extension-react-language-select/src/tsconfig.json create mode 100644 packages/remirror__react-ui/src/menus/code-block-language-select.tsx diff --git a/.github/workflows/storybook.yml b/.github/workflows/storybook.yml index dfd078cab3..3d413bc4b3 100644 --- a/.github/workflows/storybook.yml +++ b/.github/workflows/storybook.yml @@ -7,7 +7,7 @@ on: pull_request: types: [opened, synchronize] branches: - - v1 + - v3 - main env: diff --git a/.size-limit.json b/.size-limit.json index 15b9ec61aa..5182ee852f 100644 --- a/.size-limit.json +++ b/.size-limit.json @@ -530,25 +530,6 @@ "running": false, "gzip": true }, - { - "name": "@remirror/extension-react-language-select", - "limit": "10 KB", - "path": "packages/remirror__extension-react-language-select/dist/remirror-extension-react-language-select.js", - "ignore": [ - "@remirror/pm", - "react", - "react-dom", - "@remirror/core", - "@remirror/core-utils", - "@remirror/extension-code-block", - "@remirror/extension-positioner", - "@remirror/react-components", - "@remirror/react-core", - "@remirror/react-hooks" - ], - "running": false, - "gzip": true - }, { "name": "@remirror/extension-react-ssr", "limit": "10 KB", diff --git a/packages/remirror__extension-positioner/src/positioner-extension.ts b/packages/remirror__extension-positioner/src/positioner-extension.ts index 55adeb3387..e3853d7e4b 100644 --- a/packages/remirror__extension-positioner/src/positioner-extension.ts +++ b/packages/remirror__extension-positioner/src/positioner-extension.ts @@ -176,6 +176,7 @@ export class PositionerExtension extends PlainExtension { private createElement() { const element = document.createElement('span'); element.dataset.id = POSITIONER_WIDGET_KEY; + element.classList.add(POSITIONER_WIDGET_KEY); element.setAttribute('role', 'presentation'); return element; diff --git a/packages/remirror__extension-react-language-select/CHANGELOG.md b/packages/remirror__extension-react-language-select/CHANGELOG.md deleted file mode 100644 index 0a9685d4a4..0000000000 --- a/packages/remirror__extension-react-language-select/CHANGELOG.md +++ /dev/null @@ -1,99 +0,0 @@ -# @remirror/extension-react-language-select - -## 1.0.0-beta.4 - -> 2023-11-08 - -### Patch Changes - -- 93f4ebdc2: Bump all packages to rebuild for browsers since 2017 -- Updated dependencies [93f4ebdc2] - - @remirror/extension-code-block@3.0.0-beta.4 - - @remirror/extension-positioner@3.0.0-beta.4 - - @remirror/react-components@3.0.0-beta.4 - - @remirror/react-hooks@3.0.0-beta.4 - - @remirror/core-utils@3.0.0-beta.2 - - @remirror/react-core@3.0.0-beta.4 - - @remirror/core@3.0.0-beta.4 - - @remirror/pm@3.0.0-beta.2 - -## 1.0.0-beta.3 - -> 2023-11-08 - -### Patch Changes - -- Updated dependencies [46e903ed9] - - @remirror/core@3.0.0-beta.3 - - @remirror/extension-code-block@3.0.0-beta.3 - - @remirror/extension-positioner@3.0.0-beta.3 - - @remirror/react-components@3.0.0-beta.3 - - @remirror/react-core@3.0.0-beta.3 - - @remirror/react-hooks@3.0.0-beta.3 - -## 1.0.0-beta.2 - -> 2023-11-07 - -### Patch Changes - -- Updated dependencies [47bda7aab] - - @remirror/core@3.0.0-beta.2 - - @remirror/extension-code-block@3.0.0-beta.2 - - @remirror/extension-positioner@3.0.0-beta.2 - - @remirror/react-components@3.0.0-beta.2 - - @remirror/react-core@3.0.0-beta.2 - - @remirror/react-hooks@3.0.0-beta.2 - -## 1.0.0-beta.1 - -> 2023-11-06 - -### Patch Changes - -- Updated dependencies [b1d683fdb] -- Updated dependencies [d3954076f] -- Updated dependencies [0e4abae1b] -- Updated dependencies [60a3796b0] - - @remirror/pm@3.0.0-beta.1 - - @remirror/core@3.0.0-beta.1 - - @remirror/react-components@3.0.0-beta.1 - - @remirror/core-utils@3.0.0-beta.1 - - @remirror/extension-code-block@3.0.0-beta.1 - - @remirror/extension-positioner@3.0.0-beta.1 - - @remirror/react-core@3.0.0-beta.1 - - @remirror/react-hooks@3.0.0-beta.1 - -## 1.0.0-beta.0 - -> 2023-10-06 - -### Major Changes - -- 8f5467ae6: Use ES [Stage-3 decorators](https://github.com/tc39/proposal-decorators) syntax. - -### Patch Changes - -- Updated dependencies [3f76519f3] -- Updated dependencies [8f5467ae6] - - @remirror/core-utils@3.0.0-beta.0 - - @remirror/core@3.0.0-beta.0 - - @remirror/react-components@3.0.0-beta.0 - - @remirror/react-core@3.0.0-beta.0 - - @remirror/react-hooks@3.0.0-beta.0 - - @remirror/extension-code-block@3.0.0-beta.0 - - @remirror/extension-positioner@3.0.0-beta.0 - - @remirror/pm@3.0.0-beta.0 - -## 0.1.0 - -> 2023-07-16 - -### Minor Changes - -- aace73396: Add code block language select component. - -### Patch Changes - -- Updated dependencies [aace73396] - - @remirror/extension-code-block@2.0.16 diff --git a/packages/remirror__extension-react-language-select/package.json b/packages/remirror__extension-react-language-select/package.json deleted file mode 100644 index a162d272b3..0000000000 --- a/packages/remirror__extension-react-language-select/package.json +++ /dev/null @@ -1,96 +0,0 @@ -{ - "name": "@remirror/extension-react-language-select", - "version": "1.0.0-beta.4", - "description": "A React floating language select dropdown component for the code block extension", - "keywords": [ - "remirror", - "ProseMirror", - "extension", - "code block", - "refractor", - "prism", - "editor", - "language select" - ], - "homepage": "https://github.com/remirror/remirror/tree/HEAD/packages/remirror__extension-react-language-select", - "repository": { - "type": "git", - "url": "https://github.com/remirror/remirror.git", - "directory": "packages/remirror__extension-react-language-select" - }, - "license": "MIT", - "contributors": [ - "marcoSven " - ], - "sideEffects": false, - "type": "module", - "exports": { - ".": { - "types": "./dist-types/index.d.ts", - "import": "./dist/remirror-extension-react-language-select.js", - "require": "./dist/remirror-extension-react-language-select.cjs" - }, - "./package.json": "./package.json" - }, - "main": "./dist/remirror-extension-react-language-select.cjs", - "module": "./dist/remirror-extension-react-language-select.js", - "types": "./dist-types/index.d.ts", - "files": [ - "dist", - "dist-types" - ], - "scripts": { - "build": "remirror-cli build" - }, - "dependencies": { - "@babel/runtime": "^7.22.3", - "@remirror/core": "3.0.0-beta.4", - "@remirror/core-utils": "3.0.0-beta.2", - "@remirror/extension-code-block": "3.0.0-beta.4", - "@remirror/extension-positioner": "3.0.0-beta.4", - "@remirror/react-components": "3.0.0-beta.4", - "@remirror/react-core": "3.0.0-beta.4", - "@remirror/react-hooks": "3.0.0-beta.4", - "lodash.memoize": "^4.1.2" - }, - "devDependencies": { - "@remirror/cli": "1.0.1", - "@remirror/pm": "3.0.0-beta.2", - "@types/lodash.memoize": "^4.1.7", - "@types/react": "^18.2.0", - "@types/react-dom": "^18.2.0", - "react": "^18.2.0", - "react-dom": "^18.2.0" - }, - "peerDependencies": { - "@remirror/pm": "^3.0.0-beta.2", - "react": "^16.14.0 || ^17 || ^18", - "react-dom": "^16.14.0 || ^17 || ^18" - }, - "peerDependenciesMeta": { - "react": { - "optional": true - }, - "react-dom": { - "optional": true - } - }, - "publishConfig": { - "access": "public", - "exports": { - ".": { - "types": "./dist/remirror-extension-react-language-select.d.ts", - "import": "./dist/remirror-extension-react-language-select.js", - "require": "./dist/remirror-extension-react-language-select.cjs" - }, - "./package.json": "./package.json" - }, - "main": "./dist/remirror-extension-react-language-select.cjs", - "module": "./dist/remirror-extension-react-language-select.js", - "type": "module", - "types": "./dist/remirror-extension-react-language-select.d.ts" - }, - "@remirror": { - "sizeLimit": "10 KB" - } -} diff --git a/packages/remirror__extension-react-language-select/readme.md b/packages/remirror__extension-react-language-select/readme.md deleted file mode 100644 index f7fe22610e..0000000000 --- a/packages/remirror__extension-react-language-select/readme.md +++ /dev/null @@ -1,71 +0,0 @@ -# @remirror/extension-react-language-select - -[![Version][version]][npm] [![Weekly Downloads][downloads-badge]][npm] [![Bundled size][size-badge]][size] [![Typed Codebase][typescript]](#) [![MIT License][license]](#) - -[version]: https://flat.badgen.net/npm/v/@remirror/extension-react-language-select -[npm]: https://npmjs.com/package/@remirror/extension-react-language-select -[license]: https://flat.badgen.net/badge/license/MIT/purple -[size]: https://bundlephobia.com/result?p=@remirror/extension-react-language-select -[size-badge]: https://flat.badgen.net/bundlephobia/minzip/@remirror/extension-react-language-select -[typescript]: https://flat.badgen.net/badge/icon/TypeScript?icon=typescript&label -[downloads-badge]: https://badgen.net/npm/dw/@remirror/extension-react-language-select/red?icon=npm - -A React floating language select dropdown component for the code block extension. - -## Installation - -```bash -# yarn -yarn add @remirror/extension-react-language-select - -# pnpm -pnpm add @remirror/extension-react-language-select - -# npm -npm install @remirror/extension-react-language-select -``` - -## Usage - -The following code creates an instance of this extension. - -```tsx -import React from 'react'; -import css from 'refractor/lang/css.js'; -import javascript from 'refractor/lang/javascript.js'; -import json from 'refractor/lang/json.js'; -import markdown from 'refractor/lang/markdown.js'; -import typescript from 'refractor/lang/typescript.js'; -import { cx } from 'remirror'; -import { CodeBlockExtension } from 'remirror/extensions'; -import { CodeBlockLanguageSelect } from '@remirror/extension-react-language-select'; -import { Remirror, ThemeProvider, useRemirror } from '@remirror/react'; -import { ExtensionCodeBlockTheme } from '@remirror/theme'; - -const extensions = () => [ - new CodeBlockExtension({ - // optionally add spacing for select element - extraAttributes: { style: 'padding: 2em 1em;' }, - supportedLanguages: [css, javascript, json, markdown, typescript], - }), -]; - -const Basic = (): JSX.Element => { - const { manager, state } = useRemirror({ extensions, content: '', stringHandler: 'html' }); - - return ( - - - - - - ); -}; -``` diff --git a/packages/remirror__extension-react-language-select/src/index.ts b/packages/remirror__extension-react-language-select/src/index.ts deleted file mode 100644 index b36935143c..0000000000 --- a/packages/remirror__extension-react-language-select/src/index.ts +++ /dev/null @@ -1 +0,0 @@ -export * from './language-select'; diff --git a/packages/remirror__extension-react-language-select/src/language-select.tsx b/packages/remirror__extension-react-language-select/src/language-select.tsx deleted file mode 100644 index 4ab2b9f8cc..0000000000 --- a/packages/remirror__extension-react-language-select/src/language-select.tsx +++ /dev/null @@ -1,250 +0,0 @@ -import memoize from 'lodash.memoize'; -import React, { - ChangeEvent, - CSSProperties, - PointerEvent, - SetStateAction, - useEffect, - useMemo, - useState, -} from 'react'; -import type { FindProsemirrorNodeResult } from '@remirror/core'; -import { findParentNodeOfType, isElementDomNode, uniqueBy } from '@remirror/core'; -import { CodeBlockExtension } from '@remirror/extension-code-block'; -import { - defaultAbsolutePosition, - hasStateChanged, - isPositionVisible, - Positioner, -} from '@remirror/extension-positioner'; -import { PositionerPortal } from '@remirror/react-components'; -import { useCommands, useRemirrorContext } from '@remirror/react-core'; -import { usePositioner } from '@remirror/react-hooks'; - -export interface CodeBlockLanguageSelectProps { - className?: string; - languages?: Array<{ displayName: string; value?: string }>; - offset?: { x: number; y: number }; - onLanguageChange?: ( - language: string, - element: HTMLElement | undefined, - setWidth: (value: SetStateAction) => void, - ) => boolean; - onPointerDownSelect?: (event: PointerEvent) => boolean; - onSelectChange?: ( - event: ChangeEvent, - setWidth: (value: SetStateAction) => void, - ) => boolean; -} - -interface CodeBlockPositionerData { - codeBlockResult: FindProsemirrorNodeResult; -} - -export const CodeBlockLanguageSelect = ({ - languages = [], - className = '', - offset = { x: 0, y: 0 }, - onLanguageChange, - onPointerDownSelect, - onSelectChange, -}: CodeBlockLanguageSelectProps): JSX.Element => { - const position = usePositioner(createPositioner, []); - const { getExtension, getState } = useRemirrorContext(); - const { focus, updateCodeBlock } = useCommands(); - - const languageOptions = getExtension(CodeBlockExtension).options; - - const [aliasesMap] = useState(() => { - const temp = new Map(); - - languageOptions.supportedLanguages.forEach((lang) => { - lang.aliases.forEach( - (alias) => - !languages.some((lang) => lang.displayName === alias) && - temp.set(alias, lang.displayName), - ); - }); - return temp; - }); - - const [lang] = useState([ - ...languages, - { - displayName: languageOptions.defaultLanguage, - }, - ...languageOptions.supportedLanguages, - ]); - - const { selection } = getState(); - - const [width, setWidth] = useState('auto'); - - const nodeLanguage = findParentNodeOfType({ - selection, - types: 'codeBlock', - })?.node.attrs.language; - - const language = useMemo(() => { - const alias = aliasesMap.get(nodeLanguage); - - if (alias) { - return alias; - } - - if (languageOptions.supportedLanguages.some((lang) => nodeLanguage === lang.displayName)) { - return nodeLanguage; - } - - return languageOptions.defaultLanguage; - }, [ - aliasesMap, - languageOptions.defaultLanguage, - languageOptions.supportedLanguages, - nodeLanguage, - ]); - - useEffect(() => { - const el = position.element; - - if (onLanguageChange?.(language, el, setWidth)) { - return; - } - - const isSelectElement = (n?: HTMLElement): n is HTMLSelectElement => - (n && n.nodeName === 'SELECT') || false; - - if (isSelectElement(el)) { - const width = el.options[el.selectedIndex]?.dataset.width; - setWidth(width ? `${width}px` : 'auto'); - } - }, [position.element, language, onLanguageChange]); - - return ( - - - - ); -}; - -const getLanguageOptions = memoize((input: Array<{ displayName: string; value?: string }>) => { - const options = uniqueBy( - input.map(({ displayName, value }) => ({ - displayName, - value: value || displayName, - })), - 'displayName', - ) - .sort((a, b) => { - if (a.displayName > b.displayName) { - return 1; - } - - if (a.displayName < b.displayName) { - return -1; - } - - return 0; - }) - .map((o) => { - const select = document.createElement('select'); - const option = document.createElement('option'); - let width = '0px'; - - select.append(option); - - document.body.append(select); - - option.textContent = o.displayName; - - width = String(select.getBoundingClientRect().width); - - select.remove(); - - return { ...o, width }; - }) - .map(({ displayName, value, width }) => ( - - )); - - return options; -}); - -function createPositioner(): Positioner { - return Positioner.create({ - getActive(props) { - const { selection } = props.state; - const codeBlockResult = findParentNodeOfType({ - selection, - types: 'codeBlock', - }); - - if (codeBlockResult) { - const positionerData: CodeBlockPositionerData = { - codeBlockResult, - }; - return [positionerData]; - } - - return Positioner.EMPTY; - }, - - getPosition(props) { - const { data, view } = props; - - const { pos } = data.codeBlockResult; - - const firstCellDOM = view.nodeDOM(pos); - - if (!firstCellDOM || !isElementDomNode(firstCellDOM)) { - return defaultAbsolutePosition; - } - - const rect = firstCellDOM.getBoundingClientRect(); - const editorRect = view.dom.getBoundingClientRect(); - const left = view.dom.scrollLeft + rect.left - editorRect.left; - const top = view.dom.scrollTop + rect.top - editorRect.top; - const visible = isPositionVisible(rect, view.dom); - - return { - height: 0, - rect, - visible, - width: 0, - x: left, - y: top, - }; - }, - - hasChanged: hasStateChanged, - }); -} diff --git a/packages/remirror__extension-react-language-select/src/tsconfig.json b/packages/remirror__extension-react-language-select/src/tsconfig.json deleted file mode 100644 index d37bdb61bd..0000000000 --- a/packages/remirror__extension-react-language-select/src/tsconfig.json +++ /dev/null @@ -1,44 +0,0 @@ -{ - "__AUTO_GENERATED__": [ - "To update the configuration edit the following field.", - "`package.json > @remirror > tsconfigs > 'src'`", - "", - "Then run: `pnpm -w generate:ts`" - ], - "extends": "../../../support/tsconfig.base.json", - "compilerOptions": { - "types": [], - "declaration": true, - "composite": true, - "noEmit": false, - "emitDeclarationOnly": true, - "outDir": "../dist-types" - }, - "include": ["./"], - "references": [ - { - "path": "../../remirror__core/src" - }, - { - "path": "../../remirror__core-utils/src" - }, - { - "path": "../../remirror__extension-code-block/src" - }, - { - "path": "../../remirror__extension-positioner/src" - }, - { - "path": "../../remirror__react-components/src" - }, - { - "path": "../../remirror__react-core/src" - }, - { - "path": "../../remirror__react-hooks/src" - }, - { - "path": "../../remirror__pm/src" - } - ] -} diff --git a/packages/remirror__react-ui/src/menus/code-block-language-select.tsx b/packages/remirror__react-ui/src/menus/code-block-language-select.tsx new file mode 100644 index 0000000000..b1c74e4fb9 --- /dev/null +++ b/packages/remirror__react-ui/src/menus/code-block-language-select.tsx @@ -0,0 +1,190 @@ +import { FormControl, MenuItem, Select, SelectChangeEvent } from '@mui/material'; +import React, { CSSProperties, PointerEvent, useEffect, useMemo } from 'react'; +import type { FindProsemirrorNodeResult } from '@remirror/core'; +import { findParentNodeOfType, isElementDomNode, uniqueBy } from '@remirror/core'; +import { CodeBlockExtension } from '@remirror/extension-code-block'; +import { + defaultAbsolutePosition, + hasStateChanged, + isPositionVisible, + Positioner, +} from '@remirror/extension-positioner'; +import { PositionerPortal } from '@remirror/react-components'; +import { useCommands, useExtension } from '@remirror/react-core'; +import { usePositioner } from '@remirror/react-hooks'; +import { ExtensionCodeBlockTheme } from '@remirror/theme'; + +import { UiThemeProvider } from '../providers/ui-theme-provider'; + +export interface CodeBlockLanguageSelectProps { + languages?: Array<{ displayName: string; value?: string }>; + onLanguageChange?: (language: string, element: HTMLElement | undefined) => boolean; + position?: 'left' | 'right'; + offset?: { x: number; y: number }; + onPointerDownSelect?: (event: PointerEvent) => boolean; + onSelectChange?: (event: SelectChangeEvent) => boolean; + className?: string; +} + +export const CodeBlockLanguageSelect = ({ + languages = [], + onLanguageChange, + position = 'right', + offset = { x: 0, y: 0 }, + onPointerDownSelect, + onSelectChange, + className = '', +}: CodeBlockLanguageSelectProps): JSX.Element | null => { + const { ref, element, x, y, width, data, active } = usePositioner( + createPositioner, + [], + ); + const { focus, updateCodeBlock } = useCommands(); + + const { defaultLanguage, supportedLanguages } = useExtension(CodeBlockExtension).options; + const currentNodeLanguage: string | undefined = active ? data.node.attrs.language : undefined; + + const languageAliases: Map = useMemo(() => { + const result: Map = new Map(); + + const languagesDisplayNames = new Set(languages.map((lang) => lang.displayName)); + + for (const { displayName, aliases } of supportedLanguages) { + for (const alias of aliases) { + if (!languagesDisplayNames.has(alias)) { + result.set(alias, displayName); + } + } + } + + return result; + }, [supportedLanguages, languages]); + + const languageOptions = useMemo(() => { + const allLanguages: Array<{ displayName: string; value?: string }> = [ + ...languages, + { + displayName: defaultLanguage, + }, + ...supportedLanguages, + ]; + + return uniqueBy(allLanguages, (lang) => lang.displayName).sort((a, b) => + a.displayName.localeCompare(b.displayName), + ); + }, [languages, defaultLanguage, supportedLanguages]); + + const currentDisplayLanguage = useMemo(() => { + if (!currentNodeLanguage) { + return defaultLanguage; + } + + const alias = languageAliases.get(currentNodeLanguage); + + if (alias) { + return alias; + } + + if (languageOptions.some((lang) => lang.displayName === currentNodeLanguage)) { + return currentNodeLanguage; + } + + return defaultLanguage; + }, [languageAliases, languageOptions, defaultLanguage, currentNodeLanguage]); + + useEffect(() => { + onLanguageChange?.(currentDisplayLanguage, element); + }, [onLanguageChange, currentDisplayLanguage, element]); + + const handleChange = (e: SelectChangeEvent) => { + if (onSelectChange?.(e)) { + return; + } + + updateCodeBlock({ + language: e.target.value, + }); + }; + + return ( + + + {active && ( +
+ + + +
+ )} +
+
+ ); +}; + +function createPositioner(): Positioner { + return Positioner.create({ + getActive(props) { + const { selection, schema } = props.state; + const parent = findParentNodeOfType({ + selection, + types: schema.nodes.codeBlock, + }); + + if (!parent) { + return Positioner.EMPTY; + } + + return [parent]; + }, + + getPosition(props) { + const { data, view } = props; + const node = view.nodeDOM(data.pos); + + if (!isElementDomNode(node)) { + return defaultAbsolutePosition; + } + + const rect = node.getBoundingClientRect(); + const editorRect = view.dom.getBoundingClientRect(); + const left = view.dom.scrollLeft + rect.left - editorRect.left; + const top = view.dom.scrollTop + rect.top - editorRect.top; + + return { + x: left - 1, + y: top - 1, + width: rect.width, + height: rect.height, + rect, + visible: isPositionVisible(rect, view.dom), + }; + }, + + hasChanged: hasStateChanged, + }); +} diff --git a/packages/remirror__react-ui/src/menus/index.ts b/packages/remirror__react-ui/src/menus/index.ts index 8a583db33e..19fc29d209 100644 --- a/packages/remirror__react-ui/src/menus/index.ts +++ b/packages/remirror__react-ui/src/menus/index.ts @@ -1,3 +1,4 @@ +export * from './code-block-language-select'; export * from './command-menu-item'; export * from './toggle-callout-menu-item'; export * from './toggle-heading-menu-item'; diff --git a/packages/remirror__styles/all.css b/packages/remirror__styles/all.css index 60a4bd943f..03c0bab809 100644 --- a/packages/remirror__styles/all.css +++ b/packages/remirror__styles/all.css @@ -702,6 +702,7 @@ button:active .remirror-menu-pane-shortcut, position: absolute; top: var(--y); left: var(--x); + transform: translateX(var(--translate-x)); } .remirror-language-select-width { @@ -735,10 +736,6 @@ button:active .remirror-menu-pane-shortcut, border-radius: 0.3em; } -.remirror-a11y-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-a11y-dark :not(pre) > code[class*='language-'], .remirror-a11y-dark pre[class*='language-'] { background: #2b2b2b; @@ -889,10 +886,6 @@ button:active .remirror-menu-pane-shortcut, border-radius: 0.3em; } -.remirror-atom-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-atom-dark :not(pre) > code[class*='language-'], .remirror-atom-dark pre[class*='language-'] { background: #1d1f21; @@ -1060,12 +1053,6 @@ button:active .remirror-menu-pane-shortcut, overflow: auto; } -.remirror-base16-ateliersulphurpool-light - :has(.remirror-language-select-positioner) - ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-base16-ateliersulphurpool-light :not(pre) > code[class*='language-'] { @@ -1234,10 +1221,6 @@ button:active .remirror-menu-pane-shortcut, border-radius: 8px; } -.remirror-cb :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-cb :not(pre) > code[class*='language-'] { @@ -1412,10 +1395,6 @@ button:active .remirror-menu-pane-shortcut, overflow: auto; } -.remirror-darcula :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-darcula :not(pre) > code[class*='language-'], .remirror-darcula pre[class*='language-'] { background: #2b2b2b; @@ -1560,10 +1539,6 @@ button:active .remirror-menu-pane-shortcut, border-radius: 0.3em; } -.remirror-dracula :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-dracula :not(pre) > code[class*='language-'], .remirror-dracula pre[class*='language-'] { background: #282a36; @@ -1708,10 +1683,6 @@ button:active .remirror-menu-pane-shortcut, overflow: auto; } -.remirror-duotone-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-duotone-dark :not(pre) > code[class*='language-'] { @@ -1889,10 +1860,6 @@ button:active .remirror-menu-pane-shortcut, overflow: auto; } -.remirror-duotone-earth :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-duotone-earth :not(pre) > code[class*='language-'] { @@ -2070,10 +2037,6 @@ button:active .remirror-menu-pane-shortcut, overflow: auto; } -.remirror-duotone-forest :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-duotone-forest :not(pre) > code[class*='language-'] { @@ -2251,10 +2214,6 @@ button:active .remirror-menu-pane-shortcut, overflow: auto; } -.remirror-duotone-light :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-duotone-light :not(pre) > code[class*='language-'] { @@ -2432,10 +2391,6 @@ button:active .remirror-menu-pane-shortcut, overflow: auto; } -.remirror-duotone-sea :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-duotone-sea :not(pre) > code[class*='language-'] { @@ -2613,10 +2568,6 @@ button:active .remirror-menu-pane-shortcut, overflow: auto; } -.remirror-duotone-space :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-duotone-space :not(pre) > code[class*='language-'] { @@ -2790,10 +2741,6 @@ button:active .remirror-menu-pane-shortcut, background-color: white; } -.remirror-gh-colors :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-gh-colors :not(pre) > code[class*='language-'], .remirror-gh-colors pre[class*='language-'] { } @@ -2904,10 +2851,6 @@ button:active .remirror-menu-pane-shortcut, overflow: auto; } -.remirror-hopscotch :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-hopscotch :not(pre) > code[class*='language-'] { @@ -3031,10 +2974,6 @@ button:active .remirror-menu-pane-shortcut, overflow: auto; } -.remirror-pojoaque :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-pojoaque :not(pre) > code[class*='language-'] { padding: 2px 6px; } @@ -3178,10 +3117,6 @@ button:active .remirror-menu-pane-shortcut, background-color: white; } -.remirror-vs :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-vs :not(pre) > code[class*='language-'] { @@ -3327,10 +3262,6 @@ button:active .remirror-menu-pane-shortcut, overflow: auto; } -.remirror-xonokai :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-xonokai pre[class*='language-'] { position: relative; } @@ -3847,9 +3778,9 @@ button:active .remirror-menu-pane-shortcut, } .remirror-positioner-widget { + display: block; width: 0; height: 0; - position: absolute; } /** diff --git a/packages/remirror__styles/extension-code-block.css b/packages/remirror__styles/extension-code-block.css index 4f921f9e85..565aea51e9 100644 --- a/packages/remirror__styles/extension-code-block.css +++ b/packages/remirror__styles/extension-code-block.css @@ -9,6 +9,7 @@ position: absolute; top: var(--y); left: var(--x); + transform: translateX(var(--translate-x)); } .remirror-language-select-width { @@ -42,10 +43,6 @@ border-radius: 0.3em; } -.remirror-a11y-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-a11y-dark :not(pre) > code[class*='language-'], .remirror-a11y-dark pre[class*='language-'] { background: #2b2b2b; @@ -196,10 +193,6 @@ border-radius: 0.3em; } -.remirror-atom-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-atom-dark :not(pre) > code[class*='language-'], .remirror-atom-dark pre[class*='language-'] { background: #1d1f21; @@ -367,12 +360,6 @@ overflow: auto; } -.remirror-base16-ateliersulphurpool-light - :has(.remirror-language-select-positioner) - ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-base16-ateliersulphurpool-light :not(pre) > code[class*='language-'] { @@ -541,10 +528,6 @@ border-radius: 8px; } -.remirror-cb :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-cb :not(pre) > code[class*='language-'] { @@ -719,10 +702,6 @@ overflow: auto; } -.remirror-darcula :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-darcula :not(pre) > code[class*='language-'], .remirror-darcula pre[class*='language-'] { background: #2b2b2b; @@ -867,10 +846,6 @@ border-radius: 0.3em; } -.remirror-dracula :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-dracula :not(pre) > code[class*='language-'], .remirror-dracula pre[class*='language-'] { background: #282a36; @@ -1015,10 +990,6 @@ overflow: auto; } -.remirror-duotone-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-duotone-dark :not(pre) > code[class*='language-'] { @@ -1196,10 +1167,6 @@ overflow: auto; } -.remirror-duotone-earth :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-duotone-earth :not(pre) > code[class*='language-'] { @@ -1377,10 +1344,6 @@ overflow: auto; } -.remirror-duotone-forest :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-duotone-forest :not(pre) > code[class*='language-'] { @@ -1558,10 +1521,6 @@ overflow: auto; } -.remirror-duotone-light :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-duotone-light :not(pre) > code[class*='language-'] { @@ -1739,10 +1698,6 @@ overflow: auto; } -.remirror-duotone-sea :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-duotone-sea :not(pre) > code[class*='language-'] { @@ -1920,10 +1875,6 @@ overflow: auto; } -.remirror-duotone-space :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-duotone-space :not(pre) > code[class*='language-'] { @@ -2097,10 +2048,6 @@ background-color: white; } -.remirror-gh-colors :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-gh-colors :not(pre) > code[class*='language-'], .remirror-gh-colors pre[class*='language-'] { } @@ -2211,10 +2158,6 @@ overflow: auto; } -.remirror-hopscotch :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-hopscotch :not(pre) > code[class*='language-'] { @@ -2338,10 +2281,6 @@ overflow: auto; } -.remirror-pojoaque :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-pojoaque :not(pre) > code[class*='language-'] { padding: 2px 6px; } @@ -2485,10 +2424,6 @@ background-color: white; } -.remirror-vs :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - /* Inline code */ .remirror-vs :not(pre) > code[class*='language-'] { @@ -2634,10 +2569,6 @@ overflow: auto; } -.remirror-xonokai :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; -} - .remirror-xonokai pre[class*='language-'] { position: relative; } diff --git a/packages/remirror__styles/extension-positioner.css b/packages/remirror__styles/extension-positioner.css index 62c75b67b1..7d7c361bdf 100644 --- a/packages/remirror__styles/extension-positioner.css +++ b/packages/remirror__styles/extension-positioner.css @@ -19,7 +19,7 @@ } .remirror-positioner-widget { + display: block; width: 0; height: 0; - position: absolute; } diff --git a/packages/remirror__styles/src/dom.tsx b/packages/remirror__styles/src/dom.tsx index be88031be3..f5b1063608 100644 --- a/packages/remirror__styles/src/dom.tsx +++ b/packages/remirror__styles/src/dom.tsx @@ -719,6 +719,7 @@ export const extensionCodeBlockStyledCss: ReturnType = css` position: absolute; top: var(--y); left: var(--x); + transform: translateX(var(--translate-x)); } .remirror-language-select-width { @@ -752,10 +753,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` border-radius: 0.3em; } - .remirror-a11y-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-a11y-dark :not(pre) > code[class*='language-'], .remirror-a11y-dark pre[class*='language-'] { background: #2b2b2b; @@ -906,10 +903,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` border-radius: 0.3em; } - .remirror-atom-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-atom-dark :not(pre) > code[class*='language-'], .remirror-atom-dark pre[class*='language-'] { background: #1d1f21; @@ -1077,12 +1070,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-base16-ateliersulphurpool-light - :has(.remirror-language-select-positioner) - ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-base16-ateliersulphurpool-light :not(pre) > code[class*='language-'] { @@ -1251,10 +1238,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` border-radius: 8px; } - .remirror-cb :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-cb :not(pre) > code[class*='language-'] { @@ -1429,10 +1412,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-darcula :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-darcula :not(pre) > code[class*='language-'], .remirror-darcula pre[class*='language-'] { background: #2b2b2b; @@ -1577,10 +1556,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` border-radius: 0.3em; } - .remirror-dracula :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-dracula :not(pre) > code[class*='language-'], .remirror-dracula pre[class*='language-'] { background: #282a36; @@ -1725,10 +1700,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-dark :not(pre) > code[class*='language-'] { @@ -1906,10 +1877,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-earth :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-earth :not(pre) > code[class*='language-'] { @@ -2087,10 +2054,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-forest :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-forest :not(pre) > code[class*='language-'] { @@ -2268,10 +2231,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-light :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-light :not(pre) > code[class*='language-'] { @@ -2449,10 +2408,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-sea :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-sea :not(pre) > code[class*='language-'] { @@ -2630,10 +2585,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-space :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-space :not(pre) > code[class*='language-'] { @@ -2807,10 +2758,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` background-color: white; } - .remirror-gh-colors :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-gh-colors :not(pre) > code[class*='language-'], .remirror-gh-colors pre[class*='language-'] { } @@ -2921,10 +2868,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-hopscotch :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-hopscotch :not(pre) > code[class*='language-'] { @@ -3048,10 +2991,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-pojoaque :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-pojoaque :not(pre) > code[class*='language-'] { padding: 2px 6px; } @@ -3195,10 +3134,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` background-color: white; } - .remirror-vs :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-vs :not(pre) > code[class*='language-'] { @@ -3344,10 +3279,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-xonokai :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-xonokai pre[class*='language-'] { position: relative; } @@ -3884,9 +3815,9 @@ export const extensionPositionerStyledCss: ReturnType = css` } .remirror-positioner-widget { + display: block; width: 0; height: 0; - position: absolute; } `; diff --git a/packages/remirror__styles/src/emotion.tsx b/packages/remirror__styles/src/emotion.tsx index ef05086cf8..f0b2a3e340 100644 --- a/packages/remirror__styles/src/emotion.tsx +++ b/packages/remirror__styles/src/emotion.tsx @@ -737,6 +737,7 @@ export const extensionCodeBlockStyledCss: ReturnType = css` position: absolute; top: var(--y); left: var(--x); + transform: translateX(var(--translate-x)); } .remirror-language-select-width { @@ -770,10 +771,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` border-radius: 0.3em; } - .remirror-a11y-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-a11y-dark :not(pre) > code[class*='language-'], .remirror-a11y-dark pre[class*='language-'] { background: #2b2b2b; @@ -924,10 +921,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` border-radius: 0.3em; } - .remirror-atom-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-atom-dark :not(pre) > code[class*='language-'], .remirror-atom-dark pre[class*='language-'] { background: #1d1f21; @@ -1095,12 +1088,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-base16-ateliersulphurpool-light - :has(.remirror-language-select-positioner) - ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-base16-ateliersulphurpool-light :not(pre) > code[class*='language-'] { @@ -1269,10 +1256,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` border-radius: 8px; } - .remirror-cb :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-cb :not(pre) > code[class*='language-'] { @@ -1447,10 +1430,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-darcula :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-darcula :not(pre) > code[class*='language-'], .remirror-darcula pre[class*='language-'] { background: #2b2b2b; @@ -1595,10 +1574,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` border-radius: 0.3em; } - .remirror-dracula :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-dracula :not(pre) > code[class*='language-'], .remirror-dracula pre[class*='language-'] { background: #282a36; @@ -1743,10 +1718,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-dark :not(pre) > code[class*='language-'] { @@ -1924,10 +1895,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-earth :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-earth :not(pre) > code[class*='language-'] { @@ -2105,10 +2072,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-forest :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-forest :not(pre) > code[class*='language-'] { @@ -2286,10 +2249,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-light :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-light :not(pre) > code[class*='language-'] { @@ -2467,10 +2426,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-sea :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-sea :not(pre) > code[class*='language-'] { @@ -2648,10 +2603,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-space :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-space :not(pre) > code[class*='language-'] { @@ -2825,10 +2776,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` background-color: white; } - .remirror-gh-colors :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-gh-colors :not(pre) > code[class*='language-'], .remirror-gh-colors pre[class*='language-'] { } @@ -2939,10 +2886,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-hopscotch :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-hopscotch :not(pre) > code[class*='language-'] { @@ -3066,10 +3009,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-pojoaque :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-pojoaque :not(pre) > code[class*='language-'] { padding: 2px 6px; } @@ -3213,10 +3152,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` background-color: white; } - .remirror-vs :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-vs :not(pre) > code[class*='language-'] { @@ -3362,10 +3297,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-xonokai :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-xonokai pre[class*='language-'] { position: relative; } @@ -3942,9 +3873,9 @@ export const extensionPositionerStyledCss: ReturnType = css` } .remirror-positioner-widget { + display: block; width: 0; height: 0; - position: absolute; } `; diff --git a/packages/remirror__styles/src/styled-components.tsx b/packages/remirror__styles/src/styled-components.tsx index 8c7618006b..8aea44f5b6 100644 --- a/packages/remirror__styles/src/styled-components.tsx +++ b/packages/remirror__styles/src/styled-components.tsx @@ -736,6 +736,7 @@ export const extensionCodeBlockStyledCss: ReturnType = css` position: absolute; top: var(--y); left: var(--x); + transform: translateX(var(--translate-x)); } .remirror-language-select-width { @@ -769,10 +770,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` border-radius: 0.3em; } - .remirror-a11y-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-a11y-dark :not(pre) > code[class*='language-'], .remirror-a11y-dark pre[class*='language-'] { background: #2b2b2b; @@ -923,10 +920,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` border-radius: 0.3em; } - .remirror-atom-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-atom-dark :not(pre) > code[class*='language-'], .remirror-atom-dark pre[class*='language-'] { background: #1d1f21; @@ -1094,12 +1087,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-base16-ateliersulphurpool-light - :has(.remirror-language-select-positioner) - ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-base16-ateliersulphurpool-light :not(pre) > code[class*='language-'] { @@ -1268,10 +1255,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` border-radius: 8px; } - .remirror-cb :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-cb :not(pre) > code[class*='language-'] { @@ -1446,10 +1429,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-darcula :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-darcula :not(pre) > code[class*='language-'], .remirror-darcula pre[class*='language-'] { background: #2b2b2b; @@ -1594,10 +1573,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` border-radius: 0.3em; } - .remirror-dracula :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-dracula :not(pre) > code[class*='language-'], .remirror-dracula pre[class*='language-'] { background: #282a36; @@ -1742,10 +1717,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-dark :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-dark :not(pre) > code[class*='language-'] { @@ -1923,10 +1894,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-earth :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-earth :not(pre) > code[class*='language-'] { @@ -2104,10 +2071,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-forest :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-forest :not(pre) > code[class*='language-'] { @@ -2285,10 +2248,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-light :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-light :not(pre) > code[class*='language-'] { @@ -2466,10 +2425,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-sea :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-sea :not(pre) > code[class*='language-'] { @@ -2647,10 +2602,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-duotone-space :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-duotone-space :not(pre) > code[class*='language-'] { @@ -2824,10 +2775,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` background-color: white; } - .remirror-gh-colors :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-gh-colors :not(pre) > code[class*='language-'], .remirror-gh-colors pre[class*='language-'] { } @@ -2938,10 +2885,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-hopscotch :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-hopscotch :not(pre) > code[class*='language-'] { @@ -3065,10 +3008,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-pojoaque :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-pojoaque :not(pre) > code[class*='language-'] { padding: 2px 6px; } @@ -3212,10 +3151,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` background-color: white; } - .remirror-vs :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ .remirror-vs :not(pre) > code[class*='language-'] { @@ -3361,10 +3296,6 @@ export const extensionCodeBlockStyledCss: ReturnType = css` overflow: auto; } - .remirror-xonokai :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - .remirror-xonokai pre[class*='language-'] { position: relative; } @@ -3941,9 +3872,9 @@ export const extensionPositionerStyledCss: ReturnType = css` } .remirror-positioner-widget { + display: block; width: 0; height: 0; - position: absolute; } `; diff --git a/packages/remirror__theme/src/extension-code-block-theme.ts b/packages/remirror__theme/src/extension-code-block-theme.ts index ae533e5d79..981da897c8 100644 --- a/packages/remirror__theme/src/extension-code-block-theme.ts +++ b/packages/remirror__theme/src/extension-code-block-theme.ts @@ -11,6 +11,7 @@ export const LANGUAGE_SELECT_POSITIONER = css` position: absolute; top: var(--y); left: var(--x); + transform: translateX(var(--translate-x)); `; export const LANGUAGE_SELECT_WIDTH = css` @@ -49,9 +50,6 @@ export const A11Y_DARK = css` overflow: auto; border-radius: 0.3em; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } :not(pre) > code[class*='language-'], pre[class*='language-'] { background: #2b2b2b; @@ -193,9 +191,7 @@ export const ATOM_DARK = css` overflow: auto; border-radius: 0.3em; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } + :not(pre) > code[class*='language-'], pre[class*='language-'] { background: #1d1f21; @@ -338,9 +334,6 @@ export const BASE16_ATELIERSULPHURPOOL_LIGHT = css` margin: 0.5em 0; overflow: auto; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } /* Inline code */ :not(pre) > code[class*='language-'] { padding: 0.1em; @@ -497,10 +490,6 @@ export const CB = css` border-radius: 8px; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ :not(pre) > code[class*='language-'] { padding: 5px 10px; @@ -680,10 +669,6 @@ export const DARCULA = css` overflow: auto; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - :not(pre) > code[class*='language-'], pre[class*='language-'] { background: #2b2b2b; @@ -834,10 +819,6 @@ export const DRACULA = css` border-radius: 0.3em; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - :not(pre) > code[class*='language-'], pre[class*='language-'] { background: #282a36; @@ -985,10 +966,6 @@ export const DUOTONE_DARK = css` overflow: auto; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ :not(pre) > code[class*='language-'] { padding: 0.1em; @@ -1168,10 +1145,6 @@ export const DUOTONE_EARTH = css` overflow: auto; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ :not(pre) > code[class*='language-'] { padding: 0.1em; @@ -1351,10 +1324,6 @@ export const DUOTONE_FOREST = css` overflow: auto; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ :not(pre) > code[class*='language-'] { padding: 0.1em; @@ -1534,10 +1503,6 @@ export const DUOTONE_LIGHT = css` overflow: auto; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ :not(pre) > code[class*='language-'] { padding: 0.1em; @@ -1717,10 +1682,6 @@ export const DUOTONE_SEA = css` overflow: auto; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ :not(pre) > code[class*='language-'] { padding: 0.1em; @@ -1900,10 +1861,6 @@ export const DUOTONE_SPACE = css` overflow: auto; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ :not(pre) > code[class*='language-'] { padding: 0.1em; @@ -2075,10 +2032,6 @@ export const GH_COLORS = css` background-color: white; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - :not(pre) > code[class*='language-'], pre[class*='language-'] { } @@ -2195,10 +2148,6 @@ export const HOPSCOTCH = css` overflow: auto; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ :not(pre) > code[class*='language-'] { padding: 0.1em; @@ -2325,10 +2274,6 @@ export const POJOAQUE = css` overflow: auto; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - :not(pre) > code[class*='language-'] { padding: 2px 6px; } @@ -2460,10 +2405,6 @@ export const VS = css` background-color: white; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - /* Inline code */ :not(pre) > code[class*='language-'] { padding: 0.2em; @@ -2614,10 +2555,6 @@ export const XONOKAI = css` overflow: auto; } - :has(.remirror-language-select-positioner) ~ pre[class*='language-'] { - padding: 2em 1em; - } - pre[class*='language-'] { position: relative; } diff --git a/packages/remirror__theme/src/extension-positioner-theme.ts b/packages/remirror__theme/src/extension-positioner-theme.ts index fd7b1046df..6c52bd834c 100644 --- a/packages/remirror__theme/src/extension-positioner-theme.ts +++ b/packages/remirror__theme/src/extension-positioner-theme.ts @@ -17,7 +17,7 @@ export const POSITIONER = css` `; export const POSITIONER_WIDGET = css` + display: block; width: 0; height: 0; - position: absolute; `; diff --git a/packages/storybook-react/package.json b/packages/storybook-react/package.json index 7c0ad17eda..fd9fcaa977 100644 --- a/packages/storybook-react/package.json +++ b/packages/storybook-react/package.json @@ -40,7 +40,6 @@ "@remirror/extension-find": "1.0.0-beta.4", "@remirror/extension-mention": "3.0.0-beta.4", "@remirror/extension-mention-atom": "3.0.0-beta.4", - "@remirror/extension-react-language-select": "1.0.0-beta.4", "@remirror/extension-react-tables": "3.0.0-beta.4", "@remirror/i18n": "3.0.0-beta.2", "@remirror/messages": "3.0.0-beta.2", diff --git a/packages/storybook-react/src/tsconfig.json b/packages/storybook-react/src/tsconfig.json index 730bfdf1db..8ae21b0a43 100644 --- a/packages/storybook-react/src/tsconfig.json +++ b/packages/storybook-react/src/tsconfig.json @@ -43,9 +43,6 @@ { "path": "../../remirror__extension-mention-atom/src" }, - { - "path": "../../remirror__extension-react-language-select/src" - }, { "path": "../../remirror__extension-react-tables/src" }, diff --git a/packages/storybook-react/stories/extension-code-block/with-language-select.tsx b/packages/storybook-react/stories/extension-code-block/with-language-select.tsx index 49a377d148..09d8a73330 100644 --- a/packages/storybook-react/stories/extension-code-block/with-language-select.tsx +++ b/packages/storybook-react/stories/extension-code-block/with-language-select.tsx @@ -1,19 +1,20 @@ +import 'remirror/styles/all.css'; + import React from 'react'; import css from 'refractor/lang/css.js'; import javascript from 'refractor/lang/javascript.js'; import json from 'refractor/lang/json.js'; import markdown from 'refractor/lang/markdown.js'; import typescript from 'refractor/lang/typescript.js'; -import { cx } from 'remirror'; -import { CodeBlockExtension } from 'remirror/extensions'; -import { CodeBlockLanguageSelect } from '@remirror/extension-react-language-select'; +import { CodeBlockExtension, TrailingNodeExtension } from 'remirror/extensions'; import { Remirror, ThemeProvider, useRemirror } from '@remirror/react'; -import { ExtensionCodeBlockTheme } from '@remirror/theme'; +import { CodeBlockLanguageSelect } from '@remirror/react-ui'; const extensions = () => [ new CodeBlockExtension({ supportedLanguages: [css, javascript, json, markdown, typescript], }), + new TrailingNodeExtension(), ]; const content = ` @@ -35,13 +36,7 @@ const Basic = (): JSX.Element => { return ( - + ); diff --git a/packages/storybook-react/stories/tsconfig.json b/packages/storybook-react/stories/tsconfig.json index 42abad43ac..25f9acf3f3 100644 --- a/packages/storybook-react/stories/tsconfig.json +++ b/packages/storybook-react/stories/tsconfig.json @@ -42,9 +42,6 @@ { "path": "../../remirror__extension-mention-atom/src" }, - { - "path": "../../remirror__extension-react-language-select/src" - }, { "path": "../../remirror__extension-react-tables/src" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 4b915cddd7..7b2b4aa523 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -144,7 +144,7 @@ importers: version: 5.16.5 '@testing-library/react-hooks': specifier: ^8.0.1 - version: 8.0.1(@types/react@18.2.0)(react-dom@18.2.0)(react-test-renderer@18.2.0)(react@18.2.0) + version: 8.0.1(react@17.0.2) '@testing-library/user-event': specifier: ^14.4.3 version: 14.4.3(@testing-library/dom@9.3.0) @@ -880,7 +880,7 @@ importers: version: 6.3.0 read-pkg-up: specifier: ^10.1.0 - version: 10.1.0(typescript@5.2.2) + version: 10.1.0(typescript@5.0.4) rimraf: specifier: ^4.4.1 version: 4.4.1 @@ -889,7 +889,7 @@ importers: version: 4.2.0 tsup: specifier: https://github.com/ocavue/tsup/tarball/ocavue-release-2023-10-05-a - version: '@github.com/ocavue/tsup/tarball/ocavue-release-2023-10-05-a(@microsoft/api-extractor@7.37.0)(@swc/core@1.3.76)(typescript@5.2.2)' + version: '@github.com/ocavue/tsup/tarball/ocavue-release-2023-10-05-a(@microsoft/api-extractor@7.37.0)(@swc/core@1.3.76)(typescript@5.0.4)' tsx: specifier: ^3.12.7 version: 3.12.7 @@ -3508,7 +3508,7 @@ importers: dependencies: type-fest: specifier: ^3.10.0 - version: 3.10.0(typescript@5.2.2) + version: 3.10.0(typescript@5.0.4) devDependencies: '@remirror/cli': specifier: 1.0.1 @@ -3545,7 +3545,7 @@ importers: version: 0.24.3(react-dom@18.2.0)(react@18.2.0) '@formatjs/intl': specifier: ^2.9.0 - version: 2.9.0(typescript@5.2.2) + version: 2.9.0(typescript@5.0.4) '@joeattardi/emoji-button': specifier: ^4.6.4 version: 4.6.4 @@ -3579,9 +3579,6 @@ importers: '@remirror/extension-mention-atom': specifier: 3.0.0-beta.4 version: link:../remirror__extension-mention-atom - '@remirror/extension-react-language-select': - specifier: 1.0.0-beta.4 - version: link:../remirror__extension-react-language-select '@remirror/extension-react-tables': specifier: 3.0.0-beta.4 version: link:../remirror__extension-react-tables @@ -3680,7 +3677,7 @@ importers: version: 13.0.2(i18next@23.2.11)(react-dom@18.2.0)(react@18.2.0) react-intl: specifier: ^6.4.4 - version: 6.4.4(react@18.2.0)(typescript@5.2.2) + version: 6.4.4(react@18.2.0)(typescript@5.0.4) react-is: specifier: ^18.2.0 version: 18.2.0 @@ -3723,10 +3720,10 @@ importers: version: 7.0.18(react-dom@18.2.0)(react@18.2.0) '@storybook/builder-vite': specifier: ^7.0.18 - version: 7.0.18(typescript@5.2.2)(vite@4.3.9) + version: 7.0.18(typescript@5.0.4)(vite@4.3.9) '@storybook/builder-webpack5': specifier: ^7.0.18 - version: 7.0.18(@swc/core@1.3.76)(esbuild@0.17.19)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + version: 7.0.18(@swc/core@1.3.76)(esbuild@0.17.19)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@storybook/cli': specifier: ^7.0.18 version: 7.0.18 @@ -3738,10 +3735,10 @@ importers: version: 7.0.18 '@storybook/react': specifier: ^7.0.18 - version: 7.0.18(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + version: 7.0.18(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@storybook/react-vite': specifier: ^7.0.18 - version: 7.0.18(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.3.9) + version: 7.0.18(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(vite@4.3.9) '@storybook/theming': specifier: ^7.0.18 version: 7.0.18(react-dom@18.2.0)(react@18.2.0) @@ -4140,7 +4137,7 @@ importers: version: 3.3.4 type-fest: specifier: ^3.10.0 - version: 3.10.0(typescript@5.2.2) + version: 3.10.0(typescript@5.0.4) write-json-file: specifier: ^4.3.0 version: 4.3.0 @@ -4263,34 +4260,34 @@ importers: devDependencies: '@docusaurus/core': specifier: ^2.4.1 - version: 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + version: 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/module-type-aliases': specifier: ^2.4.1 version: 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/plugin-client-redirects': specifier: ^2.4.1 - version: 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + version: 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/plugin-content-docs': specifier: ^2.4.1 - version: 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + version: 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/plugin-ideal-image': specifier: ^2.4.1 - version: 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + version: 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/plugin-sitemap': specifier: ^2.4.1 - version: 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + version: 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/preset-classic': specifier: ^2.4.1 - version: 2.4.1(@algolia/client-search@4.20.0)(@swc/core@1.3.76)(@types/react@18.2.0)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + version: 2.4.1(@algolia/client-search@4.20.0)(@swc/core@1.3.76)(@types/react@18.2.0)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/theme-classic': specifier: ^2.4.1 - version: 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + version: 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/theme-common': specifier: ^2.4.1 - version: 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + version: 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/theme-live-codeblock': specifier: ^2.4.1 - version: 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + version: 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/types': specifier: ^2.4.1 version: 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) @@ -9129,7 +9126,7 @@ packages: - '@algolia/client-search' dev: true - /@docusaurus/core@2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/core@2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-SNsY7PshK3Ri7vtsLXVeAJGS50nJN3RgF836zkyUfAD01Fq+sAk5EwWgLw+nnm5KVNGDu7PRR2kRGDsWvqpo0g==} engines: {node: '>=16.14'} hasBin: true @@ -9188,7 +9185,7 @@ packages: postcss-loader: 7.0.0(postcss@8.4.14)(webpack@5.88.2) prompts: 2.4.2 react: 18.2.0 - react-dev-utils: 12.0.1(eslint@8.41.0)(typescript@5.2.2)(webpack@5.88.2) + react-dev-utils: 12.0.1(eslint@8.41.0)(typescript@5.0.4)(webpack@5.88.2) react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) @@ -9200,12 +9197,12 @@ packages: semver: 7.5.4 serve-handler: 6.1.3 shelljs: 0.8.5 - terser-webpack-plugin: 5.3.9(@swc/core@1.3.76)(esbuild@0.17.19)(webpack@5.89.0) + terser-webpack-plugin: 5.3.9(@swc/core@1.3.76)(webpack@5.88.2) tslib: 2.6.2 update-notifier: 5.1.0 url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.88.2) wait-on: 6.0.1 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) webpack-bundle-analyzer: 4.5.0 webpack-dev-server: 4.9.3(webpack@5.88.2) webpack-merge: 5.8.0 @@ -9283,7 +9280,7 @@ packages: unified: 9.2.2 unist-util-visit: 2.0.3 url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.88.2) - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) transitivePeerDependencies: - '@docusaurus/types' - '@swc/core' @@ -9316,14 +9313,14 @@ packages: - webpack-cli dev: true - /@docusaurus/plugin-client-redirects@2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/plugin-client-redirects@2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-tp0j16gaLIJ4p+IR0P6KDOFsTOGGMY54MNPnmM61Vaqqt5omLqsuKUO8UlCGU1oW/4EIQOhXYy99XYY5MjE+7A==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/logger': 2.4.1 '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76) '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1) @@ -9351,14 +9348,14 @@ packages: - webpack-cli dev: true - /@docusaurus/plugin-content-blog@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/plugin-content-blog@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-E2i7Knz5YIbE1XELI6RlTnZnGgS52cUO4BlCiCUCvQHbR+s1xeIWz4C6BtaVnlug0Ccz7nFSksfwDpVlkujg5Q==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/logger': 2.4.1 '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/types': 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) @@ -9375,7 +9372,7 @@ packages: tslib: 2.6.2 unist-util-visit: 2.0.3 utility-types: 3.10.0 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) transitivePeerDependencies: - '@parcel/css' - '@swc/core' @@ -9392,14 +9389,14 @@ packages: - webpack-cli dev: true - /@docusaurus/plugin-content-docs@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/plugin-content-docs@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-Lo7lSIcpswa2Kv4HEeUcGYqaasMUQNpjTXpV0N8G6jXgZaQurqp7E8NGYeGbDXnb48czmHWbzDL4S3+BbK0VzA==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/logger': 2.4.1 '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/module-type-aliases': 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) @@ -9416,7 +9413,7 @@ packages: react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 utility-types: 3.10.0 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) transitivePeerDependencies: - '@parcel/css' - '@swc/core' @@ -9433,14 +9430,14 @@ packages: - webpack-cli dev: true - /@docusaurus/plugin-content-pages@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/plugin-content-pages@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-/UjuH/76KLaUlL+o1OvyORynv6FURzjurSjvn2lbWTFc4tpYY2qLYTlKpTCBVPhlLUQsfyFnshEJDLmPneq2oA==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/types': 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76) @@ -9449,7 +9446,7 @@ packages: react: 18.2.0 react-dom: 18.2.0(react@18.2.0) tslib: 2.6.2 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) transitivePeerDependencies: - '@parcel/css' - '@swc/core' @@ -9466,14 +9463,14 @@ packages: - webpack-cli dev: true - /@docusaurus/plugin-debug@2.4.1(@swc/core@1.3.76)(@types/react@18.2.0)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/plugin-debug@2.4.1(@swc/core@1.3.76)(@types/react@18.2.0)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-7Yu9UPzRShlrH/G8btOpR0e6INFZr0EegWplMjOqelIwAcx3PKyR8mgPTxGTxcqiYj6hxSCRN0D8R7YrzImwNA==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/types': 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76) fs-extra: 10.1.0 @@ -9499,14 +9496,14 @@ packages: - webpack-cli dev: true - /@docusaurus/plugin-google-analytics@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/plugin-google-analytics@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-dyZJdJiCoL+rcfnm0RPkLt/o732HvLiEwmtoNzOoz9MSZz117UH2J6U2vUDtzUzwtFLIf32KkeyzisbwUCgcaQ==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/types': 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76) react: 18.2.0 @@ -9528,14 +9525,14 @@ packages: - webpack-cli dev: true - /@docusaurus/plugin-google-gtag@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/plugin-google-gtag@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-mKIefK+2kGTQBYvloNEKtDmnRD7bxHLsBcxgnbt4oZwzi2nxCGjPX6+9SQO2KCN5HZbNrYmGo5GJfMgoRvy6uA==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/types': 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76) react: 18.2.0 @@ -9557,14 +9554,14 @@ packages: - webpack-cli dev: true - /@docusaurus/plugin-google-tag-manager@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/plugin-google-tag-manager@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-Zg4Ii9CMOLfpeV2nG74lVTWNtisFaH9QNtEw48R5QE1KIwDBdTVaiSA18G1EujZjrzJJzXN79VhINSbOJO/r3g==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/types': 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76) react: 18.2.0 @@ -9586,7 +9583,7 @@ packages: - webpack-cli dev: true - /@docusaurus/plugin-ideal-image@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/plugin-ideal-image@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(prop-types@15.8.1)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-jxvgCGPmHxdae2Y2uskzxIbMCA4WLTfzkufsLbD4mEAjCRIkt6yzux6q5kqKTrO+AxzpANVcJNGmaBtKZGv5aw==} engines: {node: '>=16.14'} peerDependencies: @@ -9597,7 +9594,7 @@ packages: jimp: optional: true dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/lqip-loader': 2.4.1(webpack@5.88.2) '@docusaurus/responsive-loader': 1.7.0(sharp@0.30.7) '@docusaurus/theme-translations': 2.4.1 @@ -9609,7 +9606,7 @@ packages: react-waypoint: 10.3.0(react@18.2.0) sharp: 0.30.7 tslib: 2.6.2 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) transitivePeerDependencies: - '@parcel/css' - '@swc/core' @@ -9627,14 +9624,14 @@ packages: - webpack-cli dev: true - /@docusaurus/plugin-sitemap@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/plugin-sitemap@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-lZx+ijt/+atQ3FVE8FOHV/+X3kuok688OydDXrqKRJyXBJZKgGjA2Qa8RjQ4f27V2woaXhtnyrdPop/+OjVMRg==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/logger': 2.4.1 '@docusaurus/types': 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76) @@ -9661,25 +9658,25 @@ packages: - webpack-cli dev: true - /@docusaurus/preset-classic@2.4.1(@algolia/client-search@4.20.0)(@swc/core@1.3.76)(@types/react@18.2.0)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/preset-classic@2.4.1(@algolia/client-search@4.20.0)(@swc/core@1.3.76)(@types/react@18.2.0)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-P4//+I4zDqQJ+UDgoFrjIFaQ1MeS9UD1cvxVQaI6O7iBmiHQm0MGROP1TbE7HlxlDPXFJjZUK3x3cAoK63smGQ==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-content-blog': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-content-docs': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-content-pages': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-debug': 2.4.1(@swc/core@1.3.76)(@types/react@18.2.0)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-google-analytics': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-google-gtag': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-google-tag-manager': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-sitemap': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/theme-classic': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/theme-search-algolia': 2.4.1(@algolia/client-search@4.20.0)(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(@types/react@18.2.0)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/plugin-content-blog': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/plugin-content-docs': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/plugin-content-pages': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/plugin-debug': 2.4.1(@swc/core@1.3.76)(@types/react@18.2.0)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/plugin-google-analytics': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/plugin-google-gtag': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/plugin-google-tag-manager': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/plugin-sitemap': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/theme-classic': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/theme-search-algolia': 2.4.1(@algolia/client-search@4.20.0)(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(@types/react@18.2.0)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/types': 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) @@ -9728,20 +9725,20 @@ packages: sharp: 0.30.7 dev: true - /@docusaurus/theme-classic@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/theme-classic@2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-Rz0wKUa+LTW1PLXmwnf8mn85EBzaGSt6qamqtmnh9Hflkc+EqiYMhtUJeLdV+wsgYq4aG0ANc+bpUDpsUhdnwg==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/module-type-aliases': 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/plugin-content-blog': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-content-docs': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-content-pages': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/plugin-content-blog': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/plugin-content-docs': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/plugin-content-pages': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/theme-translations': 2.4.1 '@docusaurus/types': 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76) @@ -9778,7 +9775,7 @@ packages: - webpack-cli dev: true - /@docusaurus/theme-common@2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/theme-common@2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-G7Zau1W5rQTaFFB3x3soQoZpkgMbl/SYNG8PfMFIjKa3M3q8n0m/GRf5/H/e5BqOvt8c+ZWIXGCiz+kUCSHovA==} engines: {node: '>=16.14'} peerDependencies: @@ -9787,9 +9784,9 @@ packages: dependencies: '@docusaurus/mdx-loader': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) '@docusaurus/module-type-aliases': 2.4.1(@swc/core@1.3.76)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/plugin-content-blog': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-content-docs': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-content-pages': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/plugin-content-blog': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/plugin-content-docs': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/plugin-content-pages': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76) '@docusaurus/utils-common': 2.4.1(@docusaurus/types@2.4.1) '@types/history': 4.7.11 @@ -9820,15 +9817,15 @@ packages: - webpack-cli dev: true - /@docusaurus/theme-live-codeblock@2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/theme-live-codeblock@2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-KBKrm34kcdNbSeEm6RujN5GWWg4F2dmAYZyHMMQM8FXokx8mNShRx6uq17WXi23JNm7niyMhNOBRfZWay+5Hkg==} engines: {node: '>=16.14'} peerDependencies: react: ^16.8.4 || ^17.0.0 react-dom: ^16.8.4 || ^17.0.0 dependencies: - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/theme-translations': 2.4.1 '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76) '@philpl/buble': 0.19.7 @@ -9855,7 +9852,7 @@ packages: - webpack-cli dev: true - /@docusaurus/theme-search-algolia@2.4.1(@algolia/client-search@4.20.0)(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(@types/react@18.2.0)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@docusaurus/theme-search-algolia@2.4.1(@algolia/client-search@4.20.0)(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(@types/react@18.2.0)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-6BcqW2lnLhZCXuMAvPRezFs1DpmEKzXFKlYjruuas+Xy3AQeFzDJKTJFIm49N77WFCTyxff8d3E4Q9pi/+5McQ==} engines: {node: '>=16.14'} peerDependencies: @@ -9863,10 +9860,10 @@ packages: react-dom: ^16.8.4 || ^17.0.0 dependencies: '@docsearch/react': 3.2.0(@algolia/client-search@4.20.0)(@types/react@18.2.0)(react-dom@18.2.0)(react@18.2.0) - '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/logger': 2.4.1 - '@docusaurus/plugin-content-docs': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) - '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 2.4.1(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) + '@docusaurus/theme-common': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76)(eslint@8.41.0)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@docusaurus/theme-translations': 2.4.1 '@docusaurus/utils': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76) '@docusaurus/utils-validation': 2.4.1(@docusaurus/types@2.4.1)(@swc/core@1.3.76) @@ -9921,7 +9918,7 @@ packages: react-dom: 18.2.0(react@18.2.0) react-helmet-async: 1.3.0(react-dom@18.2.0)(react@18.2.0) utility-types: 3.10.0 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) webpack-merge: 5.8.0 transitivePeerDependencies: - '@swc/core' @@ -9986,7 +9983,7 @@ packages: shelljs: 0.8.5 tslib: 2.6.2 url-loader: 4.1.1(file-loader@6.2.0)(webpack@5.88.2) - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) transitivePeerDependencies: - '@swc/core' - esbuild @@ -10767,7 +10764,7 @@ packages: tslib: 2.6.2 dev: false - /@formatjs/intl@2.9.0(typescript@5.2.2): + /@formatjs/intl@2.9.0(typescript@5.0.4): resolution: {integrity: sha512-Ym0trUoC/VO6wQu4YHa0H1VR2tEixFRmwZgADkDLm7nD+vv1Ob+/88mUAoT0pwvirFqYKgUKEwp1tFepqyqvVA==} peerDependencies: typescript: ^4.7 || 5 @@ -10782,7 +10779,7 @@ packages: '@formatjs/intl-listformat': 7.4.0 intl-messageformat: 10.5.0 tslib: 2.6.2 - typescript: 5.2.2 + typescript: 5.0.4 dev: false /@fortawesome/fontawesome-common-types@0.2.36: @@ -11130,7 +11127,7 @@ packages: twemoji: 12.1.6 dev: false - /@joshwooding/vite-plugin-react-docgen-typescript@0.2.1(typescript@5.2.2)(vite@4.3.9): + /@joshwooding/vite-plugin-react-docgen-typescript@0.2.1(typescript@5.0.4)(vite@4.3.9): resolution: {integrity: sha512-ou4ZJSXMMWHqGS4g8uNRbC5TiTWxAgQZiVucoUrOCWuPrTbkpJbmVyIi9jU72SBry7gQtuMEDp4YR8EEXAg7VQ==} peerDependencies: typescript: '>= 4.3.x' @@ -11142,8 +11139,8 @@ packages: glob: 7.2.3 glob-promise: 4.2.2(glob@7.2.3) magic-string: 0.27.0 - react-docgen-typescript: 2.2.2(typescript@5.2.2) - typescript: 5.2.2 + react-docgen-typescript: 2.2.2(typescript@5.0.4) + typescript: 5.0.4 vite: 4.3.9(@types/node@16.18.34) dev: true @@ -12847,7 +12844,7 @@ packages: - supports-color dev: true - /@storybook/builder-vite@7.0.18(typescript@5.2.2)(vite@4.3.9): + /@storybook/builder-vite@7.0.18(typescript@5.0.4)(vite@4.3.9): resolution: {integrity: sha512-Qze6/PwUJq+z776dBoG5uinAEVZyPalZIaU/VOWpTrN8L9FQbL0+HDrZU2E/BMNW+ZfnSjF3V2USLyiutsC1Tw==} peerDependencies: '@preact/preset-vite': '*' @@ -12882,13 +12879,13 @@ packages: remark-external-links: 8.0.0 remark-slug: 6.1.0 rollup: 3.29.4 - typescript: 5.2.2 + typescript: 5.0.4 vite: 4.3.9(@types/node@16.18.34) transitivePeerDependencies: - supports-color dev: true - /@storybook/builder-webpack5@7.0.18(@swc/core@1.3.76)(esbuild@0.17.19)(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@storybook/builder-webpack5@7.0.18(@swc/core@1.3.76)(esbuild@0.17.19)(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-ciDOHrnChHWjikQwsM+xGz70PGfWurcezCyRPPRY0zimyHWtlug6V1Q9dJAdEAFsxqFSZA/qg7gEcZyqdlTMaA==} peerDependencies: react: ^16.8.0 || ^17.0.0 || ^18.0.0 @@ -12926,7 +12923,7 @@ packages: case-sensitive-paths-webpack-plugin: 2.4.0 css-loader: 6.7.1(webpack@5.88.2) express: 4.17.3 - fork-ts-checker-webpack-plugin: 7.3.0(typescript@5.2.2)(webpack@5.88.2) + fork-ts-checker-webpack-plugin: 7.3.0(typescript@5.0.4)(webpack@5.88.2) fs-extra: 11.1.1 html-webpack-plugin: 5.5.0(webpack@5.88.2) path-browserify: 1.0.1 @@ -12937,7 +12934,7 @@ packages: style-loader: 3.3.1(webpack@5.88.2) terser-webpack-plugin: 5.3.9(@swc/core@1.3.76)(esbuild@0.17.19)(webpack@5.88.2) ts-dedent: 2.2.0 - typescript: 5.2.2 + typescript: 5.0.4 util: 0.12.5 util-deprecate: 1.0.2 webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) @@ -13312,7 +13309,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /@storybook/react-vite@7.0.18(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2)(vite@4.3.9): + /@storybook/react-vite@7.0.18(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4)(vite@4.3.9): resolution: {integrity: sha512-rxJwp/b0dPazn15xLIeRgwrdZGWmoqoLhU7Mm+AXKToXvbe77i2bjHhkFbz34dpKFtD0i/ajcZSpmsxpxfB0HA==} engines: {node: '>=16'} peerDependencies: @@ -13320,10 +13317,10 @@ packages: react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 vite: ^3.0.0 || ^4.0.0 dependencies: - '@joshwooding/vite-plugin-react-docgen-typescript': 0.2.1(typescript@5.2.2)(vite@4.3.9) + '@joshwooding/vite-plugin-react-docgen-typescript': 0.2.1(typescript@5.0.4)(vite@4.3.9) '@rollup/pluginutils': 4.2.1 - '@storybook/builder-vite': 7.0.18(typescript@5.2.2)(vite@4.3.9) - '@storybook/react': 7.0.18(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2) + '@storybook/builder-vite': 7.0.18(typescript@5.0.4)(vite@4.3.9) + '@storybook/react': 7.0.18(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4) '@vitejs/plugin-react': 3.1.0(vite@4.3.9) ast-types: 0.14.2 magic-string: 0.27.0 @@ -13338,7 +13335,7 @@ packages: - vite-plugin-glimmerx dev: true - /@storybook/react@7.0.18(react-dom@18.2.0)(react@18.2.0)(typescript@5.2.2): + /@storybook/react@7.0.18(react-dom@18.2.0)(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-lumUbHYeuL3qa4SZR9K2YC4UIt1hwW19GuI/6f2HEV5gR9QHHSJHg9HD9pjcxv4fQaiG81ACZ0Sg6lyUkcJvuQ==} engines: {node: '>=16.0.0'} peerDependencies: @@ -13371,7 +13368,7 @@ packages: react-element-to-jsx-string: 15.0.0(react-dom@18.2.0)(react@18.2.0) ts-dedent: 2.2.0 type-fest: 2.19.0 - typescript: 5.2.2 + typescript: 5.0.4 util-deprecate: 1.0.2 transitivePeerDependencies: - supports-color @@ -13813,6 +13810,27 @@ packages: react-test-renderer: 18.2.0(react@18.2.0) dev: false + /@testing-library/react-hooks@8.0.1(react@17.0.2): + resolution: {integrity: sha512-Aqhl2IVmLt8IovEVarNDFuJDVWVvhnr9/GCU6UUnrYXwgDFF9h2L2o2P9KBni1AST5sT6riAyoukFLyjQUgD/g==} + engines: {node: '>=12'} + peerDependencies: + '@types/react': ^16.9.0 || ^17.0.0 + react: ^16.9.0 || ^17.0.0 + react-dom: ^16.9.0 || ^17.0.0 + react-test-renderer: ^16.9.0 || ^17.0.0 + peerDependenciesMeta: + '@types/react': + optional: true + react-dom: + optional: true + react-test-renderer: + optional: true + dependencies: + '@babel/runtime': 7.22.6 + react: 17.0.2 + react-error-boundary: 3.1.4(react@17.0.2) + dev: false + /@testing-library/react@14.0.0(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-S04gSNJbYE30TlIMLTzv6QCTzt9AqIF5y6s6SzVFILNcNvbV/jU96GeiTPillGQo+Ny64M/5PV7klNYYgv5Dfg==} engines: {node: '>=14'} @@ -15582,7 +15600,7 @@ packages: loader-utils: 2.0.4 make-dir: 3.1.0 schema-utils: 2.7.1 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) dev: true /babel-loader@8.3.0(@babel/core@7.23.2)(webpack@5.89.0): @@ -17163,7 +17181,7 @@ packages: normalize-path: 3.0.0 schema-utils: 4.0.0 serialize-javascript: 6.0.1 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) dev: true /core-js-compat@3.30.2: @@ -17396,7 +17414,7 @@ packages: schema-utils: 4.0.0 serialize-javascript: 6.0.1 source-map: 0.6.1 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) dev: true /css-select-base-adapter@0.1.1: @@ -18166,7 +18184,7 @@ packages: dependencies: semver: 7.5.4 shelljs: 0.8.5 - typescript: 5.4.0-dev.20231108 + typescript: 5.4.0-dev.20231109 dev: false /duplexer3@0.1.4: @@ -18451,7 +18469,7 @@ packages: esbuild: 0.19.4 get-tsconfig: 4.7.0 loader-utils: 2.0.4 - webpack: 5.89.0(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.89.0(@swc/core@1.3.76) webpack-sources: 1.4.3 dev: false @@ -19487,7 +19505,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) dev: true /file-name@0.1.0: @@ -19718,7 +19736,7 @@ packages: cross-spawn: 7.0.3 signal-exit: 3.0.7 - /fork-ts-checker-webpack-plugin@6.5.1(eslint@8.41.0)(typescript@5.2.2)(webpack@5.88.2): + /fork-ts-checker-webpack-plugin@6.5.1(eslint@8.41.0)(typescript@5.0.4)(webpack@5.88.2): resolution: {integrity: sha512-x1wumpHOEf4gDROmKTaB6i4/Q6H3LwmjVO7fIX47vBwlZbtPjU33hgoMuD/Q/y6SU8bnuYSoN6ZQOLshGp0T/g==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: @@ -19746,11 +19764,11 @@ packages: schema-utils: 2.7.0 semver: 7.5.4 tapable: 1.1.3 - typescript: 5.2.2 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + typescript: 5.0.4 + webpack: 5.88.2(@swc/core@1.3.76) dev: true - /fork-ts-checker-webpack-plugin@7.3.0(typescript@5.2.2)(webpack@5.88.2): + /fork-ts-checker-webpack-plugin@7.3.0(typescript@5.0.4)(webpack@5.88.2): resolution: {integrity: sha512-IN+XTzusCjR5VgntYFgxbxVx3WraPRnKehBFrf00cMSrtUuW9MsG9dhL6MWpY6MkjC3wVwoujfCDgZZCQwbswA==} engines: {node: '>=12.13.0', yarn: '>=1.0.0'} peerDependencies: @@ -19773,7 +19791,7 @@ packages: schema-utils: 3.3.0 semver: 7.5.4 tapable: 2.2.1 - typescript: 5.2.2 + typescript: 5.0.4 webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) dev: true @@ -23703,7 +23721,7 @@ packages: webpack: ^5.0.0 dependencies: schema-utils: 4.0.0 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) dev: true /minimalistic-assert@1.0.1: @@ -24774,7 +24792,7 @@ packages: json-parse-even-better-errors: 2.3.1 lines-and-columns: 1.2.4 - /parse-json@7.1.0(typescript@5.2.2): + /parse-json@7.1.0(typescript@5.0.4): resolution: {integrity: sha512-ihtdrgbqdONYD156Ap6qTcaGcGdkdAxodO1wLqQ/j7HP1u2sFYppINiq4jyC8F+Nm+4fVufylCV00QmkTHkSUg==} engines: {node: '>=16'} dependencies: @@ -24782,7 +24800,7 @@ packages: error-ex: 1.3.2 json-parse-even-better-errors: 3.0.0 lines-and-columns: 2.0.4 - type-fest: 3.10.0(typescript@5.2.2) + type-fest: 3.10.0(typescript@5.0.4) transitivePeerDependencies: - typescript dev: false @@ -25194,7 +25212,7 @@ packages: klona: 2.0.5 postcss: 8.4.14 semver: 7.5.4 - webpack: 5.89.0(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.89.0(@swc/core@1.3.76) /postcss-loader@7.0.0(postcss@8.4.14)(webpack@5.88.2): resolution: {integrity: sha512-IDyttebFzTSY6DI24KuHUcBjbAev1i+RyICoPEWcAstZsj03r533uMXtDn506l6/wlsRYiS5XBdx7TpccCsyUg==} @@ -25207,7 +25225,7 @@ packages: klona: 2.0.5 postcss: 8.4.14 semver: 7.5.4 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) dev: true /postcss-merge-idents@5.1.1(postcss@8.4.14): @@ -26077,7 +26095,7 @@ packages: dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.89.0(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.89.0(@swc/core@1.3.76) dev: true /rc@1.2.8: @@ -26131,7 +26149,7 @@ packages: react-dom: 18.2.0(react@18.2.0) dev: true - /react-dev-utils@12.0.1(eslint@8.41.0)(typescript@5.2.2)(webpack@5.88.2): + /react-dev-utils@12.0.1(eslint@8.41.0)(typescript@5.0.4)(webpack@5.88.2): resolution: {integrity: sha512-84Ivxmr17KjUupyqzFode6xKhjwuEJDROWKJy/BthkL7Wn6NJ8h4WE6k/exAv6ImS+0oZLRRW5j/aINMHyeGeQ==} engines: {node: '>=14'} peerDependencies: @@ -26150,7 +26168,7 @@ packages: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.1(eslint@8.41.0)(typescript@5.2.2)(webpack@5.88.2) + fork-ts-checker-webpack-plugin: 6.5.1(eslint@8.41.0)(typescript@5.0.4)(webpack@5.88.2) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -26165,20 +26183,20 @@ packages: shell-quote: 1.7.3 strip-ansi: 6.0.1 text-table: 0.2.0 - typescript: 5.2.2 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + typescript: 5.0.4 + webpack: 5.88.2(@swc/core@1.3.76) transitivePeerDependencies: - eslint - supports-color - vue-template-compiler dev: true - /react-docgen-typescript@2.2.2(typescript@5.2.2): + /react-docgen-typescript@2.2.2(typescript@5.0.4): resolution: {integrity: sha512-tvg2ZtOpOi6QDwsb3GZhOjDkkX0h8Z2gipvTg6OVMUyoYoURhEiRNePT8NZItTVCDh39JJHnLdfCOkzoLbFnTg==} peerDependencies: typescript: '>= 4.3.x' dependencies: - typescript: 5.2.2 + typescript: 5.0.4 dev: true /react-docgen@6.0.0-alpha.3: @@ -26222,6 +26240,16 @@ packages: react-is: 18.1.0 dev: true + /react-error-boundary@3.1.4(react@17.0.2): + resolution: {integrity: sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==} + engines: {node: '>=10', npm: '>=6'} + peerDependencies: + react: '>=16.13.1' + dependencies: + '@babel/runtime': 7.22.6 + react: 17.0.2 + dev: false + /react-error-boundary@3.1.4(react@18.2.0): resolution: {integrity: sha512-uM9uPzZJTF6wRQORmSrvOIgt4lJ9MC1sNgEOj2XGsDTRE4kmpWxg7ENK9EWNKJRMAOY9z0MuF4yIfl6gp4sotA==} engines: {node: '>=10', npm: '>=6'} @@ -26291,7 +26319,7 @@ packages: react: 18.2.0 dev: false - /react-intl@6.4.4(react@18.2.0)(typescript@5.2.2): + /react-intl@6.4.4(react@18.2.0)(typescript@5.0.4): resolution: {integrity: sha512-/C9Sl/5//ohfkNG6AWlJuf4BhTXsbzyk93K62A4zRhSPANyOGpKZ+fWhN+TLfFd5YjDUHy+exU/09y0w1bO4Xw==} peerDependencies: react: ^16.6.0 || 17 || 18 @@ -26302,7 +26330,7 @@ packages: dependencies: '@formatjs/ecma402-abstract': 1.17.0 '@formatjs/icu-messageformat-parser': 2.6.0 - '@formatjs/intl': 2.9.0(typescript@5.2.2) + '@formatjs/intl': 2.9.0(typescript@5.0.4) '@formatjs/intl-displaynames': 6.5.0 '@formatjs/intl-listformat': 7.4.0 '@types/hoist-non-react-statics': 3.3.1 @@ -26311,7 +26339,7 @@ packages: intl-messageformat: 10.5.0 react: 18.2.0 tslib: 2.6.2 - typescript: 5.2.2 + typescript: 5.0.4 dev: false /react-is@16.13.1: @@ -26375,7 +26403,7 @@ packages: dependencies: '@babel/runtime': 7.22.6 react-loadable: /@docusaurus/react-loadable@5.5.2(react@18.2.0) - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) dev: true /react-refresh@0.14.0: @@ -26540,12 +26568,12 @@ packages: pify: 2.3.0 dev: true - /read-pkg-up@10.1.0(typescript@5.2.2): + /read-pkg-up@10.1.0(typescript@5.0.4): resolution: {integrity: sha512-aNtBq4jR8NawpKJQldrQcSW9y/d+KWH4v24HWkHljOZ7H0av+YTGANBzRh9A5pw7v/bLVsLVPpOhJ7gHNVy8lA==} engines: {node: '>=16'} dependencies: find-up: 6.3.0 - read-pkg: 8.1.0(typescript@5.2.2) + read-pkg: 8.1.0(typescript@5.0.4) type-fest: 4.3.1 transitivePeerDependencies: - typescript @@ -26577,13 +26605,13 @@ packages: parse-json: 5.2.0 type-fest: 0.6.0 - /read-pkg@8.1.0(typescript@5.2.2): + /read-pkg@8.1.0(typescript@5.0.4): resolution: {integrity: sha512-PORM8AgzXeskHO/WEv312k9U03B8K9JSiWF/8N9sUuFjBa+9SF2u6K7VClzXwDXab51jCd8Nd36CNM+zR97ScQ==} engines: {node: '>=16'} dependencies: '@types/normalize-package-data': 2.4.1 normalize-package-data: 6.0.0 - parse-json: 7.1.0(typescript@5.2.2) + parse-json: 7.1.0(typescript@5.0.4) type-fest: 4.3.1 transitivePeerDependencies: - typescript @@ -28592,6 +28620,56 @@ packages: serialize-javascript: 6.0.1 terser: 5.17.6 webpack: 5.89.0(@swc/core@1.3.76)(esbuild@0.17.19) + dev: false + + /terser-webpack-plugin@5.3.9(@swc/core@1.3.76)(webpack@5.88.2): + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.20 + '@swc/core': 1.3.76 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.1 + terser: 5.17.6 + webpack: 5.88.2(@swc/core@1.3.76) + dev: true + + /terser-webpack-plugin@5.3.9(@swc/core@1.3.76)(webpack@5.89.0): + resolution: {integrity: sha512-ZuXsqE07EcggTWQjXUj+Aot/OMcD0bMKGgF63f7UxYcu5/AJF53aIpK1YoP5xR9l6s/Hy2b+t1AM0bLNPRuhwA==} + engines: {node: '>= 10.13.0'} + peerDependencies: + '@swc/core': '*' + esbuild: '*' + uglify-js: '*' + webpack: ^5.1.0 + peerDependenciesMeta: + '@swc/core': + optional: true + esbuild: + optional: true + uglify-js: + optional: true + dependencies: + '@jridgewell/trace-mapping': 0.3.20 + '@swc/core': 1.3.76 + jest-worker: 27.5.1 + schema-utils: 3.3.0 + serialize-javascript: 6.0.1 + terser: 5.17.6 + webpack: 5.89.0(@swc/core@1.3.76) /terser@4.8.0: resolution: {integrity: sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==} @@ -29064,15 +29142,6 @@ packages: typescript: 5.0.4 dev: false - /type-fest@3.10.0(typescript@5.2.2): - resolution: {integrity: sha512-hmAPf1datm+gt3c2mvu0sJyhFy6lTkIGf0GzyaZWxRLnabQfPUqg6tF95RPg6sLxKI7nFLGdFxBcf2/7+GXI+A==} - engines: {node: '>=14.16'} - peerDependencies: - typescript: '>=4.7.0' - dependencies: - typescript: 5.2.2 - dev: false - /type-fest@4.3.1: resolution: {integrity: sha512-pphNW/msgOUSkJbH58x8sqpq8uQj6b0ZKGxEsLKMUnGorRcDjrUaLS+39+/ub41JNTwrrMyJcUB8+YZs3mbwqw==} engines: {node: '>=16'} @@ -29106,15 +29175,9 @@ packages: resolution: {integrity: sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==} engines: {node: '>=12.20'} hasBin: true - dev: false - - /typescript@5.2.2: - resolution: {integrity: sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==} - engines: {node: '>=14.17'} - hasBin: true - /typescript@5.4.0-dev.20231108: - resolution: {integrity: sha512-/DNtrqpbir9XaRxE6qwjhB94pCZzw/9R/PhB8309frJBEBGZ5qSDqstl7YYbhWbqs+zWpCCbwBjWDGlz8wn8GA==} + /typescript@5.4.0-dev.20231109: + resolution: {integrity: sha512-wX5CSyZbJ0xsgAe0Fyefs8eqEe7o7mp7Nv5EHydBYFpJI/FWZFc4rSF2mGNNZ/1D7JMQgwjCAkZd/2TTF3m/Uw==} engines: {node: '>=14.17'} hasBin: true dev: false @@ -29441,7 +29504,7 @@ packages: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) dev: true /url-parse-lax@1.0.0: @@ -29882,7 +29945,7 @@ packages: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) webpack-dev-middleware: 5.3.1(webpack@5.88.2) ws: 8.13.0 transitivePeerDependencies: @@ -29924,6 +29987,46 @@ packages: resolution: {integrity: sha512-5tyDlKLqPfMqjT3Q9TAqf2YqjwmnUleZwzJi1A5qXnlBCdj2AtOJ6wAWdglTIDOPgOiOrXeBeFcsQ8+aGQ6QbA==} dev: true + /webpack@5.88.2(@swc/core@1.3.76): + resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.5 + '@types/estree': 1.0.2 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + acorn: 8.10.0 + acorn-import-assertions: 1.9.0(acorn@8.10.0) + browserslist: 4.22.1 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.15.0 + es-module-lexer: 1.3.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.9(@swc/core@1.3.76)(webpack@5.88.2) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + /webpack@5.88.2(@swc/core@1.3.76)(esbuild@0.17.19): resolution: {integrity: sha512-JmcgNZ1iKj+aiR0OvTYtWQqJwq37Pf683dY9bVORwVbUrDhLhdn/PlO2sHsFHPkj7sHNQF3JwaAkp49V+Sq1tQ==} engines: {node: '>=10.13.0'} @@ -29963,6 +30066,45 @@ packages: - esbuild - uglify-js + /webpack@5.89.0(@swc/core@1.3.76): + resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.7 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + acorn: 8.11.2 + acorn-import-assertions: 1.9.0(acorn@8.11.2) + browserslist: 4.22.1 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.15.0 + es-module-lexer: 1.3.1 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.9(@swc/core@1.3.76)(webpack@5.89.0) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + /webpack@5.89.0(@swc/core@1.3.76)(esbuild@0.17.19): resolution: {integrity: sha512-qyfIC10pOr70V+jkmud8tMfajraGCZMBWJtrmuBymQKCrLTRejBI8STDp1MCyZu/QTdZSeacCQYpYNQVOzX5kw==} engines: {node: '>=10.13.0'} @@ -30001,6 +30143,7 @@ packages: - '@swc/core' - esbuild - uglify-js + dev: false /webpackbar@5.0.2(webpack@5.88.2): resolution: {integrity: sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==} @@ -30012,7 +30155,7 @@ packages: consola: 2.15.3 pretty-time: 1.1.0 std-env: 3.1.1 - webpack: 5.88.2(@swc/core@1.3.76)(esbuild@0.17.19) + webpack: 5.88.2(@swc/core@1.3.76) dev: true /websocket-driver@0.7.4: @@ -30503,7 +30646,7 @@ packages: /zwitch@1.0.5: resolution: {integrity: sha512-V50KMwwzqJV0NpZIZFwfOD5/lyny3WlSzRiXgA0G7VUnRlqttta1L6UQIHzd6EuBY/cHGfwTIck7w1yH6Q5zUw==} - '@github.com/ocavue/tsup/tarball/ocavue-release-2023-10-05-a(@microsoft/api-extractor@7.37.0)(@swc/core@1.3.76)(typescript@5.2.2)': + '@github.com/ocavue/tsup/tarball/ocavue-release-2023-10-05-a(@microsoft/api-extractor@7.37.0)(@swc/core@1.3.76)(typescript@5.0.4)': resolution: {tarball: https://github.com/ocavue/tsup/tarball/ocavue-release-2023-10-05-a} id: '@github.com/ocavue/tsup/tarball/ocavue-release-2023-10-05-a' name: tsup @@ -30541,7 +30684,7 @@ packages: source-map: 0.8.0-beta.0 sucrase: 3.34.0 tree-kill: 1.2.2 - typescript: 5.2.2 + typescript: 5.0.4 transitivePeerDependencies: - supports-color - ts-node diff --git a/tsconfig.json b/tsconfig.json index 9132db6f9e..cc3f679ac2 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -353,9 +353,6 @@ { "path": "packages/remirror__extension-react-component/src" }, - { - "path": "packages/remirror__extension-react-language-select/src" - }, { "path": "packages/remirror__extension-react-ssr/__tests__" },