From 72d3b629b0f26cf4d3063f2cb14c2db52736611b Mon Sep 17 00:00:00 2001 From: Andrea Rutrecht Date: Wed, 31 Jan 2024 10:19:05 +0100 Subject: [PATCH 1/7] Refactor styling from 'Rte' in 'admin-rte' --- packages/admin/admin-rte/package.json | 1 + packages/admin/admin-rte/src/core/Rte.tsx | 115 +++--- pnpm-lock.yaml | 414 ++++++++++++++++------ 3 files changed, 385 insertions(+), 145 deletions(-) diff --git a/packages/admin/admin-rte/package.json b/packages/admin/admin-rte/package.json index df1c0570f2..42f011adc2 100644 --- a/packages/admin/admin-rte/package.json +++ b/packages/admin/admin-rte/package.json @@ -25,6 +25,7 @@ "start:types": "tsc --project ./tsconfig.json --emitDeclarationOnly --watch --preserveWatchOutput" }, "dependencies": { + "@comet/admin": "workspace:^5.3.0", "@comet/admin-icons": "workspace:^5.3.0", "detect-browser": "^5.2.1", "draftjs-conductor": "^3.0.0", diff --git a/packages/admin/admin-rte/src/core/Rte.tsx b/packages/admin/admin-rte/src/core/Rte.tsx index 02caa1a8ea..997f3383e8 100644 --- a/packages/admin/admin-rte/src/core/Rte.tsx +++ b/packages/admin/admin-rte/src/core/Rte.tsx @@ -1,7 +1,8 @@ import "draft-js/dist/Draft.css"; // important for nesting of ul/ol -import { ComponentsOverrides, Theme } from "@mui/material"; -import { createStyles, WithStyles, withStyles } from "@mui/styles"; +import { ThemedComponentBaseProps } from "@comet/admin"; +import { ComponentsOverrides, css, Theme, useThemeProps } from "@mui/material"; +import { styled } from "@mui/material/styles"; import { DraftBlockType, DraftEditorCommand, @@ -90,7 +91,11 @@ export type FilterEditorStateBeforeUpdateFn = ( context: Pick, ) => EditorState; -export interface RteProps { +export interface RteProps + extends ThemedComponentBaseProps<{ + root: "div"; + editor: "div"; + }> { value: EditorState; onChange: OnEditorStateChangeFn; options?: IOptions; @@ -148,13 +153,31 @@ export const styleMap = { }, }; -const Rte: React.RefForwardingComponent> = (props, ref) => { - const { value: editorState, onChange, options: passedOptions, disabled, classes } = props; +export const Rte: React.ForwardRefRenderFunction = (inProps: RteProps, ref) => { + //move ref to props? + const { + value: editorState, + onChange, + options: rteOptions, + disabled, + minHeight, + colors, + slotProps, + ...restProps + } = useThemeProps({ + props: inProps, + name: "CometAdminRte", + }); + + const ownerState: OwnerState = { + disabled, + }; + const editorRef = React.useRef(null); const editorWrapperRef = React.useRef(null); // merge default options with passed options - let options = passedOptions ? { ...defaultOptions, ...passedOptions } : defaultOptions; + let options = rteOptions ? { ...defaultOptions, ...rteOptions } : defaultOptions; // extract deprecated options and handle them specially let deprecatedCustomBlockMap: ICustomBlockTypeMap_Deprecated = {}; @@ -266,9 +289,6 @@ const Rte: React.RefForwardingComponent + -
+ -
- + +
); }; export type RteClassKey = "root" | "disabled" | "editor"; -const styles = (theme: Theme) => { - const rteTheme = getRteTheme(theme.components?.CometAdminRte?.defaultProps); +type OwnerState = Pick; - return createStyles({ - root: { - border: `1px solid ${rteTheme.colors.border}`, - borderTopWidth: 0, - backgroundColor: "#fff", - }, - disabled: { - "& $editor": { - color: theme.palette.text.disabled, - }, - }, - editor: { - "& .public-DraftEditor-content": { - minHeight: "var(--comet-admin-rte-min-height)", - padding: 20, - boxSizing: "border-box", - }, - }, - }); -}; +const Root = styled("div", { + name: "CometAdminRte", + slot: "root", + overridesResolver({ ownerState }: { ownerState: OwnerState }, styles) { + return [styles.root, ownerState.disabled && styles.disabled]; + }, +})<{ ownerState: OwnerState }>( + ({ theme, ownerState }) => css` + border: 1px solid ${getRteTheme(theme.components?.CometAdminRte?.defaultProps).colors.border}; + border-top-width: 0; + background-color: #fff; + + ${ownerState.disabled && css``}// check that. needs it? + `, +); + +const Editor = styled("div", { + name: "CometAdminRte", + slot: "editor", + overridesResolver({ ownerState }: { ownerState: OwnerState }, styles) { + return [styles.editor, ownerState.disabled && styles.disabled]; + }, +})<{ ownerState: OwnerState }>( + ({ ownerState, theme }) => css` + & .public-DraftEditor-content { + min-height: 240px; + padding: 20px; + box-sizing: border-box; + } -export default withStyles(styles, { name: "CometAdminRte" })(React.forwardRef(Rte)); + ${ownerState.disabled && + css` + color: ${theme.palette.text.disabled}; + `} // check that + + ${ownerState.minHeight && + css` + min-height: ${ownerState.minHeight}; + `} + `, +); declare module "@mui/material/styles" { interface ComponentNameToClassKey { @@ -355,7 +390,7 @@ declare module "@mui/material/styles" { interface Components { CometAdminRte?: { - defaultProps?: ComponentsPropsList["CometAdminRte"]; + defaultProps?: Partial; styleOverrides?: ComponentsOverrides["CometAdminRte"]; }; } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 9573a4d184..32c693385b 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -817,25 +817,25 @@ importers: version: 3.7.4(graphql@15.8.0)(react-dom@17.0.2)(react@17.0.2) '@comet/admin': specifier: '*' - version: link:../packages/admin/admin + version: 6.0.0(@apollo/client@3.7.4)(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/x-data-grid@5.17.20)(@types/react@17.0.53)(final-form@4.20.9)(graphql@15.8.0)(history@4.10.1)(react-dnd@16.0.1)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react-router-dom@5.3.4)(react-router@5.3.4)(react@17.0.2) '@comet/admin-color-picker': specifier: '*' - version: link:../packages/admin/admin-color-picker + version: 6.0.0(@apollo/client@3.7.4)(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/x-data-grid@5.17.20)(@types/react@17.0.53)(final-form@4.20.9)(graphql@15.8.0)(history@4.10.1)(react-dnd@16.0.1)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react-router-dom@5.3.4)(react-router@5.3.4)(react@17.0.2) '@comet/admin-date-time': specifier: '*' - version: link:../packages/admin/admin-date-time + version: 6.0.0(@apollo/client@3.7.4)(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/x-data-grid@5.17.20)(@types/react@17.0.53)(final-form@4.20.9)(graphql@15.8.0)(history@4.10.1)(react-dnd@16.0.1)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react-router-dom@5.3.4)(react-router@5.3.4)(react@17.0.2) '@comet/admin-icons': specifier: '*' - version: link:../packages/admin/admin-icons + version: 6.0.0(@mui/material@5.11.6)(react-dom@17.0.2)(react@17.0.2) '@comet/admin-react-select': specifier: '*' - version: link:../packages/admin/admin-react-select + version: 6.0.0(@apollo/client@3.7.4)(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/x-data-grid@5.17.20)(@types/react@17.0.53)(final-form@4.20.9)(graphql@15.8.0)(history@4.10.1)(react-dnd@16.0.1)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react-router-dom@5.3.4)(react-router@5.3.4)(react@17.0.2) '@comet/admin-rte': specifier: '*' - version: link:../packages/admin/admin-rte + version: 6.0.0(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(final-form@4.20.9)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react@17.0.2) '@comet/admin-theme': specifier: '*' - version: link:../packages/admin/admin-theme + version: 6.0.0(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/system@5.11.5)(react-dom@17.0.2)(react@17.0.2) '@docusaurus/core': specifier: 2.4.1 version: 2.4.1(@docusaurus/types@2.4.1)(react-dom@17.0.2)(react@17.0.2)(typescript@4.9.4) @@ -1474,6 +1474,9 @@ importers: packages/admin/admin-rte: dependencies: + '@comet/admin': + specifier: workspace:^5.3.0 + version: link:../admin '@comet/admin-icons': specifier: workspace:^5.3.0 version: link:../admin-icons @@ -2639,7 +2642,7 @@ importers: devDependencies: '@comet/eslint-config': specifier: ^5.3.0 - version: link:../eslint-config + version: 5.6.0(eslint@8.32.0)(prettier@2.8.3)(typescript@4.9.4) '@types/node': specifier: ^18.0.0 version: 18.15.3 @@ -3212,7 +3215,7 @@ packages: '@babel/generator': 7.20.7 '@babel/parser': 7.20.13 '@babel/runtime': 7.20.13 - '@babel/traverse': 7.20.13(supports-color@5.5.0) + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 babel-preset-fbjs: 3.4.0(@babel/core@7.22.11) chalk: 4.1.2 @@ -4288,10 +4291,10 @@ packages: '@babel/helpers': 7.20.13 '@babel/parser': 7.20.13 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.13(supports-color@5.5.0) + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 convert-source-map: 1.9.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@9.3.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.0 @@ -4313,7 +4316,7 @@ packages: '@babel/traverse': 7.22.11 '@babel/types': 7.22.11 convert-source-map: 1.9.0 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@9.3.1) gensync: 1.0.0-beta.2 json5: 2.2.3 semver: 6.3.1 @@ -4560,7 +4563,7 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/helper-validator-identifier': 7.19.1 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.13(supports-color@5.5.0) + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -4633,7 +4636,7 @@ packages: '@babel/helper-member-expression-to-functions': 7.20.7 '@babel/helper-optimise-call-expression': 7.18.6 '@babel/template': 7.20.7 - '@babel/traverse': 7.20.13(supports-color@5.5.0) + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -4708,7 +4711,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/template': 7.20.7 - '@babel/traverse': 7.20.13(supports-color@5.5.0) + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 transitivePeerDependencies: - supports-color @@ -6753,7 +6756,7 @@ packages: '@babel/helper-split-export-declaration': 7.18.6 '@babel/parser': 7.20.13 '@babel/types': 7.20.7 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@9.3.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -6787,7 +6790,7 @@ packages: '@babel/helper-split-export-declaration': 7.22.6 '@babel/parser': 7.22.14 '@babel/types': 7.22.11 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@9.3.1) globals: 11.12.0 transitivePeerDependencies: - supports-color @@ -6820,7 +6823,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: requireindex: 1.1.0 - dev: false /@changesets/apply-release-plan@6.1.3: resolution: {integrity: sha512-ECDNeoc3nfeAe1jqJb5aFQX7CqzQhD2klXRez2JDb/aVpGUbX673HgKrnrgJRuQR/9f2TtLoYIzrGB9qwD77mg==} @@ -7004,6 +7006,243 @@ packages: requiresBuild: true optional: true + /@comet/admin-color-picker@6.0.0(@apollo/client@3.7.4)(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/x-data-grid@5.17.20)(@types/react@17.0.53)(final-form@4.20.9)(graphql@15.8.0)(history@4.10.1)(react-dnd@16.0.1)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react-router-dom@5.3.4)(react-router@5.3.4)(react@17.0.2): + resolution: {integrity: sha512-5gYTW4E2W0PLT1251TYtG8dUtx28pwEWE1O8tjlXGMge5e3YBz9MCrPE6Nn9EqfkJ89MJnSagCK2dLi8BdJ0CQ==} + peerDependencies: + '@mui/icons-material': ^5.0.0 + '@mui/material': ^5.0.0 + '@mui/styles': ^5.0.0 + react: ^17.0 + react-dom: ^17.0 + react-final-form: ^6.3.1 + react-intl: ^5.24.6 + dependencies: + '@comet/admin': 6.0.0(@apollo/client@3.7.4)(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/x-data-grid@5.17.20)(@types/react@17.0.53)(final-form@4.20.9)(graphql@15.8.0)(history@4.10.1)(react-dnd@16.0.1)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react-router-dom@5.3.4)(react-router@5.3.4)(react@17.0.2) + '@comet/admin-icons': 6.0.0(@mui/material@5.11.6)(react-dom@17.0.2)(react@17.0.2) + '@mui/icons-material': 5.11.0(@mui/material@5.11.6)(@types/react@17.0.53)(react@17.0.2) + '@mui/material': 5.11.6(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@types/react@17.0.53)(react-dom@17.0.2)(react@17.0.2) + '@mui/styles': 5.11.2(@types/react@17.0.53)(react@17.0.2) + clsx: 1.2.1 + react: 17.0.2 + react-colorful: 5.6.1(react-dom@17.0.2)(react@17.0.2) + react-dom: 17.0.2(react@17.0.2) + react-final-form: 6.5.9(final-form@4.20.9)(react@17.0.2) + react-intl: 5.25.1(react@17.0.2)(typescript@4.9.4) + tinycolor2: 1.5.2 + use-debounce: 6.0.1(react@17.0.2) + transitivePeerDependencies: + - '@apollo/client' + - '@emotion/react' + - '@emotion/styled' + - '@mui/x-data-grid' + - '@mui/x-data-grid-premium' + - '@mui/x-data-grid-pro' + - '@types/react' + - final-form + - graphql + - history + - react-dnd + - react-router + - react-router-dom + dev: false + + /@comet/admin-date-time@6.0.0(@apollo/client@3.7.4)(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/x-data-grid@5.17.20)(@types/react@17.0.53)(final-form@4.20.9)(graphql@15.8.0)(history@4.10.1)(react-dnd@16.0.1)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react-router-dom@5.3.4)(react-router@5.3.4)(react@17.0.2): + resolution: {integrity: sha512-fm2wfw0RNl+LiB+3DE491QDlcOddL052+Cjr80A6bzHNbhD6N3DpL3nsWbF5BYZL1cX66hJSFrBgmR13d3hxNQ==} + peerDependencies: + '@mui/material': ^5.0.0 + '@mui/styles': ^5.0.0 + react: ^17.0 + react-dom: ^17.0 + react-final-form: ^6.5.7 + react-intl: ^5.24.6 + dependencies: + '@comet/admin': 6.0.0(@apollo/client@3.7.4)(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/x-data-grid@5.17.20)(@types/react@17.0.53)(final-form@4.20.9)(graphql@15.8.0)(history@4.10.1)(react-dnd@16.0.1)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react-router-dom@5.3.4)(react-router@5.3.4)(react@17.0.2) + '@comet/admin-icons': 6.0.0(@mui/material@5.11.6)(react-dom@17.0.2)(react@17.0.2) + '@mui/material': 5.11.6(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@types/react@17.0.53)(react-dom@17.0.2)(react@17.0.2) + '@mui/styles': 5.11.2(@types/react@17.0.53)(react@17.0.2) + '@mui/utils': 5.11.2(react@17.0.2) + clsx: 1.2.1 + date-fns: 2.29.3 + react: 17.0.2 + react-date-range: 1.4.0(date-fns@2.29.3)(react@17.0.2) + react-dom: 17.0.2(react@17.0.2) + react-final-form: 6.5.9(final-form@4.20.9)(react@17.0.2) + react-intl: 5.25.1(react@17.0.2)(typescript@4.9.4) + transitivePeerDependencies: + - '@apollo/client' + - '@emotion/react' + - '@emotion/styled' + - '@mui/icons-material' + - '@mui/x-data-grid' + - '@mui/x-data-grid-premium' + - '@mui/x-data-grid-pro' + - '@types/react' + - final-form + - graphql + - history + - react-dnd + - react-router + - react-router-dom + dev: false + + /@comet/admin-icons@6.0.0(@mui/material@5.11.6)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-VNh+62H3dnZ5pvJEUX5MJ2zLir6fiTPXYkDl8yCmJ48Vm/YxagTljlCUbp+DcJYrM6PA/qMlheE6lnqdIG3+LA==} + peerDependencies: + '@mui/material': ^5.0.0 + react: ^17.0 + react-dom: ^17.0 + dependencies: + '@mui/material': 5.11.6(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@types/react@17.0.53)(react-dom@17.0.2)(react@17.0.2) + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + dev: false + + /@comet/admin-react-select@6.0.0(@apollo/client@3.7.4)(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/x-data-grid@5.17.20)(@types/react@17.0.53)(final-form@4.20.9)(graphql@15.8.0)(history@4.10.1)(react-dnd@16.0.1)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react-router-dom@5.3.4)(react-router@5.3.4)(react@17.0.2): + resolution: {integrity: sha512-36VWyrmorT6Sqvd5Fu7hocpFCWituEQRyruEexG2HdWq1Ts4B+yyheCul9lfcla3A+XMHPqmK9t7oyuUP/yG2Q==} + peerDependencies: + '@mui/icons-material': ^5.0.0 + '@mui/material': ^5.0.0 + '@mui/styles': ^5.0.0 + final-form: ^4.16.1 + react: ^17.0 + react-dom: ^17.0 + react-final-form: ^6.3.1 + react-select: ^3.0.4 + dependencies: + '@comet/admin': 6.0.0(@apollo/client@3.7.4)(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/x-data-grid@5.17.20)(@types/react@17.0.53)(final-form@4.20.9)(graphql@15.8.0)(history@4.10.1)(react-dnd@16.0.1)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react-router-dom@5.3.4)(react-router@5.3.4)(react@17.0.2) + '@mui/icons-material': 5.11.0(@mui/material@5.11.6)(@types/react@17.0.53)(react@17.0.2) + '@mui/material': 5.11.6(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@types/react@17.0.53)(react-dom@17.0.2)(react@17.0.2) + '@mui/styles': 5.11.2(@types/react@17.0.53)(react@17.0.2) + classnames: 2.3.2 + final-form: 4.20.9 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-final-form: 6.5.9(final-form@4.20.9)(react@17.0.2) + transitivePeerDependencies: + - '@apollo/client' + - '@emotion/react' + - '@emotion/styled' + - '@mui/x-data-grid' + - '@mui/x-data-grid-premium' + - '@mui/x-data-grid-pro' + - '@types/react' + - graphql + - history + - react-dnd + - react-intl + - react-router + - react-router-dom + dev: false + + /@comet/admin-rte@6.0.0(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(final-form@4.20.9)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react@17.0.2): + resolution: {integrity: sha512-9WddOXtYH71a4hmjyexZHurEauEV6Tr2BFmQjCaf77LUrHOuDbH9/FMicqyu10lrD61zvJRrxLxsEbpt6r7WnQ==} + peerDependencies: + '@mui/icons-material': ^5.0.0 + '@mui/material': ^5.0.0 + '@mui/styles': ^5.0.0 + draft-js: ^0.11.4 + final-form: ^4.16.1 + react: ^17.0 + react-dom: ^17.0 + react-final-form: ^6.3.1 + react-intl: ^5.10.0 + dependencies: + '@comet/admin-icons': 6.0.0(@mui/material@5.11.6)(react-dom@17.0.2)(react@17.0.2) + '@mui/icons-material': 5.11.0(@mui/material@5.11.6)(@types/react@17.0.53)(react@17.0.2) + '@mui/material': 5.11.6(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@types/react@17.0.53)(react-dom@17.0.2)(react@17.0.2) + '@mui/styles': 5.11.2(@types/react@17.0.53)(react@17.0.2) + detect-browser: 5.3.0 + draftjs-conductor: 3.0.0(draft-js@0.11.7) + final-form: 4.20.9 + immutable: 3.7.6 + react: 17.0.2 + react-dom: 17.0.2(react@17.0.2) + react-final-form: 6.5.9(final-form@4.20.9)(react@17.0.2) + react-intl: 5.25.1(react@17.0.2)(typescript@4.9.4) + dev: false + + /@comet/admin-theme@6.0.0(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/system@5.11.5)(react-dom@17.0.2)(react@17.0.2): + resolution: {integrity: sha512-3KouYLXS7UY9UdALfC2NNX6V+GaLilaSdpLTRRFa4y7Ss+bgktW13t19AvP3D9A3H78+3zn3Y2BPn19o+xwZ+Q==} + peerDependencies: + '@mui/material': ^5.0.0 + '@mui/styles': ^5.0.0 + '@mui/system': ^5.0.0 + react: ^17.0 + dependencies: + '@comet/admin-icons': 6.0.0(@mui/material@5.11.6)(react-dom@17.0.2)(react@17.0.2) + '@mui/material': 5.11.6(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@types/react@17.0.53)(react-dom@17.0.2)(react@17.0.2) + '@mui/styles': 5.11.2(@types/react@17.0.53)(react@17.0.2) + '@mui/system': 5.11.5(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@types/react@17.0.53)(react@17.0.2) + '@mui/utils': 5.11.2(react@17.0.2) + react: 17.0.2 + transitivePeerDependencies: + - react-dom + dev: false + + /@comet/admin@6.0.0(@apollo/client@3.7.4)(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@mui/icons-material@5.11.0)(@mui/material@5.11.6)(@mui/styles@5.11.2)(@mui/x-data-grid@5.17.20)(@types/react@17.0.53)(final-form@4.20.9)(graphql@15.8.0)(history@4.10.1)(react-dnd@16.0.1)(react-dom@17.0.2)(react-final-form@6.5.9)(react-intl@5.25.1)(react-router-dom@5.3.4)(react-router@5.3.4)(react@17.0.2): + resolution: {integrity: sha512-sKqKw2KD9BgvCjctzg86O3V3T5U7ouUCCMPRRszW7kmR5WF+OMQGCpS8PolSu7WS+mTunLxMV9ZhbS08HQzcJQ==} + peerDependencies: + '@apollo/client': ^3.7.0 + '@emotion/react': ^11.5.0 + '@emotion/styled': ^11.3.0 + '@mui/icons-material': ^5.0.0 + '@mui/material': ^5.0.0 + '@mui/styles': ^5.0.0 + '@mui/x-data-grid': ^5.0.0 + '@mui/x-data-grid-premium': ^5.0.0 + '@mui/x-data-grid-pro': ^5.0.0 + final-form: ^4.16.1 + graphql: ^14.0.0 || ^15.0.0 || ^16.0.0 + history: ^4.10.1 + react: ^17.0 + react-dnd: ^16.0.0 + react-dom: ^17.0 + react-final-form: ^6.3.1 + react-intl: ^5.10.0 + react-router: ^5.1.2 + react-router-dom: ^5.1.2 + peerDependenciesMeta: + '@mui/x-data-grid-premium': + optional: true + '@mui/x-data-grid-pro': + optional: true + react-dnd: + optional: true + dependencies: + '@apollo/client': 3.7.4(graphql@15.8.0)(react-dom@17.0.2)(react@17.0.2) + '@comet/admin-icons': 6.0.0(@mui/material@5.11.6)(react-dom@17.0.2)(react@17.0.2) + '@emotion/react': 11.9.3(@babel/core@7.22.11)(@types/react@17.0.53)(react@17.0.2) + '@emotion/styled': 11.10.5(@babel/core@7.22.11)(@emotion/react@11.9.3)(@types/react@17.0.53)(react@17.0.2) + '@mui/icons-material': 5.11.0(@mui/material@5.11.6)(@types/react@17.0.53)(react@17.0.2) + '@mui/material': 5.11.6(@emotion/react@11.9.3)(@emotion/styled@11.10.5)(@types/react@17.0.53)(react-dom@17.0.2)(react@17.0.2) + '@mui/private-theming': 5.11.2(@types/react@17.0.53)(react@17.0.2) + '@mui/styles': 5.11.2(@types/react@17.0.53)(react@17.0.2) + '@mui/x-data-grid': 5.17.20(@mui/material@5.11.6)(@mui/system@5.11.5)(react-dom@17.0.2)(react@17.0.2) + clsx: 1.2.1 + exceljs: 3.10.0 + file-saver: 2.0.5 + final-form: 4.20.9 + final-form-set-field-data: 1.0.2(final-form@4.20.9) + graphql: 15.8.0 + history: 4.10.1 + http-status-codes: 2.3.0 + is-mobile: 4.0.0 + lodash.debounce: 4.0.8 + lodash.isequal: 4.5.0 + query-string: 6.14.1 + react: 17.0.2 + react-dnd: 16.0.1(@types/node@18.15.3)(@types/react@17.0.53)(react@17.0.2) + react-dom: 17.0.2(react@17.0.2) + react-final-form: 6.5.9(final-form@4.20.9)(react@17.0.2) + react-intl: 5.25.1(react@17.0.2)(typescript@4.9.4) + react-router: 5.3.4(react@17.0.2) + react-router-dom: 5.3.4(react@17.0.2) + use-constant: 1.1.1(react@17.0.2) + uuid: 9.0.0 + transitivePeerDependencies: + - '@types/react' + dev: false + /@comet/dev-process-manager@2.3.2: resolution: {integrity: sha512-SOP1H8rZBpNhgRzFMofiZPtXYzU16s/uD4ME3J7IXPtqsHNkSjm+WD1LzpK1czVqWAGgowZsXbjL46cYPt41oA==} engines: {node: '>=14'} @@ -7023,6 +7262,49 @@ packages: - debug dev: true + /@comet/eslint-config@5.6.0(eslint@8.32.0)(prettier@2.8.3)(typescript@4.9.4): + resolution: {integrity: sha512-SWjtBShhN6PZAT5v46LoYNlUTNo44TaLTKPEwGER0nOTmQ2X5gcljpmgks9/ZAvPI7oRm++DAoxkTZLu00O8wQ==} + peerDependencies: + eslint: '>= 8' + next: '*' + prettier: '>= 2' + peerDependenciesMeta: + next: + optional: true + dependencies: + '@calm/eslint-plugin-react-intl': 1.4.1 + '@comet/eslint-plugin': 5.6.0(eslint@8.32.0) + '@next/eslint-plugin-next': 12.3.4 + '@typescript-eslint/eslint-plugin': 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.32.0)(typescript@4.9.4) + '@typescript-eslint/parser': 5.49.0(eslint@8.32.0)(typescript@4.9.4) + eslint: 8.32.0 + eslint-config-next: 13.1.5(eslint@8.32.0)(typescript@4.9.4) + eslint-config-prettier: 8.6.0(eslint@8.32.0) + eslint-plugin-formatjs: 4.3.9(eslint@8.32.0) + eslint-plugin-import: 2.27.5(@typescript-eslint/parser@5.49.0)(eslint-import-resolver-typescript@3.5.3)(eslint@8.32.0) + eslint-plugin-json-files: 2.2.0(eslint@8.32.0) + eslint-plugin-prettier: 4.2.1(eslint-config-prettier@8.6.0)(eslint@8.32.0)(prettier@2.8.3) + eslint-plugin-react: 7.32.1(eslint@8.32.0) + eslint-plugin-react-hooks: 4.6.0(eslint@8.32.0) + eslint-plugin-simple-import-sort: 9.0.0(eslint@8.32.0) + eslint-plugin-unused-imports: 2.0.0(@typescript-eslint/eslint-plugin@5.49.0)(eslint@8.32.0) + prettier: 2.8.3 + transitivePeerDependencies: + - eslint-import-resolver-typescript + - eslint-import-resolver-webpack + - supports-color + - ts-jest + - typescript + dev: true + + /@comet/eslint-plugin@5.6.0(eslint@8.32.0): + resolution: {integrity: sha512-Upq+rWRE8HI7KtVdRquUN6/FuhDvpLfExxNcoEo9NfDMAGnvoUrurn9Jg1ywLi0VsUpMjgRNQfJT8WKapbuQng==} + peerDependencies: + eslint: '8' + dependencies: + eslint: 8.32.0 + dev: true + /@cspotcode/source-map-support@0.8.1: resolution: {integrity: sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==} engines: {node: '>=12'} @@ -8142,7 +8424,7 @@ packages: engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} dependencies: ajv: 6.12.6 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@9.3.1) espree: 9.5.2 globals: 13.19.0 ignore: 5.2.4 @@ -8267,7 +8549,6 @@ packages: dependencies: '@formatjs/intl-localematcher': 0.2.32 tslib: 2.4.1 - dev: false /@formatjs/ecma402-abstract@1.5.0: resolution: {integrity: sha512-wXv36yo+mfWllweN0Fq7sUs7PUiNopn7I0JpLTe3hGu6ZMR4CV7LqK1llhB18pndwpKoafQKb1et2DCJAOW20Q==} @@ -8293,14 +8574,12 @@ packages: '@formatjs/ecma402-abstract': 1.14.3 '@formatjs/icu-skeleton-parser': 1.3.18 tslib: 2.4.1 - dev: false /@formatjs/icu-skeleton-parser@1.3.18: resolution: {integrity: sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==} dependencies: '@formatjs/ecma402-abstract': 1.14.3 tslib: 2.4.1 - dev: false /@formatjs/icu-skeleton-parser@1.3.6: resolution: {integrity: sha512-I96mOxvml/YLrwU2Txnd4klA7V8fRhb6JG/4hm3VMNmeJo1F03IpV2L3wWt7EweqNLES59SZ4d6hVOPCSf80Bg==} @@ -8331,7 +8610,6 @@ packages: resolution: {integrity: sha512-k/MEBstff4sttohyEpXxCmC3MqbUn9VvHGlZ8fauLzkbwXmVrEeyzS+4uhrvAk9DWU9/7otYWxyDox4nT/KVLQ==} dependencies: tslib: 2.4.1 - dev: false /@formatjs/intl@2.2.1(typescript@4.9.4): resolution: {integrity: sha512-vgvyUOOrzqVaOFYzTf2d3+ToSkH2JpR7x/4U1RyoHQLmvEaTQvXJ7A2qm1Iy3brGNXC/+/7bUlc3lpH+h/LOJA==} @@ -8378,7 +8656,6 @@ packages: json-stable-stringify: 1.0.2 tslib: 2.4.1 typescript: 4.9.4 - dev: false /@formatjs/ts-transformer@3.9.4: resolution: {integrity: sha512-S5q/zsTodaKtxVxNvbRQ9APenJtm5smXE76usS+5yF2vWQdZHkagmOKWfgvfIbesP4SR2B+i3koqlnlpqSIp5w==} @@ -8966,7 +9243,7 @@ packages: dependencies: '@babel/parser': 7.20.13 '@babel/plugin-syntax-import-assertions': 7.20.0(@babel/core@7.20.12) - '@babel/traverse': 7.20.13(supports-color@5.5.0) + '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 '@graphql-tools/utils': 9.1.4(graphql@15.8.0) graphql: 15.8.0 @@ -9149,7 +9426,7 @@ packages: '@types/json-stable-stringify': 1.0.34 '@types/jsonwebtoken': 9.0.1 chalk: 4.1.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@9.3.1) dotenv: 16.0.3 graphql: 15.8.0 graphql-request: 5.1.0(graphql@15.8.0) @@ -9500,7 +9777,7 @@ packages: engines: {node: '>=10.10.0'} dependencies: '@humanwhocodes/object-schema': 1.2.1 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@9.3.1) minimatch: 3.1.2 transitivePeerDependencies: - supports-color @@ -9512,7 +9789,6 @@ packages: /@humanwhocodes/momoa@2.0.4: resolution: {integrity: sha512-RE815I4arJFtt+FVeU1Tgp9/Xvecacji8w/V6XtXsWWH/wz/eNkNbhb+ny/+PlVZjV0rxQpRSQKNKE3lcktHEA==} engines: {node: '>=10.10.0'} - dev: false /@humanwhocodes/object-schema@1.2.1: resolution: {integrity: sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==} @@ -10758,13 +11034,11 @@ packages: resolution: {integrity: sha512-BFwj8ykJY+zc1/jWANsDprDIu2MgwPOIKxNVnrKvPs+f5TPegrVnem8uScND+1veT4B7F6VeqgaNLFW1Hzl9Og==} dependencies: glob: 7.1.7 - dev: false /@next/eslint-plugin-next@13.1.5: resolution: {integrity: sha512-3kvLTX35bOWOCKU8KY74Ygczc55Qk/kB2TQy0tH7Rti6hzZ6Aij7WQ8zHdIVjmnlD0n/zXWXrIf5y56RKcLQkQ==} dependencies: glob: 7.1.7 - dev: false /@next/swc-android-arm-eabi@12.3.4: resolution: {integrity: sha512-cM42Cw6V4Bz/2+j/xIzO8nK/Q3Ly+VSlZJTa1vHzsocJRYz8KT6MrreXaci2++SIZCF1rVRCDgAg5PpqRibdIA==} @@ -11837,7 +12111,6 @@ packages: picocolors: 1.0.0 tiny-glob: 0.2.9 tslib: 2.4.1 - dev: false /@pmmmwh/react-refresh-webpack-plugin@0.5.10(@types/webpack@5.28.0)(react-refresh@0.11.0)(webpack@5.88.2): resolution: {integrity: sha512-j0Ya0hCFZPd4x40qLzbhGsh9TMtdb+CJQiso+WxLOPNasohq9cc5SNUcwsZaRH6++Xh91Xkm/xHCkuIiIu0LUA==} @@ -11952,7 +12225,6 @@ packages: /@rushstack/eslint-patch@1.2.0: resolution: {integrity: sha512-sXo/qW2/pAcmT43VoRKOJbDOfV3cYpq3szSVfIThQXNt+E4DfKj361vaAt3c88U5tPUxzEswam7GW48PJqtKAg==} - dev: false /@rushstack/ts-command-line@4.13.1: resolution: {integrity: sha512-UTQMRyy/jH1IS2U+6pyzyn9xQ2iMcoUKkTcZUzOP/aaMiKlWLwCTDiBVwhw/M1crDx6apF9CwyjuWO9r1SBdJQ==} @@ -13675,7 +13947,6 @@ packages: dependencies: '@types/estree': 0.0.51 '@types/json-schema': 7.0.11 - dev: false /@types/estree@0.0.50: resolution: {integrity: sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw==} @@ -13777,7 +14048,6 @@ packages: dependencies: '@types/minimatch': 5.1.2 '@types/node': 18.15.3 - dev: false /@types/glob@8.0.1: resolution: {integrity: sha512-8bVUjXZvJacUFkJXHdyZ9iH1Eaj5V7I8c4NdH5sQJsdXkqT4CA5Dhb4yb4VE/3asyx4L9ayZr1NIhTsWHczmMw==} @@ -14123,7 +14393,6 @@ packages: /@types/node@17.0.45: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} - dev: false /@types/node@18.15.3: resolution: {integrity: sha512-p6ua9zBxz5otCmbpb5D3U4B5Nanw6Pk3PPyX05xnxbB/fRv71N7CPmORg7uAD5P70T0xmx1pzAx/FUfa5X+3cw==} @@ -14193,7 +14462,6 @@ packages: /@types/picomatch@2.3.0: resolution: {integrity: sha512-O397rnSS9iQI4OirieAtsDqvCj4+3eY1J+EPdNTKuHuRWIfUoGyzX294o8C4KJYaLqgSrd2o60c5EqCU8Zv02g==} - dev: false /@types/pluralize@0.0.29: resolution: {integrity: sha512-BYOID+l2Aco2nBik+iYS4SZX0Lf20KPILP5RGmM1IgzdwNdTs0eebiFriOPcej1sX9mLnSoiNte5zcFxssgpGA==} @@ -14371,7 +14639,6 @@ packages: /@types/semver@7.3.13: resolution: {integrity: sha512-21cFJr9z3g5dW8B0CVI9g2O9beqaThGQ6ZFBqHfwhzLDKUxaqTIy3vnfah/UPkfOiF2pLq+tGz+W8RyCskuslw==} - dev: false /@types/serve-index@1.9.1: resolution: {integrity: sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==} @@ -14555,7 +14822,6 @@ packages: typescript: 4.9.4 transitivePeerDependencies: - supports-color - dev: false /@typescript-eslint/parser@5.49.0(eslint@8.32.0)(typescript@4.9.4): resolution: {integrity: sha512-veDlZN9mUhGqU31Qiv2qEp+XrJj5fgZpJ8PW30sHU+j/8/e5ruAhLaVDAeznS7A7i4ucb/s8IozpDtt9NqCkZg==} @@ -14575,7 +14841,6 @@ packages: typescript: 4.9.4 transitivePeerDependencies: - supports-color - dev: false /@typescript-eslint/scope-manager@5.49.0: resolution: {integrity: sha512-clpROBOiMIzpbWNxCe1xDK14uPZh35u4QaZO1GddilEzoCLAEz4szb51rBpdgurs5k2YzPtJeTEN3qVbG+LRUQ==} @@ -14583,7 +14848,6 @@ packages: dependencies: '@typescript-eslint/types': 5.49.0 '@typescript-eslint/visitor-keys': 5.49.0 - dev: false /@typescript-eslint/type-utils@5.49.0(eslint@8.32.0)(typescript@4.9.4): resolution: {integrity: sha512-eUgLTYq0tR0FGU5g1YHm4rt5H/+V2IPVkP0cBmbhRyEmyGe4XvJ2YJ6sYTmONfjmdMqyMLad7SB8GvblbeESZA==} @@ -14603,12 +14867,10 @@ packages: typescript: 4.9.4 transitivePeerDependencies: - supports-color - dev: false /@typescript-eslint/types@5.49.0: resolution: {integrity: sha512-7If46kusG+sSnEpu0yOz2xFv5nRz158nzEXnJFCGVEHWnuzolXKwrH5Bsf9zsNlOQkyZuk0BZKKoJQI+1JPBBg==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - dev: false /@typescript-eslint/typescript-estree@5.49.0(typescript@4.9.4): resolution: {integrity: sha512-PBdx+V7deZT/3GjNYPVQv1Nc0U46dAHbIuOG8AZ3on3vuEKiPDwFE/lG1snN2eUB9IhF7EyF7K1hmTcLztNIsA==} @@ -14629,7 +14891,6 @@ packages: typescript: 4.9.4 transitivePeerDependencies: - supports-color - dev: false /@typescript-eslint/utils@5.49.0(eslint@8.32.0)(typescript@4.9.4): resolution: {integrity: sha512-cPJue/4Si25FViIb74sHCLtM4nTSBXtLx1d3/QT6mirQ/c65bV8arBEebBJJizfq8W2YyMoPI/WWPFWitmNqnQ==} @@ -14649,7 +14910,6 @@ packages: transitivePeerDependencies: - supports-color - typescript - dev: false /@typescript-eslint/visitor-keys@5.49.0: resolution: {integrity: sha512-v9jBMjpNWyn8B6k/Mjt6VbUS4J1GvUlR4x3Y+ibnP1z7y7V4n0WRz+50DY6+Myj0UaXVSuUlHohO+eZ8IJEnkg==} @@ -14657,7 +14917,6 @@ packages: dependencies: '@typescript-eslint/types': 5.49.0 eslint-visitor-keys: 3.4.1 - dev: false /@vue/compiler-core@3.2.45: resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} @@ -15256,7 +15515,7 @@ packages: resolution: {integrity: sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==} engines: {node: '>= 6.0.0'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@9.3.1) transitivePeerDependencies: - supports-color dev: true @@ -15743,7 +16002,6 @@ packages: es-abstract: 1.21.1 get-intrinsic: 1.2.0 is-string: 1.0.7 - dev: false /array-union@1.0.2: resolution: {integrity: sha512-Dxr6QJj/RdU/hCaBjOfxW+q6lyuVE6JFWIrAUpuOOhoJJoQ99cUn3igRaHVB5P9WrgFVN0FfArM3x0cueOU8ng==} @@ -15783,7 +16041,6 @@ packages: define-properties: 1.1.4 es-abstract: 1.21.1 es-shim-unscopables: 1.0.0 - dev: false /array.prototype.map@1.0.5: resolution: {integrity: sha512-gfaKntvwqYIuC7mLLyv2wzZIJqrRhn5PZ9EfFejSx6a78sV7iDsGpG9P+3oUPtm1Rerqm6nrKS4FYuTIvWfo3g==} @@ -15815,7 +16072,6 @@ packages: es-abstract: 1.21.1 es-shim-unscopables: 1.0.0 get-intrinsic: 1.2.0 - dev: false /arrify@1.0.1: resolution: {integrity: sha512-3CYzex9M9FGQjCGMGyi6/31c8GJbgb0qGyrx5HWxPd0aCwh4cB2YjMb2Xf9UuoogrMrlO9cTqnB5rI5GHZTcUA==} @@ -15870,7 +16126,6 @@ packages: /ast-types-flow@0.0.7: resolution: {integrity: sha512-eBvWn1lvIApYMhzQMsu9ciLfkBY499mFZlNqG+/9WR7PVlroQw0vG30cOQQbaKz3sCEc44TAOu2ykzqXSNnwag==} - dev: false /ast-types@0.14.2: resolution: {integrity: sha512-O0yuUDnZeQDL+ncNGlJ78BiO4jnYI3bvMsD5prT0/nsgijG/LpNBIr63gTjVTNsiGkgQhiyCShTgxt8oXOrklA==} @@ -15987,7 +16242,6 @@ packages: /axe-core@4.6.3: resolution: {integrity: sha512-/BQzOX780JhsxDnPpH4ZiyrJAzcd8AfzFPkv+89veFSr1rcMjuq2JDCwypKaPeB6ljHp9KjXhPpjgCvQlWYuqg==} engines: {node: '>=4'} - dev: false /axios@0.21.4: resolution: {integrity: sha512-ut5vewkiu8jjGBdqpM44XxjuCjq9LAKeHVmoVfHVzy8eHgxxq8SbAVQNovDA8mVi05kP0Ea/n/UzcSHcTJQfNg==} @@ -16007,7 +16261,6 @@ packages: resolution: {integrity: sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==} dependencies: deep-equal: 2.2.0 - dev: false /babel-jest@29.5.0(@babel/core@7.22.11): resolution: {integrity: sha512-mA4eCDh5mSo2EcA9xQjVTpmbbNk32Zb3Q3QFQsNhaK56Q+yoXowzFodLux30HRgyOho5rsQ6B0P9QpMkvvnJ0Q==} @@ -16432,7 +16685,6 @@ packages: chalk: 4.1.2 jsonpointer: 5.0.1 leven: 3.1.0 - dev: false /better-opn@2.1.1: resolution: {integrity: sha512-kIPXZS5qwyKiX/HcRvDYfmBQUa8XP17I0mYZZ0y4UhpYOSvtsLHDYqmomS+Mj20aDvD3knEiQ0ecQy2nhio3yA==} @@ -18305,7 +18557,6 @@ packages: /damerau-levenshtein@1.0.8: resolution: {integrity: sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==} - dev: false /dashdash@1.14.1: resolution: {integrity: sha512-jRFi8UDGo6j+odZiEpjazZaWqEal3w/basFjQHQEwVtZJGDpxbH1MeYluwCS8Xq5wmLJooDlMgvVarmWfGM44g==} @@ -18364,7 +18615,6 @@ packages: optional: true dependencies: ms: 2.1.3 - dev: false /debug@4.3.4(supports-color@5.5.0): resolution: {integrity: sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==} @@ -18703,7 +18953,6 @@ packages: engines: {node: '>=0.10.0'} dependencies: esutils: 2.0.3 - dev: false /doctrine@3.0.0: resolution: {integrity: sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==} @@ -19101,7 +19350,6 @@ packages: /emoji-regex@10.2.1: resolution: {integrity: sha512-97g6QgOk8zlDRdgq1WxwgTMgEWGVAQvB5Fdpgc1MkNy56la5SKP9GsMXKDOdqwn90/41a8yPwIGk1Y6WVbeMQA==} - dev: false /emoji-regex@7.0.3: resolution: {integrity: sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==} @@ -19368,7 +19616,6 @@ packages: transitivePeerDependencies: - eslint-import-resolver-webpack - supports-color - dev: false /eslint-config-prettier@8.6.0(eslint@8.32.0): resolution: {integrity: sha512-bAF0eLpLVqP5oEVUFKpMA+NnRFICwn9X8B5jrR9FcqnYBuPbqWEjTEspPWMj5ye6czoSLDweCzSo3Ko7gGrZaA==} @@ -19377,7 +19624,6 @@ packages: eslint: '>=7.0.0' dependencies: eslint: 8.32.0 - dev: false /eslint-import-resolver-node@0.3.7: resolution: {integrity: sha512-gozW2blMLJCeFpBwugLTGyvVjNoeo1knonXAcatC6bjPBZitotxdWf7Gimr25N4c0AAOo4eOUfaG82IJPDpqCA==} @@ -19387,7 +19633,6 @@ packages: resolve: 1.22.1 transitivePeerDependencies: - supports-color - dev: false /eslint-import-resolver-typescript@3.5.3(eslint-plugin-import@2.27.5)(eslint@8.32.0): resolution: {integrity: sha512-njRcKYBc3isE42LaTcJNVANR3R99H9bAxBDMNDr2W7yq5gYPxbU3MkdhsQukxZ/Xg9C2vcyLlDsbKfRDg0QvCQ==} @@ -19407,7 +19652,6 @@ packages: synckit: 0.8.4 transitivePeerDependencies: - supports-color - dev: false /eslint-module-utils@2.8.0(@typescript-eslint/parser@5.49.0)(eslint-import-resolver-node@0.3.7)(eslint-import-resolver-typescript@3.5.3)(eslint@8.32.0): resolution: {integrity: sha512-aWajIYfsqCKRDgUfjEXNN/JlrzauMuSEy5sbd7WXbtW3EH6A6MpwEh42c7qD+MqQo9QMJ6fWLAeIJynx0g6OAw==} @@ -19437,7 +19681,6 @@ packages: eslint-import-resolver-typescript: 3.5.3(eslint-plugin-import@2.27.5)(eslint@8.32.0) transitivePeerDependencies: - supports-color - dev: false /eslint-plugin-formatjs@4.3.9(eslint@8.32.0): resolution: {integrity: sha512-+8kGoTUaNe0qS55eg5XbPDY+eQmeZxnrC8MugQTGUXlqbCyLyG7y4mDsMhAgactVyUMST6Ln1HEm1Tk0KNuIKQ==} @@ -19457,7 +19700,6 @@ packages: transitivePeerDependencies: - supports-color - ts-jest - dev: false /eslint-plugin-graphql@4.0.0(@types/node@18.15.3)(graphql@15.8.0)(typescript@4.9.4): resolution: {integrity: sha512-d5tQm24YkVvCEk29ZR5ScsgXqAGCjKlMS8lx3mS7FS/EKsWbkvXQImpvic03EpMIvNTBW5e+2xnHzXB/VHNZJw==} @@ -19509,7 +19751,6 @@ packages: - eslint-import-resolver-typescript - eslint-import-resolver-webpack - supports-color - dev: false /eslint-plugin-json-files@2.2.0(eslint@8.32.0): resolution: {integrity: sha512-7ETNwGWMtlAqtAIfwrNSm/X8RsHrZcV78YFa/EyYjavFWaVFhi/fsZBjnj4yIf1G0Rbx5f2t+sd037hVPK20WQ==} @@ -19523,7 +19764,6 @@ packages: requireindex: 1.2.0 semver: 7.3.8 sort-package-json: 1.57.0 - dev: false /eslint-plugin-jsx-a11y@6.7.1(eslint@8.32.0): resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} @@ -19548,7 +19788,6 @@ packages: object.entries: 1.1.6 object.fromentries: 2.0.6 semver: 6.3.1 - dev: false /eslint-plugin-prettier@4.2.1(eslint-config-prettier@8.6.0)(eslint@8.32.0)(prettier@2.8.3): resolution: {integrity: sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==} @@ -19565,7 +19804,6 @@ packages: eslint-config-prettier: 8.6.0(eslint@8.32.0) prettier: 2.8.3 prettier-linter-helpers: 1.0.0 - dev: false /eslint-plugin-react-hooks@4.6.0(eslint@8.32.0): resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} @@ -19574,7 +19812,6 @@ packages: eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: eslint: 8.32.0 - dev: false /eslint-plugin-react@7.32.1(eslint@8.32.0): resolution: {integrity: sha512-vOjdgyd0ZHBXNsmvU+785xY8Bfe57EFbTYYk8XrROzWpr9QBvpjITvAXt9xqcE6+8cjR/g1+mfumPToxsl1www==} @@ -19598,7 +19835,6 @@ packages: resolve: 2.0.0-next.4 semver: 6.3.0 string.prototype.matchall: 4.0.8 - dev: false /eslint-plugin-simple-import-sort@9.0.0(eslint@8.32.0): resolution: {integrity: sha512-PtrLjyXP8kjRneWT1n0b99y/2Fyup37we7FVoWsI61/O7x4ztLohzhep/pxI/cYlECr/cQ2j6utckdvWpVwXNA==} @@ -19606,7 +19842,6 @@ packages: eslint: '>=5.0.0' dependencies: eslint: 8.32.0 - dev: false /eslint-plugin-unused-imports@2.0.0(@typescript-eslint/eslint-plugin@5.49.0)(eslint@8.32.0): resolution: {integrity: sha512-3APeS/tQlTrFa167ThtP0Zm0vctjr4M44HMpeg1P4bK6wItarumq0Ma82xorMKdFsWpphQBlRPzw/pxiVELX1A==} @@ -19621,12 +19856,10 @@ packages: '@typescript-eslint/eslint-plugin': 5.49.0(@typescript-eslint/parser@5.49.0)(eslint@8.32.0)(typescript@4.9.4) eslint: 8.32.0 eslint-rule-composer: 0.3.0 - dev: false /eslint-rule-composer@0.3.0: resolution: {integrity: sha512-bt+Sh8CtDmn2OajxvNO+BX7Wn4CIWMpTRm3MaiKPCQcnnlm0CS2mhui6QaoeQugs+3Kj2ESKEEGJUdVafwhiCg==} engines: {node: '>=4.0.0'} - dev: false /eslint-scope@4.0.3: resolution: {integrity: sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==} @@ -19683,7 +19916,7 @@ packages: ajv: 6.12.6 chalk: 4.1.2 cross-spawn: 7.0.3 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@9.3.1) doctrine: 3.0.0 escape-string-regexp: 4.0.0 eslint-scope: 7.1.1 @@ -20091,7 +20324,6 @@ packages: /fast-diff@1.2.0: resolution: {integrity: sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==} - dev: false /fast-glob@2.2.7: resolution: {integrity: sha512-g1KuQwHOZAmOZMuBtHdxDtju+T2RT8jgCC9aANsbpdiDDTSnjgfuVsIBNKbUeJI3oKMRExcfNDtJl4OhbffMsw==} @@ -20966,7 +21198,6 @@ packages: /get-tsconfig@4.3.0: resolution: {integrity: sha512-YCcF28IqSay3fqpIu5y3Krg/utCBHBeoflkZyHj/QcqI2nrLPC3ZegS9CmIo+hJb8K7aiGsuUl7PwWVjNG2HQQ==} - dev: false /get-value@2.0.6: resolution: {integrity: sha512-Ln0UQDlxH1BapMu3GPtf7CuYNwRZf2gwCuPqbyG6pB8WfmFpzqcy4xtAaAMUhnNqjMKTiCPZG2oMT3YSx8U2NA==} @@ -20983,7 +21214,6 @@ packages: /git-hooks-list@1.0.3: resolution: {integrity: sha512-Y7wLWcrLUXwk2noSka166byGCvhMtDRpgHdzCno1UQv/n/Hegp++a2xBWJL1lJarnKD3SWaljD+0z1ztqxuKyQ==} - dev: false /github-slugger@1.5.0: resolution: {integrity: sha512-wIh+gKBI9Nshz2o46B0B3f5k/W+WI9ZAv6y5Dn5WJ5SK1t0TnDimB4WE5rmTD05ZAIn8HALCZVmCsvj0w0v0lw==} @@ -21045,7 +21275,6 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: false /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -21115,7 +21344,6 @@ packages: /globalyzer@0.1.0: resolution: {integrity: sha512-40oNTM9UfG6aBmuKxk/giHn5nQ8RVz/SS4Ir6zgzOv9/qC3kKZ9v4etGTcJbEl/NyVQH7FGU7d+X1egr57Md2Q==} - dev: false /globby@10.0.0: resolution: {integrity: sha512-3LifW9M4joGZasyYPz2A1U74zbC/45fvpXUvO/9KbSa+VV0aGZarWkfdgKyR9sExNP0t0x0ss/UMJpNpcaTspw==} @@ -21129,7 +21357,6 @@ packages: ignore: 5.2.4 merge2: 1.4.1 slash: 3.0.0 - dev: false /globby@11.0.3: resolution: {integrity: sha512-ffdmosjA807y7+lA1NM0jELARVmYul/715xiILEjo3hBLPTcirgQNnXECn5g3mtR8TOLCVbkfua1Hpen25/Xcg==} @@ -21163,7 +21390,6 @@ packages: ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 - dev: false /globby@9.2.0: resolution: {integrity: sha512-ollPHROa5mcxDEkwg6bPt3QbEf4pDQSNtd6JPL1YvOvAo/7/0VAm9TccUeoTmarjPw4pfUthSCqcyfNB1I3ZSg==} @@ -21183,7 +21409,6 @@ packages: /globrex@0.1.2: resolution: {integrity: sha512-uHJgbwAMwNFf5mLst7IWLNg14x1CkeqglJb/K3doi4dw6q2IvAAmM/Y81kevy83wP+Sst+nutFTYOGg3d1lsxg==} - dev: false /gopd@1.0.1: resolution: {integrity: sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==} @@ -21843,7 +22068,7 @@ packages: dependencies: '@tootallnate/once': 2.0.0 agent-base: 6.0.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@9.3.1) transitivePeerDependencies: - supports-color dev: true @@ -21904,7 +22129,7 @@ packages: engines: {node: '>= 6'} dependencies: agent-base: 6.0.2 - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@9.3.1) transitivePeerDependencies: - supports-color dev: true @@ -22558,7 +22783,6 @@ packages: /is-plain-obj@2.1.0: resolution: {integrity: sha512-YWnfyRwxL/+SsrWYfOpUtz5b3YD+nyfkHvjbcanzk8zgyO4ASD67uVMRt8k5bM4lLMDnXfriRhOpemw+NfT1eA==} engines: {node: '>=8'} - dev: false /is-plain-obj@3.0.0: resolution: {integrity: sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==} @@ -23579,7 +23803,6 @@ packages: /jsonpointer@5.0.1: resolution: {integrity: sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==} engines: {node: '>=0.10.0'} - dev: false /jsonwebtoken@8.5.1: resolution: {integrity: sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w==} @@ -23675,7 +23898,6 @@ packages: dependencies: array-includes: 3.1.6 object.assign: 4.1.4 - dev: false /jszip@3.10.1: resolution: {integrity: sha512-xXDvecyTpGLrqFrvkrUSoxxfJI5AH7U8zxxtVclpsUtMCq4JQ290LY8AW5c7Ggnr/Y/oK+bQMbqK2qmtk3pN4g==} @@ -23819,13 +24041,11 @@ packages: /language-subtag-registry@0.3.22: resolution: {integrity: sha512-tN0MCzyWnoz/4nHS6uxdlFWoUZT7ABptwKPQ52Ea7URk6vll88bWBVhodtnlfEuCcKWNGoc+uGbw1cwa9IKh/w==} - dev: false /language-tags@1.0.5: resolution: {integrity: sha512-qJhlO9cGXi6hBGKoxEG/sKZDAHD5Hnu9Hs4WbOY3pCWXDhw0N8x1NenNzm2EnNLkLkk7J2SdxAkDSbb6ftT+UQ==} dependencies: language-subtag-registry: 0.3.22 - dev: false /latest-version@5.1.0: resolution: {integrity: sha512-weT+r0kTkRQdCdYCNtkMwWXQTMEswKrFBkm4ckQOMVhhqhIMI1UT2hMj+1iigIhgSZm5gTmrRXBNoGUgaTY1xA==} @@ -24983,7 +25203,6 @@ packages: /natural-compare-lite@1.4.0: resolution: {integrity: sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==} - dev: false /natural-compare@1.4.0: resolution: {integrity: sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==} @@ -25372,7 +25591,6 @@ packages: call-bind: 1.0.2 define-properties: 1.1.4 es-abstract: 1.21.1 - dev: false /object.fromentries@2.0.6: resolution: {integrity: sha512-VciD13dswC4j1Xt5394WR4MzmAQmlgN72phd/riNp9vtD7tp4QQWJ0R4wvclXcafgcYK8veHRed2W6XeGBvcfg==} @@ -25381,7 +25599,6 @@ packages: call-bind: 1.0.2 define-properties: 1.1.4 es-abstract: 1.21.1 - dev: false /object.getownpropertydescriptors@2.1.5: resolution: {integrity: sha512-yDNzckpM6ntyQiGTik1fKV1DcVDRS+w8bvpWNCBanvH5LfRX9O8WTHqQzG4RZwRAM4I0oU7TV11Lj5v0g20ibw==} @@ -25398,7 +25615,6 @@ packages: dependencies: define-properties: 1.1.4 es-abstract: 1.21.1 - dev: false /object.pick@1.3.0: resolution: {integrity: sha512-tqa/UMy/CCoYmj+H5qc07qvSL9dqcs/WZENZ1JbtWBlATP+iVOe778gE6MSijnyCnORzDuX6hU+LA4SZ09YjFQ==} @@ -25414,7 +25630,6 @@ packages: call-bind: 1.0.2 define-properties: 1.1.4 es-abstract: 1.21.1 - dev: false /objectorarray@1.0.5: resolution: {integrity: sha512-eJJDYkhJFFbBBAxeh8xW+weHlkI28n2ZdQV/J/DNfWfSKlGEf2xcfAbZTv3riEXHAhL9SVOTs2pRmXiSTf78xg==} @@ -26706,7 +26921,6 @@ packages: engines: {node: '>=6.0.0'} dependencies: fast-diff: 1.2.0 - dev: false /prettier@2.3.0: resolution: {integrity: sha512-kXtO4s0Lz/DW/IJ9QdWhAf7/NmPWQXkFr/r/WkR3vyI+0v8amTDxiaQSLzs8NBlytfLWX/7uQUMIW677yLKl4w==} @@ -28183,7 +28397,7 @@ packages: resolution: {integrity: sha512-efCx3b+0Z69/LGJmm9Yvi4cqEdxnoGnxYxGxBghkkTTFeXRtTCmmhO0AnAfHz59k957uTSuy8WaHqOs8wbYUWg==} engines: {node: '>=6'} dependencies: - debug: 4.3.4(supports-color@5.5.0) + debug: 4.3.4(supports-color@9.3.1) module-details-from-path: 1.0.3 resolve: 1.22.1 transitivePeerDependencies: @@ -28200,12 +28414,10 @@ packages: /requireindex@1.1.0: resolution: {integrity: sha512-LBnkqsDE7BZKvqylbmn7lTIVdpx4K/QCduRATpO5R+wtPmky/a8pN1bO2D6wXppn1497AJF9mNjqAXr6bdl9jg==} engines: {node: '>=0.10.5'} - dev: false /requireindex@1.2.0: resolution: {integrity: sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==} engines: {node: '>=0.10.5'} - dev: false /requires-port@1.0.0: resolution: {integrity: sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==} @@ -28258,7 +28470,6 @@ packages: is-core-module: 2.11.0 path-parse: 1.0.7 supports-preserve-symlinks-flag: 1.0.0 - dev: false /response-iterator@0.2.6: resolution: {integrity: sha512-pVzEEzrsg23Sh053rmDUvLSkGXluZio0qu8VT6ukrYuvtjVfCbDZH9d6PGXb8HZfzdNZt8feXv/jvUzlhRgLnw==} @@ -28802,7 +29013,6 @@ packages: /slash@4.0.0: resolution: {integrity: sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==} engines: {node: '>=12'} - dev: false /slice-ansi@3.0.0: resolution: {integrity: sha512-pSyv7bSTC7ig9Dcgbw9AuRNUb5k5V6oDudjZoMBSr13qpLBG7tB+zgCkARjq7xIUgdz5P1Qe8u+rSGdouOOIyQ==} @@ -28907,7 +29117,6 @@ packages: /sort-object-keys@1.1.3: resolution: {integrity: sha512-855pvK+VkU7PaKYPc+Jjnmt4EzejQHyhhF33q31qG8x7maDzkeFhAAThdCYay11CISO+qAMwjOBP+fPZe0IPyg==} - dev: false /sort-package-json@1.57.0: resolution: {integrity: sha512-FYsjYn2dHTRb41wqnv+uEqCUvBpK3jZcTp9rbz2qDTmel7Pmdtf+i2rLaaPMRZeSVM60V3Se31GyWFpmKs4Q5Q==} @@ -28919,7 +29128,6 @@ packages: globby: 10.0.0 is-plain-obj: 2.1.0 sort-object-keys: 1.1.3 - dev: false /source-list-map@2.0.1: resolution: {integrity: sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==} @@ -29285,7 +29493,6 @@ packages: internal-slot: 1.0.4 regexp.prototype.flags: 1.4.3 side-channel: 1.0.4 - dev: false /string.prototype.padend@3.1.4: resolution: {integrity: sha512-67otBXoksdjsnXXRUq+KMVTdlVRZ2af422Y0aTyTjVaoQkGr3mxl2Bc5emi7dOQ3OGVVQQskmLEWwFXwommpNw==} @@ -29696,7 +29903,6 @@ packages: dependencies: '@pkgr/utils': 2.3.1 tslib: 2.4.1 - dev: false /synthetic-dom@1.4.0: resolution: {integrity: sha512-mHv51ZsmZ+ShT/4s5kg+MGUIhY7Ltq4v03xpN1c8T1Krb5pScsh/lzEjyhrVD0soVDbThbd2e+4dD9vnDG4rhg==} @@ -29955,7 +30161,6 @@ packages: dependencies: globalyzer: 0.1.0 globrex: 0.1.2 - dev: false /tiny-invariant@1.3.1: resolution: {integrity: sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==} @@ -30365,7 +30570,6 @@ packages: dependencies: tslib: 1.14.1 typescript: 4.9.4 - dev: false /tty-browserify@0.0.0: resolution: {integrity: sha512-JVa5ijo+j/sOoHGjw0sxw734b1LhBkQ3bvUGNdxnVXDCX81Yx7TFgnZygxrIIWn23hbfTaMYLwRmAxFyDuFmIw==} From 6bb638ddb789ade390bda7106f869c4d87b1449a Mon Sep 17 00:00:00 2001 From: Andrea Rutrecht Date: Mon, 5 Feb 2024 15:25:36 +0100 Subject: [PATCH 2/7] Add 'React.forwardRef' wrapper to 'Rte' --- packages/admin/admin-rte/src/core/Rte.tsx | 323 +++++++++--------- .../src/field/createFinalFormRte.tsx | 2 +- 2 files changed, 163 insertions(+), 162 deletions(-) diff --git a/packages/admin/admin-rte/src/core/Rte.tsx b/packages/admin/admin-rte/src/core/Rte.tsx index 997f3383e8..0b769b906f 100644 --- a/packages/admin/admin-rte/src/core/Rte.tsx +++ b/packages/admin/admin-rte/src/core/Rte.tsx @@ -153,185 +153,186 @@ export const styleMap = { }, }; -export const Rte: React.ForwardRefRenderFunction = (inProps: RteProps, ref) => { - //move ref to props? - const { - value: editorState, - onChange, - options: rteOptions, - disabled, - minHeight, - colors, - slotProps, - ...restProps - } = useThemeProps({ - props: inProps, - name: "CometAdminRte", - }); - - const ownerState: OwnerState = { - disabled, - }; +export const Rte: React.ForwardRefExoticComponent & React.RefAttributes> = React.forwardRef( + (inProps: RteProps, ref) => { + const { + value: editorState, + onChange, + options: rteOptions, + disabled, + minHeight, + colors, + slotProps, + ...restProps + } = useThemeProps({ + props: inProps, + name: "CometAdminRte", + }); - const editorRef = React.useRef(null); - const editorWrapperRef = React.useRef(null); + const ownerState: OwnerState = { + disabled, + }; - // merge default options with passed options - let options = rteOptions ? { ...defaultOptions, ...rteOptions } : defaultOptions; + const editorRef = React.useRef(null); + const editorWrapperRef = React.useRef(null); - // extract deprecated options and handle them specially - let deprecatedCustomBlockMap: ICustomBlockTypeMap_Deprecated = {}; - if (options.customBlockMap) { - deprecatedCustomBlockMap = options.customBlockMap; - delete options.customBlockMap; - } + // merge default options with passed options + let options = rteOptions ? { ...defaultOptions, ...rteOptions } : defaultOptions; - cleanBlockTypeMap(options.blocktypeMap); // mutate object and print warning when configuration is wrong + // extract deprecated options and handle them specially + let deprecatedCustomBlockMap: ICustomBlockTypeMap_Deprecated = {}; + if (options.customBlockMap) { + deprecatedCustomBlockMap = options.customBlockMap; + delete options.customBlockMap; + } - // blocktypes need an extra merge as they have their own merge strategy - options = { - ...options, - blocktypeMap: mergeBlocktypeMaps(defaultBlocktypeMap, deprecatedCustomBlockMap, options.blocktypeMap), - }; + cleanBlockTypeMap(options.blocktypeMap); // mutate object and print warning when configuration is wrong - // force draftjs to be readonly when rte is disabled - if (disabled) { - options.draftJsProps = { ...options.draftJsProps, readOnly: true }; - } + // blocktypes need an extra merge as they have their own merge strategy + options = { + ...options, + blocktypeMap: mergeBlocktypeMaps(defaultBlocktypeMap, deprecatedCustomBlockMap, options.blocktypeMap), + }; - /** - * Expose methods - */ - React.useImperativeHandle(ref, () => ({ - focus: () => { - if (editorRef && editorRef.current) { - editorRef.current.focus(); - } - }, - })); - - const { filterEditorStateBeforeUpdate, supports, listLevelMax, maxBlocks, standardBlockType } = options; - - const decoratedOnChange = React.useCallback( - (nextEditorState: EditorState) => { - let modifiedState = nextEditorState; - const context = { - supports: supports, - listLevelMax: listLevelMax, - maxBlocks: maxBlocks, - standardBlockType: standardBlockType, + // force draftjs to be readonly when rte is disabled + if (disabled) { + options.draftJsProps = { ...options.draftJsProps, readOnly: true }; + } + + /** + * Expose methods + */ + React.useImperativeHandle(ref, () => ({ + focus: () => { + if (editorRef && editorRef.current) { + editorRef.current.focus(); + } + }, + })); + + const { filterEditorStateBeforeUpdate, supports, listLevelMax, maxBlocks, standardBlockType } = options; + + const decoratedOnChange = React.useCallback( + (nextEditorState: EditorState) => { + let modifiedState = nextEditorState; + const context = { + supports: supports, + listLevelMax: listLevelMax, + maxBlocks: maxBlocks, + standardBlockType: standardBlockType, + }; + // apply optional filter to editorState + if (filterEditorStateBeforeUpdate) { + modifiedState = filterEditorStateBeforeUpdate(modifiedState, context); + } + // apply mandatory filter to editorState + modifiedState = mandatoryFilterEditorStateFn(modifiedState, context); + + // pass the modified filter to original onChange + onChange(modifiedState); + }, + [filterEditorStateBeforeUpdate, supports, listLevelMax, maxBlocks, standardBlockType, onChange], + ); + + const blockRenderMap = createBlockRenderMap({ blocktypeMap: options.blocktypeMap }); + + function handleKeyCommand(command: DraftEditorCommand) { + const commandToSupportsMap: Partial> = { + bold: "bold", + italic: "italic", + strikethrough: "strikethrough", + underline: "underline", }; - // apply optional filter to editorState - if (filterEditorStateBeforeUpdate) { - modifiedState = filterEditorStateBeforeUpdate(modifiedState, context); - } - // apply mandatory filter to editorState - modifiedState = mandatoryFilterEditorStateFn(modifiedState, context); - - // pass the modified filter to original onChange - onChange(modifiedState); - }, - [filterEditorStateBeforeUpdate, supports, listLevelMax, maxBlocks, standardBlockType, onChange], - ); - - const blockRenderMap = createBlockRenderMap({ blocktypeMap: options.blocktypeMap }); - - function handleKeyCommand(command: DraftEditorCommand) { - const commandToSupportsMap: Partial> = { - bold: "bold", - italic: "italic", - strikethrough: "strikethrough", - underline: "underline", - }; - const relevantSupports = commandToSupportsMap[command]; - if (relevantSupports && options.supports.includes(relevantSupports)) { - const newState = RichUtils.handleKeyCommand(editorState, command); + const relevantSupports = commandToSupportsMap[command]; + if (relevantSupports && options.supports.includes(relevantSupports)) { + const newState = RichUtils.handleKeyCommand(editorState, command); - if (newState) { - onChange(newState); - return "handled"; + if (newState) { + onChange(newState); + return "handled"; + } } - } - // disallow user to add a new block when block limit is already reached - if (command === "split-block" && options.maxBlocks) { - const content = editorState.getCurrentContent(); - const blockSize = content.getBlockMap().count(); + // disallow user to add a new block when block limit is already reached + if (command === "split-block" && options.maxBlocks) { + const content = editorState.getCurrentContent(); + const blockSize = content.getBlockMap().count(); - const userTriesToAddTooMuchBlocks = blockSize >= options.maxBlocks; - if (userTriesToAddTooMuchBlocks) { - return "handled"; // do nothing + const userTriesToAddTooMuchBlocks = blockSize >= options.maxBlocks; + if (userTriesToAddTooMuchBlocks) { + return "handled"; // do nothing + } } + return "not-handled"; } - return "not-handled"; - } - function handleReturn(e: React.KeyboardEvent, innerEditorState: EditorState) { - // inserts a newline "\n" on SHIFT+ENTER-key - if (e.shiftKey) { - onChange(RichUtils.insertSoftNewline(innerEditorState)); - return "handled"; + function handleReturn(e: React.KeyboardEvent, innerEditorState: EditorState) { + // inserts a newline "\n" on SHIFT+ENTER-key + if (e.shiftKey) { + onChange(RichUtils.insertSoftNewline(innerEditorState)); + return "handled"; + } + return "not-handled"; } - return "not-handled"; - } - function keyBindingFn(event: React.KeyboardEvent) { - if (event.key === "Tab") { - // nested lists for ol and ul - event.preventDefault(); - const newEditorState = RichUtils.onTab(event, editorState, options.listLevelMax); - if (newEditorState !== editorState) { - onChange(newEditorState); + function keyBindingFn(event: React.KeyboardEvent) { + if (event.key === "Tab") { + // nested lists for ol and ul + event.preventDefault(); + const newEditorState = RichUtils.onTab(event, editorState, options.listLevelMax); + if (newEditorState !== editorState) { + onChange(newEditorState); + } } - } - return getDefaultKeyBinding(event); - } + return getDefaultKeyBinding(event); + } - const customStyleMap: DraftStyleMap = { ...styleMap }; + const customStyleMap: DraftStyleMap = { ...styleMap }; - if (options.customInlineStyles) { - Object.entries(options.customInlineStyles).forEach(([name, { style }]) => { - customStyleMap[name] = style; - }); - } + if (options.customInlineStyles) { + Object.entries(options.customInlineStyles).forEach(([name, { style }]) => { + customStyleMap[name] = style; + }); + } - return ( - - - - { - onDraftEditorCopy(editor, event as React.ClipboardEvent); - }} - onCut={(editor, event) => { - onDraftEditorCut(editor, event as React.ClipboardEvent); - }} - handlePastedText={(text: string, html: string | undefined, editorState: EditorState): DraftHandleValue => { - const nextEditorState = pasteAndFilterText(html, editorState, options); - - if (nextEditorState) { - decoratedOnChange(nextEditorState); - return "handled"; - } - - return "not-handled"; - }} - {...options.draftJsProps} - /> - - - ); -}; + return ( + + + + { + onDraftEditorCopy(editor, event as React.ClipboardEvent); + }} + onCut={(editor, event) => { + onDraftEditorCut(editor, event as React.ClipboardEvent); + }} + handlePastedText={(text: string, html: string | undefined, editorState: EditorState): DraftHandleValue => { + const nextEditorState = pasteAndFilterText(html, editorState, options); + + if (nextEditorState) { + decoratedOnChange(nextEditorState); + return "handled"; + } + + return "not-handled"; + }} + {...options.draftJsProps} + /> + + + ); + }, +); export type RteClassKey = "root" | "disabled" | "editor"; @@ -344,12 +345,10 @@ const Root = styled("div", { return [styles.root, ownerState.disabled && styles.disabled]; }, })<{ ownerState: OwnerState }>( - ({ theme, ownerState }) => css` + ({ theme }) => css` border: 1px solid ${getRteTheme(theme.components?.CometAdminRte?.defaultProps).colors.border}; border-top-width: 0; background-color: #fff; - - ${ownerState.disabled && css``}// check that. needs it? `, ); @@ -370,8 +369,8 @@ const Editor = styled("div", { ${ownerState.disabled && css` color: ${theme.palette.text.disabled}; - `} // check that - + `} + ${ownerState.minHeight && css` min-height: ${ownerState.minHeight}; @@ -379,6 +378,8 @@ const Editor = styled("div", { `, ); +export default Rte; + declare module "@mui/material/styles" { interface ComponentNameToClassKey { CometAdminRte: RteClassKey; diff --git a/packages/admin/admin-rte/src/field/createFinalFormRte.tsx b/packages/admin/admin-rte/src/field/createFinalFormRte.tsx index 176a2cc855..cdcfe5c035 100644 --- a/packages/admin/admin-rte/src/field/createFinalFormRte.tsx +++ b/packages/admin/admin-rte/src/field/createFinalFormRte.tsx @@ -3,7 +3,7 @@ import * as React from "react"; import { FieldRenderProps } from "react-final-form"; import makeRteApi, { IMakeRteApiProps, OnDebouncedContentChangeFn } from "../core/makeRteApi"; -import Rte, { IOptions as RteOptions, RteProps } from "../core/Rte"; +import { IOptions as RteOptions, Rte, RteProps } from "../core/Rte"; import RteReadOnlyBase from "../core/RteReadOnly"; interface IConfig { From 5f528c34e43f3773d02fa19d8faba601d8fd6cd3 Mon Sep 17 00:00:00 2001 From: Andrea Rutrecht Date: Wed, 7 Feb 2024 16:09:22 +0100 Subject: [PATCH 3/7] Add missing prop 'minHeight' to 'ownerState' --- packages/admin/admin-rte/src/core/Rte.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/admin/admin-rte/src/core/Rte.tsx b/packages/admin/admin-rte/src/core/Rte.tsx index 0b769b906f..44e43768b3 100644 --- a/packages/admin/admin-rte/src/core/Rte.tsx +++ b/packages/admin/admin-rte/src/core/Rte.tsx @@ -171,6 +171,7 @@ export const Rte: React.ForwardRefExoticComponent(null); From 03593a0196bb1b4f38ad2c1ea866670f734a65b4 Mon Sep 17 00:00:00 2001 From: Andrea Rutrecht Date: Wed, 7 Feb 2024 16:10:45 +0100 Subject: [PATCH 4/7] Correctly set 'min-height' prop for 'Editor' --- packages/admin/admin-rte/src/core/Rte.tsx | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/packages/admin/admin-rte/src/core/Rte.tsx b/packages/admin/admin-rte/src/core/Rte.tsx index 44e43768b3..f4e4076aeb 100644 --- a/packages/admin/admin-rte/src/core/Rte.tsx +++ b/packages/admin/admin-rte/src/core/Rte.tsx @@ -363,6 +363,12 @@ const Editor = styled("div", { ({ ownerState, theme }) => css` & .public-DraftEditor-content { min-height: 240px; + + ${ownerState.minHeight !== undefined && + css` + min-height: ${ownerState.minHeight}; + `} + padding: 20px; box-sizing: border-box; } @@ -371,11 +377,6 @@ const Editor = styled("div", { css` color: ${theme.palette.text.disabled}; `} - - ${ownerState.minHeight && - css` - min-height: ${ownerState.minHeight}; - `} `, ); From 478bdfd3cac6d5833c213424b6916a6c39027ad2 Mon Sep 17 00:00:00 2001 From: Andrea Rutrecht Date: Wed, 7 Feb 2024 16:11:10 +0100 Subject: [PATCH 5/7] Remove unnecessary default export --- packages/admin/admin-rte/src/core/Rte.tsx | 2 -- packages/admin/admin-rte/src/index.ts | 2 +- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/admin/admin-rte/src/core/Rte.tsx b/packages/admin/admin-rte/src/core/Rte.tsx index f4e4076aeb..fef83b7940 100644 --- a/packages/admin/admin-rte/src/core/Rte.tsx +++ b/packages/admin/admin-rte/src/core/Rte.tsx @@ -380,8 +380,6 @@ const Editor = styled("div", { `, ); -export default Rte; - declare module "@mui/material/styles" { interface ComponentNameToClassKey { CometAdminRte: RteClassKey; diff --git a/packages/admin/admin-rte/src/index.ts b/packages/admin/admin-rte/src/index.ts index a8d5c19ed8..191ee65c77 100644 --- a/packages/admin/admin-rte/src/index.ts +++ b/packages/admin/admin-rte/src/index.ts @@ -15,7 +15,7 @@ export { default as filterEditorUtilsManipulateEntityData } from "./core/filterE export { default as filterEditorUtilsRemoveEntities } from "./core/filterEditor/utils/removeEntities"; export { default as filterEditorUtilsRemoveInlineStyles } from "./core/filterEditor/utils/removeInlineStyles"; export { IMakeRteApiProps, IRteApiProps, default as makeRteApi, OnDebouncedContentChangeFn } from "./core/makeRteApi"; -export { FilterEditorStateBeforeUpdateFn, IOptions as IRteOptions, IRteRef, default as Rte, RteClassKey, RteProps } from "./core/Rte"; +export { FilterEditorStateBeforeUpdateFn, IOptions as IRteOptions, IRteRef, Rte, RteClassKey, RteProps } from "./core/Rte"; export { IOptions as IRteReadOnlyOptions, IProps as IRteReadOnlyProps, default as RteReadOnly } from "./core/RteReadOnly"; export { default as findEntityInCurrentSelection } from "./core/utils/findEntityInCurrentSelection"; export { default as findTextInCurrentSelection } from "./core/utils/findTextInCurrentSelection"; From 449ad62e681e4701aa1b7fc1454f872ec4bc0549 Mon Sep 17 00:00:00 2001 From: Andrea Rutrecht Date: Wed, 14 Feb 2024 08:18:52 +0100 Subject: [PATCH 6/7] Revert variable name from 'rteOptions' to 'passedOptions' --- packages/admin/admin-rte/src/core/Rte.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/admin/admin-rte/src/core/Rte.tsx b/packages/admin/admin-rte/src/core/Rte.tsx index a2e32adb80..9f657e3caa 100644 --- a/packages/admin/admin-rte/src/core/Rte.tsx +++ b/packages/admin/admin-rte/src/core/Rte.tsx @@ -159,7 +159,7 @@ export const Rte: React.ForwardRefExoticComponent(null); // merge default options with passed options - let options = rteOptions ? { ...defaultOptions, ...rteOptions } : defaultOptions; + let options = passedOptions ? { ...defaultOptions, ...passedOptions } : defaultOptions; // extract deprecated options and handle them specially let deprecatedCustomBlockMap: ICustomBlockTypeMap_Deprecated = {}; From 1a4e9e911bf6d81dc1e17afd0d70db477f09f62f Mon Sep 17 00:00:00 2001 From: Andrea Rutrecht Date: Thu, 15 Feb 2024 08:36:49 +0100 Subject: [PATCH 7/7] Remove second 'Partial' from module interface definitions --- packages/admin/admin-rte/src/core/Rte.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/admin/admin-rte/src/core/Rte.tsx b/packages/admin/admin-rte/src/core/Rte.tsx index 9f657e3caa..a0a7339c3e 100644 --- a/packages/admin/admin-rte/src/core/Rte.tsx +++ b/packages/admin/admin-rte/src/core/Rte.tsx @@ -392,7 +392,7 @@ declare module "@mui/material/styles" { interface Components { CometAdminRte?: { - defaultProps?: Partial; + defaultProps?: ComponentsPropsList["CometAdminRte"]; styleOverrides?: ComponentsOverrides["CometAdminRte"]; }; }