diff --git a/.eslintignore b/.eslintignore new file mode 100644 index 00000000..83ffb91d --- /dev/null +++ b/.eslintignore @@ -0,0 +1,3 @@ +**/dist +**/node_modules +**/proto diff --git a/.eslintrc b/.eslintrc new file mode 100644 index 00000000..f557058f --- /dev/null +++ b/.eslintrc @@ -0,0 +1,80 @@ +{ + "root": true, + "parser": "@typescript-eslint/parser", + "parserOptions": { + // TODO: Enable type-aware linting (https://typescript-eslint.io/docs/linting/type-linting) + "sourceType": "module", + "ecmaFeatures": { + "jsx": true + }, + "warnOnUnsupportedTypeScriptVersion": true + }, + "env": { + "browser": true, + "node": true + }, + "plugins": [ + "@typescript-eslint", + "import", + "simple-import-sort", + "react", + "jsx-a11y" + ], + "extends": [ + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + // "plugin:@typescript-eslint/recommended-requiring-type-checking", + "plugin:eslint-comments/recommended", + "plugin:import/recommended", + "plugin:import/typescript", + "plugin:jsx-a11y/recommended", + "plugin:react/recommended", + "plugin:react-hooks/recommended", + // "plugin:node/recommended", + // "plugin:jest/recommended", + "prettier" + ], + "rules": { + // "@typescript-eslint/consistent-type-definitions": ["error", "interface"], + "@typescript-eslint/consistent-type-imports": "error", + // "@typescript-eslint/consistent-type-exports": "error", + "simple-import-sort/imports": [ + "error", + { + "groups": [ + // Side effect imports. + ["^\\u0000"], + // `react` related packages come first. + ["react"], + // Things that start with a letter (or digit or underscore), or `@` followed by a letter. + ["^@?\\w"], + // Absolute imports and other imports such as Vue-style `@/foo`. + // Anything not matched in another group. + ["^"], + // Relative imports. + // Anything that starts with a dot. + ["^\\."], + // type imports last as a separate group + ["^.+\\u0000$"] + ] + } + ], + "simple-import-sort/exports": "error", + "import/first": "error", + "import/newline-after-import": "error", + "import/no-duplicates": "error" + }, + "settings": { + "react": { + "version": "detect" + }, + "import/resolver": { + "node": { + "extensions": [".js", ".jsx", ".ts", ".tsx"] + }, + "typescript": { + "alwaysTryTypes": true + } + } + } +} diff --git a/.eslintrc.json b/.eslintrc.json deleted file mode 100644 index d68fe3ed..00000000 --- a/.eslintrc.json +++ /dev/null @@ -1,48 +0,0 @@ -{ - "root": true, - "parser": "@typescript-eslint/parser", - "parserOptions": { "project": "./tsconfig.json" }, - "env": { - "es6": true, - "node": true, - "mocha": true, - "browser": true - }, - "ignorePatterns": ["node_modules", "build", "coverage", "proto"], - "plugins": ["import", "eslint-comments", "functional"], - "extends": [ - "eslint:recommended", - "plugin:eslint-comments/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:import/typescript", - "prettier", - "prettier/@typescript-eslint" - ], - "globals": { "BigInt": true, "console": true, "WebAssembly": true }, - "rules": { - "@typescript-eslint/explicit-function-return-type": ["error"], - "@typescript-eslint/explicit-module-boundary-types": "off", - "eslint-comments/disable-enable-pair": [ - "error", - { "allowWholeFile": true } - ], - "eslint-comments/no-unused-disable": "error", - "import/order": [ - "error", - { "newlines-between": "always", "alphabetize": { "order": "asc" } } - ], - "no-constant-condition": ["error", { "checkLoops": false }], - "sort-imports": [ - "error", - { "ignoreDeclarationSort": true, "ignoreCase": true } - ] - }, - "overrides": [ - { - "files": ["*.spec.ts", "**/test_utils/*.ts"], - "rules": { - "@typescript-eslint/no-non-null-assertion": "off" - } - } - ] -} diff --git a/package.json b/package.json index e609c3ad..860a948b 100644 --- a/package.json +++ b/package.json @@ -8,6 +8,8 @@ "scripts": { "fix": "run-s 'fix:*' && wsrun -e -c -s fix", "build": "wsrun -e -c -s build", + "lint": "eslint 'packages/**/*.{ts,tsx}'", + "lint:fix": "eslint 'packages/**/*.{ts,tsx}' --fix", "format": "prettier --write .", "typecheck": "wsrun -e -c -s typecheck", "test": "wsrun -e -c -s test" @@ -15,6 +17,20 @@ "devDependencies": { "@parcel/packager-ts": "2.3.2", "@parcel/transformer-typescript-types": "2.3.2", + "@typescript-eslint/eslint-plugin": "^5.12.0", + "@typescript-eslint/parser": "^5.12.0", + "eslint": "^8.9.0", + "eslint-config-prettier": "^8.3.0", + "eslint-import-resolver-node": "^0.3.6", + "eslint-import-resolver-typescript": "^2.4.0", + "eslint-plugin-eslint-comments": "^3.2.0", + "eslint-plugin-import": "^2.25.2", + "eslint-plugin-jest": "^26.1.1", + "eslint-plugin-jsx-a11y": "^6.5.1", + "eslint-plugin-node": "^11.1.0", + "eslint-plugin-react": "^7.27.0", + "eslint-plugin-react-hooks": "^4.3.0", + "eslint-plugin-simple-import-sort": "^7.0.0", "npm-run-all": "^4.1.5", "parcel": "^2.3.2", "prettier": "^2.5.1", diff --git a/packages/status-core/.eslintrc.json b/packages/status-core/.eslintrc.json deleted file mode 100644 index f0d0dc9b..00000000 --- a/packages/status-core/.eslintrc.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "root": true, - "parser": "@typescript-eslint/parser", - "parserOptions": { "project": "./tsconfig.json" }, - "env": { "es6": true }, - "ignorePatterns": ["node_modules", "dist", "coverage", "proto"], - "plugins": ["import", "eslint-comments", "functional"], - "extends": [ - "eslint:recommended", - "plugin:eslint-comments/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:import/typescript", - "prettier" - ], - "globals": { "BigInt": true, "console": true, "WebAssembly": true }, - "rules": { - "@typescript-eslint/explicit-function-return-type": ["error"], - "@typescript-eslint/explicit-module-boundary-types": "off", - "eslint-comments/disable-enable-pair": [ - "error", - { "allowWholeFile": true } - ], - "eslint-comments/no-unused-disable": "error", - "import/order": [ - "error", - { "newlines-between": "always", "alphabetize": { "order": "asc" } } - ], - "no-constant-condition": ["error", { "checkLoops": false }], - "sort-imports": [ - "error", - { "ignoreDeclarationSort": true, "ignoreCase": true } - ] - }, - "overrides": [ - { - "files": ["*.spec.ts", "**/test_utils/*.ts"], - "rules": { - "@typescript-eslint/no-non-null-assertion": "off" - } - } - ] -} diff --git a/packages/status-core/package.json b/packages/status-core/package.json index 71cee12d..3e1158f5 100644 --- a/packages/status-core/package.json +++ b/packages/status-core/package.json @@ -36,15 +36,7 @@ "@types/pbkdf2": "^3.1.0", "@types/secp256k1": "^4.0.3", "@types/uuid": "^8.3.3", - "@typescript-eslint/eslint-plugin": "^4.31.1", - "@typescript-eslint/parser": "^4.31.1", "chai": "^4.3.4", - "eslint": "^7.32.0", - "eslint-config-prettier": "^8.3.0", - "eslint-import-resolver-node": "^0.3.6", - "eslint-plugin-eslint-comments": "^3.2.0", - "eslint-plugin-functional": "^3.7.0", - "eslint-plugin-import": "^2.24.2", "mocha": "^9.1.1", "npm-run-all": "^4.1.5", "ts-node": "^10.2.1", diff --git a/packages/status-core/src/chat.ts b/packages/status-core/src/chat.ts index 586b606b..b666a5bc 100644 --- a/packages/status-core/src/chat.ts +++ b/packages/status-core/src/chat.ts @@ -1,7 +1,9 @@ import { idToContentTopic } from './contentTopic' import { createSymKeyFromPassword } from './encryption' -import { ChatMessage, Content } from './wire/chat_message' -import { CommunityChat } from './wire/community_chat' +import { ChatMessage } from './wire/chat_message' + +import type { Content } from './wire/chat_message' +import type { CommunityChat } from './wire/community_chat' /** * Represent a chat room. Only public chats are currently supported. diff --git a/packages/status-core/src/community.spec.ts b/packages/status-core/src/community.spec.ts index 79b02896..191d77df 100644 --- a/packages/status-core/src/community.spec.ts +++ b/packages/status-core/src/community.spec.ts @@ -2,7 +2,8 @@ import { expect } from 'chai' import { Waku } from 'js-waku' import { Community } from './community' -import { CommunityDescription } from './wire/community_description' + +import type { CommunityDescription } from './wire/community_description' describe('Community [live data]', () => { before(function () { diff --git a/packages/status-core/src/community.ts b/packages/status-core/src/community.ts index 3a110051..dc0c6134 100644 --- a/packages/status-core/src/community.ts +++ b/packages/status-core/src/community.ts @@ -1,11 +1,12 @@ import debug from 'debug' -import { Waku } from 'js-waku' import { Chat } from './chat' import { bufToHex, hexToBuf } from './utils' -import { CommunityChat } from './wire/community_chat' import { CommunityDescription } from './wire/community_description' +import type { CommunityChat } from './wire/community_chat' +import type { Waku } from 'js-waku' + const dbg = debug('communities:community') export class Community { diff --git a/packages/status-core/src/contacts.ts b/packages/status-core/src/contacts.ts index 73d0499b..76f8e4a6 100644 --- a/packages/status-core/src/contacts.ts +++ b/packages/status-core/src/contacts.ts @@ -1,12 +1,14 @@ -import { PageDirection, Waku, WakuMessage } from 'js-waku' +import { PageDirection, WakuMessage } from 'js-waku' import { idToContactCodeTopic } from './contentTopic' -import { Identity } from './identity' import { StatusUpdate_StatusType } from './proto/communities/v1/status_update' import { bufToHex, getLatestUserNickname } from './utils' import { ChatIdentity } from './wire/chat_identity' import { StatusUpdate } from './wire/status_update' +import type { Identity } from './identity' +import type { Waku } from 'js-waku' + const STATUS_BROADCAST_INTERVAL = 30000 const NICKNAME_BROADCAST_INTERVAL = 300000 diff --git a/packages/status-core/src/contentTopic.ts b/packages/status-core/src/contentTopic.ts index a13259fe..4101a4f9 100644 --- a/packages/status-core/src/contentTopic.ts +++ b/packages/status-core/src/contentTopic.ts @@ -1,5 +1,4 @@ import { Buffer } from 'buffer' - import { keccak256 } from 'js-sha3' const TopicLength = 4 diff --git a/packages/status-core/src/groupChats.ts b/packages/status-core/src/groupChats.ts index 93cf0eeb..a5a015ef 100644 --- a/packages/status-core/src/groupChats.ts +++ b/packages/status-core/src/groupChats.ts @@ -1,17 +1,17 @@ -import { Waku, WakuMessage } from 'js-waku' +import { WakuMessage } from 'js-waku' import { DecryptionMethod } from 'js-waku/build/main/lib/waku_message' +import { ChatMessage } from '.' import { createSymKeyFromPassword } from './encryption' -import { Identity } from './identity' import { MembershipUpdateEvent_EventType } from './proto/communities/v1/membership_update_message' import { getNegotiatedTopic, getPartitionedTopic } from './topics' import { bufToHex, compressPublicKey } from './utils' -import { - MembershipSignedEvent, - MembershipUpdateMessage, -} from './wire/membership_update_message' +import { MembershipUpdateMessage } from './wire/membership_update_message' -import { ChatMessage, Content } from '.' +import type { Content } from '.' +import type { Identity } from './identity' +import type { MembershipSignedEvent } from './wire/membership_update_message' +import type { Waku } from 'js-waku' type GroupMember = { id: string diff --git a/packages/status-core/src/identity.ts b/packages/status-core/src/identity.ts index 6eebef76..39790ca0 100644 --- a/packages/status-core/src/identity.ts +++ b/packages/status-core/src/identity.ts @@ -1,5 +1,4 @@ import { Buffer } from 'buffer' - import { keccak256 } from 'js-sha3' import { generatePrivateKey } from 'js-waku' import * as secp256k1 from 'secp256k1' diff --git a/packages/status-core/src/index.ts b/packages/status-core/src/index.ts index 849d0641..7f0b9d7a 100644 --- a/packages/status-core/src/index.ts +++ b/packages/status-core/src/index.ts @@ -1,25 +1,25 @@ -export { Identity } from './identity' -export { Messenger } from './messenger' +export { Chat } from './chat' export { Community } from './community' export { Contacts } from './contacts' -export { Chat } from './chat' -export { GroupChats } from './groupChats' export type { GroupChat, GroupChatsType } from './groupChats' +export { GroupChats } from './groupChats' +export { Identity } from './identity' +export { Messenger } from './messenger' export { bufToHex, - hexToBuf, + compressPublicKey, genPrivateKeyWithEntropy, getLatestUserNickname, - compressPublicKey, + hexToBuf, } from './utils' export { ApplicationMetadataMessage } from './wire/application_metadata_message' -export { ChatMessage } from './wire/chat_message' export type { - ContentType, - Content, - StickerContent, - ImageContent, AudioContent, + Content, + ContentType, + ImageContent, + StickerContent, TextContent, } from './wire/chat_message' +export { ChatMessage } from './wire/chat_message' export { getNodesFromHostedJson } from 'js-waku' diff --git a/packages/status-core/src/messenger.spec.ts b/packages/status-core/src/messenger.spec.ts index dd8b5864..7f5e2fa9 100644 --- a/packages/status-core/src/messenger.spec.ts +++ b/packages/status-core/src/messenger.spec.ts @@ -6,9 +6,10 @@ import { Community } from './community' import { Identity } from './identity' import { Messenger } from './messenger' import { bufToHex } from './utils' -import { ApplicationMetadataMessage } from './wire/application_metadata_message' import { ContentType } from './wire/chat_message' +import type { ApplicationMetadataMessage } from './wire/application_metadata_message' + const testChatId = 'test-chat-id' const dbg = debug('communities:test:messenger') @@ -97,6 +98,7 @@ describe('Messenger', () => { const receivedMessage = await receivedMessagePromise + // eslint-disable-next-line @typescript-eslint/no-non-null-assertion expect(bufToHex(receivedMessage.signer!)).to.eq( bufToHex(identityAlice.publicKey) ) diff --git a/packages/status-core/src/messenger.ts b/packages/status-core/src/messenger.ts index 7a537b8e..151f8588 100644 --- a/packages/status-core/src/messenger.ts +++ b/packages/status-core/src/messenger.ts @@ -1,14 +1,16 @@ import debug from 'debug' import { Waku, WakuMessage } from 'js-waku' -import { CreateOptions as WakuCreateOptions } from 'js-waku/build/main/lib/waku' import { DecryptionMethod } from 'js-waku/build/main/lib/waku_message' import { Chat } from './chat' -import { Identity } from './identity' import { ApplicationMetadataMessage_Type } from './proto/status/v1/application_metadata_message' import { getLatestUserNickname } from './utils' import { ApplicationMetadataMessage } from './wire/application_metadata_message' -import { ChatMessage, Content } from './wire/chat_message' +import { ChatMessage } from './wire/chat_message' + +import type { Identity } from './identity' +import type { Content } from './wire/chat_message' +import type { CreateOptions as WakuCreateOptions } from 'js-waku/build/main/lib/waku' const dbg = debug('communities:messenger') diff --git a/packages/status-core/src/topics.ts b/packages/status-core/src/topics.ts index 8e651ff1..f4a402f3 100644 --- a/packages/status-core/src/topics.ts +++ b/packages/status-core/src/topics.ts @@ -6,7 +6,7 @@ import { bufToHex } from 'js-waku/build/main/lib/utils' import { idToContentTopic } from './contentTopic' import { hexToBuf } from './utils' -import { Identity } from '.' +import type { Identity } from '.' const EC = new ec('secp256k1') const partitionsNum = new BN(5000) diff --git a/packages/status-core/src/utils.ts b/packages/status-core/src/utils.ts index 0c558145..3b7f5410 100644 --- a/packages/status-core/src/utils.ts +++ b/packages/status-core/src/utils.ts @@ -1,9 +1,11 @@ import { ec } from 'elliptic' -import { PageDirection, utils, Waku } from 'js-waku' +import { PageDirection, utils } from 'js-waku' import { idToContactCodeTopic } from './contentTopic' import { ChatIdentity } from './proto/communities/v1/chat_identity' +import type { Waku } from 'js-waku' + const EC = new ec('secp256k1') const hexToBuf = utils.hexToBuf diff --git a/packages/status-core/src/wire/application_metadata_message.ts b/packages/status-core/src/wire/application_metadata_message.ts index 48fbbdc4..5186c0c9 100644 --- a/packages/status-core/src/wire/application_metadata_message.ts +++ b/packages/status-core/src/wire/application_metadata_message.ts @@ -2,13 +2,13 @@ import { keccak256 } from 'js-sha3' import { Reader } from 'protobufjs' import secp256k1 from 'secp256k1' -import { Identity } from '../identity' import * as proto from '../proto/status/v1/application_metadata_message' -import { ApplicationMetadataMessage_Type } from '../proto/status/v1/application_metadata_message' import { hexToBuf } from '../utils' - import { ChatMessage } from './chat_message' +import type { Identity } from '../identity' +import type { ApplicationMetadataMessage_Type } from '../proto/status/v1/application_metadata_message' + export class ApplicationMetadataMessage { private constructor(public proto: proto.ApplicationMetadataMessage) {} diff --git a/packages/status-core/src/wire/chat_identity.ts b/packages/status-core/src/wire/chat_identity.ts index 68559ecb..d6a4cd43 100644 --- a/packages/status-core/src/wire/chat_identity.ts +++ b/packages/status-core/src/wire/chat_identity.ts @@ -1,7 +1,8 @@ import { Reader } from 'protobufjs' import * as proto from '../proto/communities/v1/chat_identity' -import { IdentityImage } from '../proto/communities/v1/chat_identity' + +import type { IdentityImage } from '../proto/communities/v1/chat_identity' export class ChatIdentity { public constructor(public proto: proto.ChatIdentity) {} diff --git a/packages/status-core/src/wire/chat_message.spec.ts b/packages/status-core/src/wire/chat_message.spec.ts index b63c14e3..3812806e 100644 --- a/packages/status-core/src/wire/chat_message.spec.ts +++ b/packages/status-core/src/wire/chat_message.spec.ts @@ -5,14 +5,9 @@ import { ChatMessage_ContentType, } from '../proto/communities/v1/chat_message' import { ImageType } from '../proto/communities/v1/enums' +import { ChatMessage, ContentType } from './chat_message' -import { - AudioContent, - ChatMessage, - ContentType, - ImageContent, - StickerContent, -} from './chat_message' +import type { AudioContent, ImageContent, StickerContent } from './chat_message' describe('Chat Message', () => { it('Encode & decode Image message', () => { diff --git a/packages/status-core/src/wire/chat_message.ts b/packages/status-core/src/wire/chat_message.ts index e96dd19b..44e77464 100644 --- a/packages/status-core/src/wire/chat_message.ts +++ b/packages/status-core/src/wire/chat_message.ts @@ -1,14 +1,16 @@ import { Reader } from 'protobufjs' import * as proto from '../proto/communities/v1/chat_message' -import { +import { ChatMessage_ContentType } from '../proto/communities/v1/chat_message' +import { MessageType } from '../proto/communities/v1/enums' + +import type { AudioMessage, AudioMessage_AudioType, - ChatMessage_ContentType, ImageMessage, StickerMessage, } from '../proto/communities/v1/chat_message' -import { ImageType, MessageType } from '../proto/communities/v1/enums' +import type { ImageType } from '../proto/communities/v1/enums' export type Content = TextContent | StickerContent | ImageContent | AudioContent diff --git a/packages/status-core/src/wire/community_chat.ts b/packages/status-core/src/wire/community_chat.ts index abcc476e..f4f44f26 100644 --- a/packages/status-core/src/wire/community_chat.ts +++ b/packages/status-core/src/wire/community_chat.ts @@ -1,13 +1,13 @@ import { Reader } from 'protobufjs' import * as proto from '../proto/communities/v1/communities' -import { +import { ChatIdentity } from './chat_identity' + +import type { CommunityMember, CommunityPermissions, } from '../proto/communities/v1/communities' -import { ChatIdentity } from './chat_identity' - export class CommunityChat { public constructor(public proto: proto.CommunityChat) {} diff --git a/packages/status-core/src/wire/community_description.ts b/packages/status-core/src/wire/community_description.ts index d02cc8af..f61a6776 100644 --- a/packages/status-core/src/wire/community_description.ts +++ b/packages/status-core/src/wire/community_description.ts @@ -1,15 +1,15 @@ import debug from 'debug' -import { WakuMessage, WakuStore } from 'js-waku' import { Reader } from 'protobufjs' import { idToContentTopic } from '../contentTopic' import { createSymKeyFromPassword } from '../encryption' import * as proto from '../proto/communities/v1/communities' import { bufToHex } from '../utils' - import { ApplicationMetadataMessage } from './application_metadata_message' import { ChatIdentity } from './chat_identity' -import { CommunityChat } from './community_chat' + +import type { CommunityChat } from './community_chat' +import type { WakuMessage, WakuStore } from 'js-waku' const dbg = debug('communities:wire:community_description') diff --git a/packages/status-react/.eslintrc.json b/packages/status-react/.eslintrc.json deleted file mode 100644 index 051027ab..00000000 --- a/packages/status-react/.eslintrc.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - "root": true, - "parser": "@typescript-eslint/parser", - "parserOptions": { "project": "./tsconfig.json" }, - "env": { "es6": true }, - "ignorePatterns": ["node_modules", "dist", "coverage", "proto"], - "plugins": ["import", "eslint-comments", "functional"], - "extends": [ - "eslint:recommended", - "plugin:eslint-comments/recommended", - "plugin:@typescript-eslint/recommended", - "plugin:import/typescript", - "plugin:react-hooks/recommended", - "prettier" - ], - "globals": { "BigInt": true, "console": true, "WebAssembly": true }, - "rules": { - "@typescript-eslint/explicit-module-boundary-types": "off", - "eslint-comments/disable-enable-pair": [ - "error", - { "allowWholeFile": true } - ], - "eslint-comments/no-unused-disable": "error", - "import/order": [ - "error", - { "newlines-between": "always", "alphabetize": { "order": "asc" } } - ], - "no-constant-condition": ["error", { "checkLoops": false }], - "sort-imports": [ - "error", - { "ignoreDeclarationSort": true, "ignoreCase": true } - ] - }, - "overrides": [ - { - "files": ["*.spec.ts", "**/test_utils/*.ts"], - "rules": { - "@typescript-eslint/no-non-null-assertion": "off" - } - } - ] -} diff --git a/packages/status-react/package.json b/packages/status-react/package.json index 911ca774..7210b657 100644 --- a/packages/status-react/package.json +++ b/packages/status-react/package.json @@ -37,12 +37,8 @@ "@types/qrcode.react": "^1.0.2", "@types/react": "^17.0.16", "@types/styled-components": "^5.1.12", - "@typescript-eslint/eslint-plugin": "^4.29.0", - "@typescript-eslint/parser": "^4.29.0", "chai": "^4.3.4", "copyfiles": "^2.4.1", - "eslint": "^7.32.0", - "eslint-plugin-react-hooks": "^4.3.0", "jsdom": "^16.7.0", "jsdom-global": "^3.0.2", "mocha": "^9.0.3", diff --git a/packages/status-react/src/components/ActivityCenter/ActivityButton.tsx b/packages/status-react/src/components/ActivityCenter/ActivityButton.tsx index a2c5a875..0757e009 100644 --- a/packages/status-react/src/components/ActivityCenter/ActivityButton.tsx +++ b/packages/status-react/src/components/ActivityCenter/ActivityButton.tsx @@ -1,4 +1,5 @@ import React, { useMemo, useRef, useState } from 'react' + import styled from 'styled-components' import { useIdentity } from '../../contexts/identityProvider' @@ -6,7 +7,6 @@ import { useActivities } from '../../hooks/useActivities' import { useClickOutside } from '../../hooks/useClickOutside' import { TopBtn } from '../Chat/ChatTopbar' import { ActivityIcon } from '../Icons/ActivityIcon' - import { ActivityCenter } from './ActivityCenter' interface ActivityButtonProps { diff --git a/packages/status-react/src/components/ActivityCenter/ActivityCenter.tsx b/packages/status-react/src/components/ActivityCenter/ActivityCenter.tsx index 6fbd70ec..def32ccb 100644 --- a/packages/status-react/src/components/ActivityCenter/ActivityCenter.tsx +++ b/packages/status-react/src/components/ActivityCenter/ActivityCenter.tsx @@ -1,17 +1,18 @@ import React, { useMemo, useState } from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' -import { ActivityAction } from '../../hooks/useActivities' -import { Activity } from '../../models/Activity' import { buttonTransparentStyles } from '../Buttons/buttonStyle' import { Tooltip } from '../Form/Tooltip' import { HideIcon } from '../Icons/HideIcon' import { ReadIcon } from '../Icons/ReadIcon' import { ShowIcon } from '../Icons/ShowIcon' - import { ActivityMessage } from './ActivityMessage' +import type { ActivityAction } from '../../hooks/useActivities' +import type { Activity } from '../../models/Activity' + interface ActivityCenterProps { activities: Activity[] setShowActivityCenter: (val: boolean) => void diff --git a/packages/status-react/src/components/ActivityCenter/ActivityMessage.tsx b/packages/status-react/src/components/ActivityCenter/ActivityMessage.tsx index d43856d2..255e1dd6 100644 --- a/packages/status-react/src/components/ActivityCenter/ActivityMessage.tsx +++ b/packages/status-react/src/components/ActivityCenter/ActivityMessage.tsx @@ -1,12 +1,11 @@ import React, { useEffect, useMemo, useRef, useState } from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' import { useModal } from '../../contexts/modalProvider' import { useScrollToMessage } from '../../contexts/scrollProvider' -import { ActivityAction } from '../../hooks/useActivities' import { useClickOutside } from '../../hooks/useClickOutside' -import { Activity } from '../../models/Activity' import { equalDate } from '../../utils/equalDate' import { DownloadButton } from '../Buttons/DownloadButton' import { Mention } from '../Chat/ChatMessageContent' @@ -35,9 +34,11 @@ import { } from '../Messages/Styles' import { ProfileModalName } from '../Modals/ProfileModal' import { textMediumStyles, textSmallStyles } from '../Text' - import { ActivityBtn, FlexDiv } from './ActivityCenter' +import type { ActivityAction } from '../../hooks/useActivities' +import type { Activity } from '../../models/Activity' + const today = new Date() type ActivityMessageProps = { @@ -168,14 +169,15 @@ export function ActivityMessage({ )} {'message' in activity && activity.message?.content && ( -
{ scroll(activity.message, activity.channel.id) setShowActivityCenter(false) }} > {elements.map(el => el)} -
+ )} {activity.type === 'request' && activity.requestType === 'income' && diff --git a/packages/status-react/src/components/Buttons/BackButton.tsx b/packages/status-react/src/components/Buttons/BackButton.tsx index 1297630a..ce623574 100644 --- a/packages/status-react/src/components/Buttons/BackButton.tsx +++ b/packages/status-react/src/components/Buttons/BackButton.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' import { LeftIcon } from '../Icons/LeftIcon' diff --git a/packages/status-react/src/components/Buttons/DownloadButton.tsx b/packages/status-react/src/components/Buttons/DownloadButton.tsx index a684befc..afa4ad22 100644 --- a/packages/status-react/src/components/Buttons/DownloadButton.tsx +++ b/packages/status-react/src/components/Buttons/DownloadButton.tsx @@ -1,4 +1,5 @@ import React, { useEffect, useState } from 'react' + import styled from 'styled-components' import { buttonStyles } from './buttonStyle' diff --git a/packages/status-react/src/components/Channels/Channel.tsx b/packages/status-react/src/components/Channels/Channel.tsx index b463c4e2..9de028f2 100644 --- a/packages/status-react/src/components/Channels/Channel.tsx +++ b/packages/status-react/src/components/Channels/Channel.tsx @@ -1,17 +1,18 @@ import React from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' import { useNarrow } from '../../contexts/narrowProvider' -import { ChannelData } from '../../models/ChannelData' import { ChannelMenu } from '../Form/ChannelMenu' import { Tooltip } from '../Form/Tooltip' import { GroupIcon } from '../Icons/GroupIcon' import { MutedIcon } from '../Icons/MutedIcon' import { textMediumStyles } from '../Text' - import { ChannelIcon } from './ChannelIcon' +import type { ChannelData } from '../../models/ChannelData' + function RenderChannelName({ channel, activeView, diff --git a/packages/status-react/src/components/Channels/ChannelIcon.tsx b/packages/status-react/src/components/Channels/ChannelIcon.tsx index 4cba2e2c..f9422012 100644 --- a/packages/status-react/src/components/Channels/ChannelIcon.tsx +++ b/packages/status-react/src/components/Channels/ChannelIcon.tsx @@ -1,8 +1,10 @@ import React from 'react' + import styled from 'styled-components' import { useNarrow } from '../../contexts/narrowProvider' -import { ChannelData } from '../../models/ChannelData' + +import type { ChannelData } from '../../models/ChannelData' interface ChannelIconProps { channel: ChannelData diff --git a/packages/status-react/src/components/Channels/Channels.tsx b/packages/status-react/src/components/Channels/Channels.tsx index 3ef7be90..d5e6b979 100644 --- a/packages/status-react/src/components/Channels/Channels.tsx +++ b/packages/status-react/src/components/Channels/Channels.tsx @@ -1,4 +1,5 @@ import React, { useMemo } from 'react' + import styled from 'styled-components' import { ChatState, useChatState } from '../../contexts/chatStateProvider' @@ -6,7 +7,6 @@ import { useIdentity } from '../../contexts/identityProvider' import { useMessengerContext } from '../../contexts/messengerProvider' import { CreateIcon } from '../Icons/CreateIcon' import { UserCreation } from '../UserCreation/UserCreation' - import { Channel } from './Channel' interface ChannelsProps { diff --git a/packages/status-react/src/components/Channels/EmptyChannel.tsx b/packages/status-react/src/components/Channels/EmptyChannel.tsx index 3858b51a..d2e84eb0 100644 --- a/packages/status-react/src/components/Channels/EmptyChannel.tsx +++ b/packages/status-react/src/components/Channels/EmptyChannel.tsx @@ -1,15 +1,16 @@ import React, { useMemo } from 'react' + import styled from 'styled-components' import { useUserPublicKey } from '../../contexts/identityProvider' import { useMessengerContext } from '../../contexts/messengerProvider' import { useNarrow } from '../../contexts/narrowProvider' -import { ChannelData } from '../../models/ChannelData' import { textMediumStyles } from '../Text' - import { ChannelInfo, ChannelName } from './Channel' import { ChannelLogo } from './ChannelIcon' +import type { ChannelData } from '../../models/ChannelData' + type ChannelBeggingTextProps = { channel: ChannelData } diff --git a/packages/status-react/src/components/Chat/ChatBody.tsx b/packages/status-react/src/components/Chat/ChatBody.tsx index 06c5b29f..a7a7e70e 100644 --- a/packages/status-react/src/components/Chat/ChatBody.tsx +++ b/packages/status-react/src/components/Chat/ChatBody.tsx @@ -1,20 +1,21 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' import { useNarrow } from '../../contexts/narrowProvider' -import { Reply } from '../../hooks/useReply' -import { ChannelData } from '../../models/ChannelData' import { TokenRequirement } from '../Form/TokenRequirement' import { MessagesList } from '../Messages/MessagesList' import { NarrowChannels } from '../NarrowMode/NarrowChannels' import { NarrowMembers } from '../NarrowMode/NarrowMembers' import { LoadingSkeleton } from '../Skeleton/LoadingSkeleton' - import { ChatCreation } from './ChatCreation' import { ChatInput } from './ChatInput' import { ChatTopbar, ChatTopbarLoading } from './ChatTopbar' +import type { Reply } from '../../hooks/useReply' +import type { ChannelData } from '../../models/ChannelData' + export enum ChatBodyState { Chat, Channels, diff --git a/packages/status-react/src/components/Chat/ChatCreation.tsx b/packages/status-react/src/components/Chat/ChatCreation.tsx index 49d37890..470fef73 100644 --- a/packages/status-react/src/components/Chat/ChatCreation.tsx +++ b/packages/status-react/src/components/Chat/ChatCreation.tsx @@ -1,11 +1,11 @@ import React, { useCallback, useMemo, useState } from 'react' + import styled from 'styled-components' import { ChatState, useChatState } from '../../contexts/chatStateProvider' import { useUserPublicKey } from '../../contexts/identityProvider' import { useMessengerContext } from '../../contexts/messengerProvider' import { useNarrow } from '../../contexts/narrowProvider' -import { ChannelData } from '../../models/ChannelData' import { ActivityButton } from '../ActivityCenter/ActivityButton' import { BackButton } from '../Buttons/BackButton' import { buttonStyles } from '../Buttons/buttonStyle' @@ -13,9 +13,10 @@ import { CrossIcon } from '../Icons/CrossIcon' import { Member } from '../Members/Member' import { SearchBlock } from '../SearchBlock' import { textMediumStyles } from '../Text' - import { ChatInput } from './ChatInput' +import type { ChannelData } from '../../models/ChannelData' + interface ChatCreationProps { setEditGroup?: (val: boolean) => void activeChannel?: ChannelData diff --git a/packages/status-react/src/components/Chat/ChatInput.tsx b/packages/status-react/src/components/Chat/ChatInput.tsx index 0a009fcc..54468dc4 100644 --- a/packages/status-react/src/components/Chat/ChatInput.tsx +++ b/packages/status-react/src/components/Chat/ChatInput.tsx @@ -1,5 +1,7 @@ -import { EmojiData } from 'emoji-mart' +import 'emoji-mart/css/emoji-mart.css' + import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react' + import styled from 'styled-components' import { ChatState, useChatState } from '../../contexts/chatStateProvider' @@ -8,7 +10,6 @@ import { useMessengerContext } from '../../contexts/messengerProvider' import { useModal } from '../../contexts/modalProvider' import { useNarrow } from '../../contexts/narrowProvider' import { useClickOutside } from '../../hooks/useClickOutside' -import { Reply } from '../../hooks/useReply' import { uintToImgUrl } from '../../utils/uintToImgUrl' import { ClearBtn } from '../Form/inputStyles' import { ClearSvg } from '../Icons/ClearIcon' @@ -18,14 +19,15 @@ import { GifIcon } from '../Icons/GifIcon' import { PictureIcon } from '../Icons/PictureIcon' import { ReplySvg } from '../Icons/ReplyIcon' import { StickerIcon } from '../Icons/StickerIcon' -import 'emoji-mart/css/emoji-mart.css' import { SizeLimitModal, SizeLimitModalName } from '../Modals/SizeLimitModal' import { UserCreationStartModalName } from '../Modals/UserCreationStartModal' import { SearchBlock } from '../SearchBlock' import { textMediumStyles, textSmallStyles } from '../Text' - import { EmojiPicker } from './EmojiPicker' +import type { Reply } from '../../hooks/useReply' +import type { EmojiData } from 'emoji-mart' + interface ChatInputProps { reply?: Reply | undefined setReply?: (val: Reply | undefined) => void diff --git a/packages/status-react/src/components/Chat/ChatMessageContent.tsx b/packages/status-react/src/components/Chat/ChatMessageContent.tsx index 38759206..b3e568e0 100644 --- a/packages/status-react/src/components/Chat/ChatMessageContent.tsx +++ b/packages/status-react/src/components/Chat/ChatMessageContent.tsx @@ -1,17 +1,19 @@ -import { decode } from 'html-entities' import React, { useEffect, useMemo, useRef, useState } from 'react' + +import { decode } from 'html-entities' import styled from 'styled-components' import { useFetchMetadata } from '../../contexts/fetchMetadataProvider' import { useUserPublicKey } from '../../contexts/identityProvider' import { useMessengerContext } from '../../contexts/messengerProvider' import { useClickOutside } from '../../hooks/useClickOutside' -import { ChatMessage } from '../../models/ChatMessage' -import { Metadata } from '../../models/Metadata' import { ContactMenu } from '../Form/ContactMenu' import { ImageMenu } from '../Form/ImageMenu' import { textMediumStyles, textSmallStyles } from '../Text' +import type { ChatMessage } from '../../models/ChatMessage' +import type { Metadata } from '../../models/Metadata' + interface MentionProps { id: string setMentioned: (val: boolean) => void diff --git a/packages/status-react/src/components/Chat/ChatTopbar.tsx b/packages/status-react/src/components/Chat/ChatTopbar.tsx index 318cf6f6..586fe563 100644 --- a/packages/status-react/src/components/Chat/ChatTopbar.tsx +++ b/packages/status-react/src/components/Chat/ChatTopbar.tsx @@ -1,4 +1,5 @@ import React, { useRef, useState } from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' @@ -16,7 +17,6 @@ import { MembersIcon } from '../Icons/MembersIcon' import { MoreIcon } from '../Icons/MoreIcon' import { CommunitySkeleton } from '../Skeleton/CommunitySkeleton' import { Loading } from '../Skeleton/Loading' - import { ChatBodyState } from './ChatBody' export function ChatTopbarLoading() { diff --git a/packages/status-react/src/components/Chat/EmojiPicker.tsx b/packages/status-react/src/components/Chat/EmojiPicker.tsx index 0f598e4f..83e322bd 100644 --- a/packages/status-react/src/components/Chat/EmojiPicker.tsx +++ b/packages/status-react/src/components/Chat/EmojiPicker.tsx @@ -1,9 +1,13 @@ -import { EmojiData, Picker } from 'emoji-mart' import React from 'react' + +import { Picker } from 'emoji-mart' import { useTheme } from 'styled-components' import { useLow } from '../../contexts/narrowProvider' -import { lightTheme, Theme } from '../../styles/themes' +import { lightTheme } from '../../styles/themes' + +import type { Theme } from '../../styles/themes' +import type { EmojiData } from 'emoji-mart' type EmojiPickerProps = { showEmoji: boolean diff --git a/packages/status-react/src/components/Community.tsx b/packages/status-react/src/components/Community.tsx index 650e655c..b8973f10 100644 --- a/packages/status-react/src/components/Community.tsx +++ b/packages/status-react/src/components/Community.tsx @@ -1,9 +1,9 @@ import React from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../contexts/messengerProvider' import { useModal } from '../contexts/modalProvider' - import { CommunityIdentity } from './CommunityIdentity' import { CommunityModalName } from './Modals/CommunityModal' import { CommunitySkeleton } from './Skeleton/CommunitySkeleton' diff --git a/packages/status-react/src/components/CommunityChat.tsx b/packages/status-react/src/components/CommunityChat.tsx index 6b77b23a..e1dd549b 100644 --- a/packages/status-react/src/components/CommunityChat.tsx +++ b/packages/status-react/src/components/CommunityChat.tsx @@ -1,8 +1,7 @@ import React, { useRef } from 'react' -import { ThemeProvider } from 'styled-components' -import styled from 'styled-components' -import { ConfigType } from '..' +import styled, { ThemeProvider } from 'styled-components' + import { ChatStateProvider } from '../contexts/chatStateProvider' import { ConfigProvider } from '../contexts/configProvider' import { FetchMetadataProvider } from '../contexts/fetchMetadataProvider' @@ -12,12 +11,13 @@ import { ModalProvider } from '../contexts/modalProvider' import { NarrowProvider } from '../contexts/narrowProvider' import { ScrollProvider } from '../contexts/scrollProvider' import { ToastProvider } from '../contexts/toastProvider' -import { Metadata } from '../models/Metadata' import { GlobalStyle } from '../styles/GlobalStyle' -import { Theme } from '../styles/themes' - import { CommunityChatRoom } from './CommunityChatRoom' +import type { ConfigType } from '..' +import type { Metadata } from '../models/Metadata' +import type { Theme } from '../styles/themes' + interface CommunityChatProps { theme: Theme communityKey: string diff --git a/packages/status-react/src/components/CommunityChatRoom.tsx b/packages/status-react/src/components/CommunityChatRoom.tsx index 6b9e3ac2..0d49704d 100644 --- a/packages/status-react/src/components/CommunityChatRoom.tsx +++ b/packages/status-react/src/components/CommunityChatRoom.tsx @@ -1,10 +1,10 @@ import React, { useState } from 'react' + import styled from 'styled-components' import { ChatState, useChatState } from '../contexts/chatStateProvider' import { useMessengerContext } from '../contexts/messengerProvider' import { useNarrow } from '../contexts/narrowProvider' - import { Channels } from './Channels/Channels' import { ChatBody } from './Chat/ChatBody' import { ChatCreation } from './Chat/ChatCreation' diff --git a/packages/status-react/src/components/CommunityIdentity.tsx b/packages/status-react/src/components/CommunityIdentity.tsx index da50b62c..10a448a8 100644 --- a/packages/status-react/src/components/CommunityIdentity.tsx +++ b/packages/status-react/src/components/CommunityIdentity.tsx @@ -1,8 +1,8 @@ import React from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../contexts/messengerProvider' - import { textMediumStyles } from './Text' export interface CommunityIdentityProps { diff --git a/packages/status-react/src/components/Form/ChannelMenu.tsx b/packages/status-react/src/components/Form/ChannelMenu.tsx index e719817d..e6943be8 100644 --- a/packages/status-react/src/components/Form/ChannelMenu.tsx +++ b/packages/status-react/src/components/Form/ChannelMenu.tsx @@ -1,4 +1,5 @@ import React, { useMemo, useRef, useState } from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' @@ -6,7 +7,6 @@ import { useModal } from '../../contexts/modalProvider' import { useNarrow } from '../../contexts/narrowProvider' import { useClickOutside } from '../../hooks/useClickOutside' import { useContextMenu } from '../../hooks/useContextMenu' -import { ChannelData } from '../../models/ChannelData' import { AddMemberIcon } from '../Icons/AddMemberIcon' import { CheckIcon } from '../Icons/CheckIcon' import { DeleteIcon } from '../Icons/DeleteIcon' @@ -20,10 +20,11 @@ import { ProfileIcon } from '../Icons/ProfileIcon' import { EditModalName } from '../Modals/EditModal' import { LeavingModalName } from '../Modals/LeavingModal' import { ProfileModalName } from '../Modals/ProfileModal' - import { DropdownMenu, MenuItem, MenuSection, MenuText } from './DropdownMenu' import { MuteMenu } from './MuteMenu' +import type { ChannelData } from '../../models/ChannelData' + interface ChannelMenuProps { channel: ChannelData setShowChannelMenu?: (val: boolean) => void diff --git a/packages/status-react/src/components/Form/ContactMenu.tsx b/packages/status-react/src/components/Form/ContactMenu.tsx index 01987fd5..b0fc5697 100644 --- a/packages/status-react/src/components/Form/ContactMenu.tsx +++ b/packages/status-react/src/components/Form/ContactMenu.tsx @@ -1,4 +1,5 @@ import React, { useMemo } from 'react' + import styled from 'styled-components' import { useUserPublicKey } from '../../contexts/identityProvider' @@ -15,7 +16,6 @@ import { WarningSvg } from '../Icons/WarningIcon' import { UserAddress } from '../Messages/Styles' import { ProfileModalName } from '../Modals/ProfileModal' import { textMediumStyles } from '../Text' - import { DropdownMenu, MenuItem, MenuText } from './DropdownMenu' type ContactMenuProps = { diff --git a/packages/status-react/src/components/Form/CopyInput.tsx b/packages/status-react/src/components/Form/CopyInput.tsx index bc303f0f..e801f21d 100644 --- a/packages/status-react/src/components/Form/CopyInput.tsx +++ b/packages/status-react/src/components/Form/CopyInput.tsx @@ -2,7 +2,6 @@ import React from 'react' import { copy } from '../../utils/copy' import { reduceString } from '../../utils/reduceString' - import { ButtonWrapper, InputBtn, diff --git a/packages/status-react/src/components/Form/DropdownMenu.tsx b/packages/status-react/src/components/Form/DropdownMenu.tsx index 6dfc2006..9b24531a 100644 --- a/packages/status-react/src/components/Form/DropdownMenu.tsx +++ b/packages/status-react/src/components/Form/DropdownMenu.tsx @@ -1,8 +1,11 @@ -import React, { ReactNode } from 'react' +import React from 'react' + import styled from 'styled-components' import { textSmallStyles } from '../Text' +import type { ReactNode } from 'react' + type DropdownMenuProps = { children: ReactNode className?: string diff --git a/packages/status-react/src/components/Form/ImageMenu.tsx b/packages/status-react/src/components/Form/ImageMenu.tsx index 72b612d0..19420076 100644 --- a/packages/status-react/src/components/Form/ImageMenu.tsx +++ b/packages/status-react/src/components/Form/ImageMenu.tsx @@ -1,4 +1,5 @@ import React, { useRef } from 'react' + import styled from 'styled-components' import { useClickOutside } from '../../hooks/useClickOutside' @@ -7,7 +8,6 @@ import { copyImg } from '../../utils/copyImg' import { downloadImg } from '../../utils/downloadImg' import { CopyIcon } from '../Icons/CopyIcon' import { DownloadIcon } from '../Icons/DownloadIcon' - import { DropdownMenu, MenuItem, MenuText } from './DropdownMenu' interface ImageMenuProps { diff --git a/packages/status-react/src/components/Form/LoginInstructions.tsx b/packages/status-react/src/components/Form/LoginInstructions.tsx index 85e75834..c0a6c189 100644 --- a/packages/status-react/src/components/Form/LoginInstructions.tsx +++ b/packages/status-react/src/components/Form/LoginInstructions.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' import { MobileIcon } from '../Icons/MobileIcon' diff --git a/packages/status-react/src/components/Form/MessageMenu.tsx b/packages/status-react/src/components/Form/MessageMenu.tsx index 332eedc0..a4d9c28c 100644 --- a/packages/status-react/src/components/Form/MessageMenu.tsx +++ b/packages/status-react/src/components/Form/MessageMenu.tsx @@ -1,5 +1,5 @@ -import { BaseEmoji } from 'emoji-mart' import React, { useMemo, useRef } from 'react' + import styled from 'styled-components' import { useUserPublicKey } from '../../contexts/identityProvider' @@ -7,16 +7,17 @@ import { useMessengerContext } from '../../contexts/messengerProvider' import { useClickOutside } from '../../hooks/useClickOutside' import { useClickPosition } from '../../hooks/useClickPosition' import { useContextMenu } from '../../hooks/useContextMenu' -import { Reply } from '../../hooks/useReply' -import { ChatMessage } from '../../models/ChatMessage' import { DeleteIcon } from '../Icons/DeleteIcon' import { EditIcon } from '../Icons/EditIcon' import { PinIcon } from '../Icons/PinIcon' import { ReplySvg } from '../Icons/ReplyIcon' import { ReactionPicker } from '../Reactions/ReactionPicker' - import { DropdownMenu, MenuItem, MenuSection, MenuText } from './DropdownMenu' +import type { Reply } from '../../hooks/useReply' +import type { ChatMessage } from '../../models/ChatMessage' +import type { BaseEmoji } from 'emoji-mart' + interface MessageMenuProps { message: ChatMessage messageReactions: BaseEmoji[] diff --git a/packages/status-react/src/components/Form/MuteMenu.tsx b/packages/status-react/src/components/Form/MuteMenu.tsx index a1411986..ce4229c1 100644 --- a/packages/status-react/src/components/Form/MuteMenu.tsx +++ b/packages/status-react/src/components/Form/MuteMenu.tsx @@ -1,4 +1,5 @@ import React, { useCallback } from 'react' + import styled from 'styled-components' import { DropdownMenu, MenuItem, MenuText } from './DropdownMenu' diff --git a/packages/status-react/src/components/Form/NameError.tsx b/packages/status-react/src/components/Form/NameError.tsx index aa3043fd..5197ef30 100644 --- a/packages/status-react/src/components/Form/NameError.tsx +++ b/packages/status-react/src/components/Form/NameError.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' import { NameErrors } from '../../hooks/useNameError' @@ -28,7 +29,7 @@ export function NameError({ error }: NameErrorProps) { case NameErrors.EndingWithEth: return ( - Usernames ending with “_eth” or "-eth" are not allowed + Usernames ending with {'"_eth"'} or {'"-eth"'} are not allowed ) case NameErrors.TooLong: diff --git a/packages/status-react/src/components/Form/PasteInput.tsx b/packages/status-react/src/components/Form/PasteInput.tsx index c82933aa..821cdfdc 100644 --- a/packages/status-react/src/components/Form/PasteInput.tsx +++ b/packages/status-react/src/components/Form/PasteInput.tsx @@ -1,8 +1,8 @@ import React from 'react' + import styled from 'styled-components' import { paste } from '../../utils/paste' - import { ButtonWrapper, InputBtn, diff --git a/packages/status-react/src/components/Form/TokenRequirement.tsx b/packages/status-react/src/components/Form/TokenRequirement.tsx index 13bbb9b4..7a087de2 100644 --- a/packages/status-react/src/components/Form/TokenRequirement.tsx +++ b/packages/status-react/src/components/Form/TokenRequirement.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' diff --git a/packages/status-react/src/components/Form/Tooltip.tsx b/packages/status-react/src/components/Form/Tooltip.tsx index 2e7d9fef..9b95feb6 100644 --- a/packages/status-react/src/components/Form/Tooltip.tsx +++ b/packages/status-react/src/components/Form/Tooltip.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' import { TipIcon } from '../Icons/TipIcon' diff --git a/packages/status-react/src/components/Icons/ActivityIcon.tsx b/packages/status-react/src/components/Icons/ActivityIcon.tsx index 7eeeee0f..3f648245 100644 --- a/packages/status-react/src/components/Icons/ActivityIcon.tsx +++ b/packages/status-react/src/components/Icons/ActivityIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const ActivityIcon = () => { diff --git a/packages/status-react/src/components/Icons/AddContactIcon.tsx b/packages/status-react/src/components/Icons/AddContactIcon.tsx index e74b0918..19e83c11 100644 --- a/packages/status-react/src/components/Icons/AddContactIcon.tsx +++ b/packages/status-react/src/components/Icons/AddContactIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type AddContactIconProps = { diff --git a/packages/status-react/src/components/Icons/AddIcon.tsx b/packages/status-react/src/components/Icons/AddIcon.tsx index 103ad369..55554482 100644 --- a/packages/status-react/src/components/Icons/AddIcon.tsx +++ b/packages/status-react/src/components/Icons/AddIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const AddIcon = () => { diff --git a/packages/status-react/src/components/Icons/AddMemberIcon.tsx b/packages/status-react/src/components/Icons/AddMemberIcon.tsx index a3314e81..6bbd39f0 100644 --- a/packages/status-react/src/components/Icons/AddMemberIcon.tsx +++ b/packages/status-react/src/components/Icons/AddMemberIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type AddMemberIconProps = { diff --git a/packages/status-react/src/components/Icons/BlockIcon.tsx b/packages/status-react/src/components/Icons/BlockIcon.tsx index 60d3c330..5e18424c 100644 --- a/packages/status-react/src/components/Icons/BlockIcon.tsx +++ b/packages/status-react/src/components/Icons/BlockIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type BlockSvgProps = { diff --git a/packages/status-react/src/components/Icons/ChainIcon.tsx b/packages/status-react/src/components/Icons/ChainIcon.tsx index 4c86082c..605a89f3 100644 --- a/packages/status-react/src/components/Icons/ChainIcon.tsx +++ b/packages/status-react/src/components/Icons/ChainIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' interface ChainIconProps { diff --git a/packages/status-react/src/components/Icons/ChatIcon.tsx b/packages/status-react/src/components/Icons/ChatIcon.tsx index f53b8575..e4ece5db 100644 --- a/packages/status-react/src/components/Icons/ChatIcon.tsx +++ b/packages/status-react/src/components/Icons/ChatIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type ChatSvgProps = { diff --git a/packages/status-react/src/components/Icons/CheckIcon.tsx b/packages/status-react/src/components/Icons/CheckIcon.tsx index e16c59f5..d8fd5d22 100644 --- a/packages/status-react/src/components/Icons/CheckIcon.tsx +++ b/packages/status-react/src/components/Icons/CheckIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type CheckIconProps = { diff --git a/packages/status-react/src/components/Icons/ClearIcon.tsx b/packages/status-react/src/components/Icons/ClearIcon.tsx index 8dc36fad..c64057c8 100644 --- a/packages/status-react/src/components/Icons/ClearIcon.tsx +++ b/packages/status-react/src/components/Icons/ClearIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type ClearSvgProps = { @@ -34,8 +35,8 @@ export function ClearSvg({ height, width, className }: ClearSvgProps) { xmlns="http://www.w3.org/2000/svg" > diff --git a/packages/status-react/src/components/Icons/ClearIconFull.tsx b/packages/status-react/src/components/Icons/ClearIconFull.tsx index 66b268eb..4eb9bdb2 100644 --- a/packages/status-react/src/components/Icons/ClearIconFull.tsx +++ b/packages/status-react/src/components/Icons/ClearIconFull.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type ClearSvgFullProps = { diff --git a/packages/status-react/src/components/Icons/ColorChatIcon.tsx b/packages/status-react/src/components/Icons/ColorChatIcon.tsx index fa0323db..d5d659be 100644 --- a/packages/status-react/src/components/Icons/ColorChatIcon.tsx +++ b/packages/status-react/src/components/Icons/ColorChatIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type ColorChatSvgProps = { diff --git a/packages/status-react/src/components/Icons/CommunityIcon.tsx b/packages/status-react/src/components/Icons/CommunityIcon.tsx index 2c7da05a..56d1a2cb 100644 --- a/packages/status-react/src/components/Icons/CommunityIcon.tsx +++ b/packages/status-react/src/components/Icons/CommunityIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type CommunityIconProps = { diff --git a/packages/status-react/src/components/Icons/CopyIcon.tsx b/packages/status-react/src/components/Icons/CopyIcon.tsx index 2b8a23f0..b6718b78 100644 --- a/packages/status-react/src/components/Icons/CopyIcon.tsx +++ b/packages/status-react/src/components/Icons/CopyIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type CopyIconProps = { diff --git a/packages/status-react/src/components/Icons/CreateIcon.tsx b/packages/status-react/src/components/Icons/CreateIcon.tsx index 60981479..03cf46b1 100644 --- a/packages/status-react/src/components/Icons/CreateIcon.tsx +++ b/packages/status-react/src/components/Icons/CreateIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const CreateIcon = () => { diff --git a/packages/status-react/src/components/Icons/CrossIcon.tsx b/packages/status-react/src/components/Icons/CrossIcon.tsx index 2d235ca0..42ff5a3c 100644 --- a/packages/status-react/src/components/Icons/CrossIcon.tsx +++ b/packages/status-react/src/components/Icons/CrossIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' interface CrossIconProps { diff --git a/packages/status-react/src/components/Icons/DeleteIcon.tsx b/packages/status-react/src/components/Icons/DeleteIcon.tsx index e209928d..a750dee4 100644 --- a/packages/status-react/src/components/Icons/DeleteIcon.tsx +++ b/packages/status-react/src/components/Icons/DeleteIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type DeleteIconProps = { diff --git a/packages/status-react/src/components/Icons/DownloadIcon.tsx b/packages/status-react/src/components/Icons/DownloadIcon.tsx index b928851a..8064413a 100644 --- a/packages/status-react/src/components/Icons/DownloadIcon.tsx +++ b/packages/status-react/src/components/Icons/DownloadIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type DownloadIconProps = { diff --git a/packages/status-react/src/components/Icons/EditIcon.tsx b/packages/status-react/src/components/Icons/EditIcon.tsx index e61820ec..db31eaef 100644 --- a/packages/status-react/src/components/Icons/EditIcon.tsx +++ b/packages/status-react/src/components/Icons/EditIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type EditIconProps = { diff --git a/packages/status-react/src/components/Icons/EmojiIcon.tsx b/packages/status-react/src/components/Icons/EmojiIcon.tsx index 363d252e..f79f4bc9 100644 --- a/packages/status-react/src/components/Icons/EmojiIcon.tsx +++ b/packages/status-react/src/components/Icons/EmojiIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' interface ThemeProps { diff --git a/packages/status-react/src/components/Icons/GifIcon.tsx b/packages/status-react/src/components/Icons/GifIcon.tsx index a0a97b50..13b35b36 100644 --- a/packages/status-react/src/components/Icons/GifIcon.tsx +++ b/packages/status-react/src/components/Icons/GifIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' interface ThemeProps { diff --git a/packages/status-react/src/components/Icons/GroupIcon.tsx b/packages/status-react/src/components/Icons/GroupIcon.tsx index aa18c9c3..69928cb8 100644 --- a/packages/status-react/src/components/Icons/GroupIcon.tsx +++ b/packages/status-react/src/components/Icons/GroupIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' interface GroupIconProps { diff --git a/packages/status-react/src/components/Icons/HideIcon.tsx b/packages/status-react/src/components/Icons/HideIcon.tsx index ceabe981..2beb556e 100644 --- a/packages/status-react/src/components/Icons/HideIcon.tsx +++ b/packages/status-react/src/components/Icons/HideIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const HideIcon = () => ( diff --git a/packages/status-react/src/components/Icons/LeftIcon.tsx b/packages/status-react/src/components/Icons/LeftIcon.tsx index 98e6669e..24b6bf55 100644 --- a/packages/status-react/src/components/Icons/LeftIcon.tsx +++ b/packages/status-react/src/components/Icons/LeftIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type LeftIconProps = { diff --git a/packages/status-react/src/components/Icons/LoadingIcon.tsx b/packages/status-react/src/components/Icons/LoadingIcon.tsx index 00ea1b7e..230fc707 100644 --- a/packages/status-react/src/components/Icons/LoadingIcon.tsx +++ b/packages/status-react/src/components/Icons/LoadingIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled, { keyframes } from 'styled-components' const rotation = keyframes` diff --git a/packages/status-react/src/components/Icons/LogoutIcon.tsx b/packages/status-react/src/components/Icons/LogoutIcon.tsx index 5db52e26..8671c527 100644 --- a/packages/status-react/src/components/Icons/LogoutIcon.tsx +++ b/packages/status-react/src/components/Icons/LogoutIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const LogoutIcon = () => { diff --git a/packages/status-react/src/components/Icons/MarkerdaoLogo.tsx b/packages/status-react/src/components/Icons/MarkerdaoLogo.tsx index 25408eef..4807e398 100644 --- a/packages/status-react/src/components/Icons/MarkerdaoLogo.tsx +++ b/packages/status-react/src/components/Icons/MarkerdaoLogo.tsx @@ -25,8 +25,8 @@ export const MarkerdaoLogo = () => ( y2="128" gradientUnits="userSpaceOnUse" > - - + + diff --git a/packages/status-react/src/components/Icons/MembersIcon.tsx b/packages/status-react/src/components/Icons/MembersIcon.tsx index edc6891a..48b2787c 100644 --- a/packages/status-react/src/components/Icons/MembersIcon.tsx +++ b/packages/status-react/src/components/Icons/MembersIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const MembersIcon = () => { diff --git a/packages/status-react/src/components/Icons/MembersSmallIcon.tsx b/packages/status-react/src/components/Icons/MembersSmallIcon.tsx index 794409b1..ff947d34 100644 --- a/packages/status-react/src/components/Icons/MembersSmallIcon.tsx +++ b/packages/status-react/src/components/Icons/MembersSmallIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type MembersSmallIconProps = { diff --git a/packages/status-react/src/components/Icons/MobileIcon.tsx b/packages/status-react/src/components/Icons/MobileIcon.tsx index 420c46f1..e9a455d5 100644 --- a/packages/status-react/src/components/Icons/MobileIcon.tsx +++ b/packages/status-react/src/components/Icons/MobileIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const MobileIcon = () => { diff --git a/packages/status-react/src/components/Icons/MoreIcon.tsx b/packages/status-react/src/components/Icons/MoreIcon.tsx index bf0e6cb9..1bde3d25 100644 --- a/packages/status-react/src/components/Icons/MoreIcon.tsx +++ b/packages/status-react/src/components/Icons/MoreIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const MoreIcon = () => { diff --git a/packages/status-react/src/components/Icons/MuteIcon.tsx b/packages/status-react/src/components/Icons/MuteIcon.tsx index 4fd5e742..73cb02f0 100644 --- a/packages/status-react/src/components/Icons/MuteIcon.tsx +++ b/packages/status-react/src/components/Icons/MuteIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type MuteIconProps = { diff --git a/packages/status-react/src/components/Icons/MutedIcon.tsx b/packages/status-react/src/components/Icons/MutedIcon.tsx index 1fed12b8..a7518ab4 100644 --- a/packages/status-react/src/components/Icons/MutedIcon.tsx +++ b/packages/status-react/src/components/Icons/MutedIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const MutedIcon = () => { diff --git a/packages/status-react/src/components/Icons/NextIcon.tsx b/packages/status-react/src/components/Icons/NextIcon.tsx index 68b4bbe8..877663c9 100644 --- a/packages/status-react/src/components/Icons/NextIcon.tsx +++ b/packages/status-react/src/components/Icons/NextIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const NextIcon = () => { diff --git a/packages/status-react/src/components/Icons/PictureIcon.tsx b/packages/status-react/src/components/Icons/PictureIcon.tsx index 436e752a..98dbe038 100644 --- a/packages/status-react/src/components/Icons/PictureIcon.tsx +++ b/packages/status-react/src/components/Icons/PictureIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const PictureIcon = () => { diff --git a/packages/status-react/src/components/Icons/PinIcon.tsx b/packages/status-react/src/components/Icons/PinIcon.tsx index ecd68d45..3ea482df 100644 --- a/packages/status-react/src/components/Icons/PinIcon.tsx +++ b/packages/status-react/src/components/Icons/PinIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type PinIconProps = { diff --git a/packages/status-react/src/components/Icons/ProfileIcon.tsx b/packages/status-react/src/components/Icons/ProfileIcon.tsx index 1f5cbc6b..88dacf96 100644 --- a/packages/status-react/src/components/Icons/ProfileIcon.tsx +++ b/packages/status-react/src/components/Icons/ProfileIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type ProfileIconProps = { diff --git a/packages/status-react/src/components/Icons/QuoteIcon.tsx b/packages/status-react/src/components/Icons/QuoteIcon.tsx index f2863e69..44e1d980 100644 --- a/packages/status-react/src/components/Icons/QuoteIcon.tsx +++ b/packages/status-react/src/components/Icons/QuoteIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type QuoteProps = { diff --git a/packages/status-react/src/components/Icons/ReactionIcon.tsx b/packages/status-react/src/components/Icons/ReactionIcon.tsx index fff95437..f6f05732 100644 --- a/packages/status-react/src/components/Icons/ReactionIcon.tsx +++ b/packages/status-react/src/components/Icons/ReactionIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type ReactionProps = { diff --git a/packages/status-react/src/components/Icons/ReadIcon.tsx b/packages/status-react/src/components/Icons/ReadIcon.tsx index af52b560..bbae2160 100644 --- a/packages/status-react/src/components/Icons/ReadIcon.tsx +++ b/packages/status-react/src/components/Icons/ReadIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' interface ReadIconProps { diff --git a/packages/status-react/src/components/Icons/ReadMessageIcon.tsx b/packages/status-react/src/components/Icons/ReadMessageIcon.tsx index 23f3f6e6..95bfcd31 100644 --- a/packages/status-react/src/components/Icons/ReadMessageIcon.tsx +++ b/packages/status-react/src/components/Icons/ReadMessageIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' interface ReadMessageIconProps { diff --git a/packages/status-react/src/components/Icons/ReplyActivityIcon.tsx b/packages/status-react/src/components/Icons/ReplyActivityIcon.tsx index 62bdfead..24744a89 100644 --- a/packages/status-react/src/components/Icons/ReplyActivityIcon.tsx +++ b/packages/status-react/src/components/Icons/ReplyActivityIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const ReplyIcon = () => ( diff --git a/packages/status-react/src/components/Icons/ReplyIcon.tsx b/packages/status-react/src/components/Icons/ReplyIcon.tsx index 17e033ea..244ffe57 100644 --- a/packages/status-react/src/components/Icons/ReplyIcon.tsx +++ b/packages/status-react/src/components/Icons/ReplyIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type ReplyProps = { diff --git a/packages/status-react/src/components/Icons/ScanIcon.tsx b/packages/status-react/src/components/Icons/ScanIcon.tsx index 065552c8..3c79f968 100644 --- a/packages/status-react/src/components/Icons/ScanIcon.tsx +++ b/packages/status-react/src/components/Icons/ScanIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const ScanIcon = () => { diff --git a/packages/status-react/src/components/Icons/ShowIcon.tsx b/packages/status-react/src/components/Icons/ShowIcon.tsx index 9dfb0277..466fd698 100644 --- a/packages/status-react/src/components/Icons/ShowIcon.tsx +++ b/packages/status-react/src/components/Icons/ShowIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const ShowIcon = () => ( diff --git a/packages/status-react/src/components/Icons/StatusLogo.tsx b/packages/status-react/src/components/Icons/StatusLogo.tsx index 5b9c3c62..6b435499 100644 --- a/packages/status-react/src/components/Icons/StatusLogo.tsx +++ b/packages/status-react/src/components/Icons/StatusLogo.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const StatusLogo = () => ( diff --git a/packages/status-react/src/components/Icons/StickerIcon.tsx b/packages/status-react/src/components/Icons/StickerIcon.tsx index 2af0a996..482cdf22 100644 --- a/packages/status-react/src/components/Icons/StickerIcon.tsx +++ b/packages/status-react/src/components/Icons/StickerIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' interface ThemeProps { diff --git a/packages/status-react/src/components/Icons/TipIcon.tsx b/packages/status-react/src/components/Icons/TipIcon.tsx index 46286bfb..6ed4736a 100644 --- a/packages/status-react/src/components/Icons/TipIcon.tsx +++ b/packages/status-react/src/components/Icons/TipIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type TipIconProps = { diff --git a/packages/status-react/src/components/Icons/UntrustworthIcon.tsx b/packages/status-react/src/components/Icons/UntrustworthIcon.tsx index dd18c693..8d89882d 100644 --- a/packages/status-react/src/components/Icons/UntrustworthIcon.tsx +++ b/packages/status-react/src/components/Icons/UntrustworthIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' export const UntrustworthIcon = () => { diff --git a/packages/status-react/src/components/Icons/UserIcon.tsx b/packages/status-react/src/components/Icons/UserIcon.tsx index 468ad957..5839a5ef 100644 --- a/packages/status-react/src/components/Icons/UserIcon.tsx +++ b/packages/status-react/src/components/Icons/UserIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' interface UserIconProps { diff --git a/packages/status-react/src/components/Icons/WarningIcon.tsx b/packages/status-react/src/components/Icons/WarningIcon.tsx index 97244960..8ce37a71 100644 --- a/packages/status-react/src/components/Icons/WarningIcon.tsx +++ b/packages/status-react/src/components/Icons/WarningIcon.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' type WarningSvgProps = { diff --git a/packages/status-react/src/components/Members/Member.tsx b/packages/status-react/src/components/Members/Member.tsx index a5bfae38..6102eb96 100644 --- a/packages/status-react/src/components/Members/Member.tsx +++ b/packages/status-react/src/components/Members/Member.tsx @@ -1,14 +1,15 @@ import React, { useRef, useState } from 'react' + import styled from 'styled-components' import { useIdentity } from '../../contexts/identityProvider' import { useClickOutside } from '../../hooks/useClickOutside' -import { Contact } from '../../models/Contact' import { ContactMenu } from '../Form/ContactMenu' import { IconBtn, UserAddress } from '../Messages/Styles' - import { UserLogo } from './UserLogo' +import type { Contact } from '../../models/Contact' + interface MemberProps { contact: Contact isOnline?: boolean diff --git a/packages/status-react/src/components/Members/Members.tsx b/packages/status-react/src/components/Members/Members.tsx index 297f8028..4cfa9df8 100644 --- a/packages/status-react/src/components/Members/Members.tsx +++ b/packages/status-react/src/components/Members/Members.tsx @@ -1,8 +1,8 @@ import React, { useMemo } from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' - import { MembersList } from './MembersList' export function Members() { diff --git a/packages/status-react/src/components/Members/MembersList.tsx b/packages/status-react/src/components/Members/MembersList.tsx index a2ba7338..9ee3d2b1 100644 --- a/packages/status-react/src/components/Members/MembersList.tsx +++ b/packages/status-react/src/components/Members/MembersList.tsx @@ -1,16 +1,17 @@ import React, { useMemo } from 'react' + import styled from 'styled-components' import { useUserPublicKey } from '../../contexts/identityProvider' import { useMessengerContext } from '../../contexts/messengerProvider' import { useModal } from '../../contexts/modalProvider' -import { Contact } from '../../models/Contact' import { buttonStyles } from '../Buttons/buttonStyle' import { LogoutIcon } from '../Icons/LogoutIcon' import { LogoutModalName } from '../Modals/LogoutModal' - import { Member } from './Member' +import type { Contact } from '../../models/Contact' + export function MembersList() { const { contacts, nickname, activeChannel } = useMessengerContext() const userPK = useUserPublicKey() diff --git a/packages/status-react/src/components/Members/UserLogo.tsx b/packages/status-react/src/components/Members/UserLogo.tsx index f1c2f73a..770617ce 100644 --- a/packages/status-react/src/components/Members/UserLogo.tsx +++ b/packages/status-react/src/components/Members/UserLogo.tsx @@ -1,7 +1,8 @@ import React, { useMemo } from 'react' + import styled from 'styled-components' -import { Contact } from '../../models/Contact' +import type { Contact } from '../../models/Contact' type UserLogoProps = { radius: number diff --git a/packages/status-react/src/components/Messages/MessageQuote.tsx b/packages/status-react/src/components/Messages/MessageQuote.tsx index 99088977..0befd779 100644 --- a/packages/status-react/src/components/Messages/MessageQuote.tsx +++ b/packages/status-react/src/components/Messages/MessageQuote.tsx @@ -1,13 +1,15 @@ import React from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' import { useScrollToMessage } from '../../contexts/scrollProvider' -import { ChatMessage } from '../../models/ChatMessage' import { ReplyOn, ReplyTo } from '../Chat/ChatInput' import { QuoteSvg } from '../Icons/QuoteIcon' import { UserIcon } from '../Icons/UserIcon' +import type { ChatMessage } from '../../models/ChatMessage' + function calcHeight(quote: ChatMessage) { if (quote.image && quote.content) { return 88 diff --git a/packages/status-react/src/components/Messages/MessageReactions.tsx b/packages/status-react/src/components/Messages/MessageReactions.tsx index 5e53b284..67c6bdb2 100644 --- a/packages/status-react/src/components/Messages/MessageReactions.tsx +++ b/packages/status-react/src/components/Messages/MessageReactions.tsx @@ -1,9 +1,12 @@ -import { BaseEmoji, Emoji } from 'emoji-mart' import React, { useCallback } from 'react' + +import { Emoji } from 'emoji-mart' import styled from 'styled-components' import { ReactionButton } from '../Reactions/ReactionButton' +import type { BaseEmoji } from 'emoji-mart' + interface MessageReactionsProps { messageReactions: BaseEmoji[] setMessageReactions: React.Dispatch> diff --git a/packages/status-react/src/components/Messages/MessagesList.tsx b/packages/status-react/src/components/Messages/MessagesList.tsx index 4d8c77b5..ee83cd77 100644 --- a/packages/status-react/src/components/Messages/MessagesList.tsx +++ b/packages/status-react/src/components/Messages/MessagesList.tsx @@ -1,19 +1,20 @@ import React, { useEffect, useMemo, useRef, useState } from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' import { useModal } from '../../contexts/modalProvider' import { useNarrow } from '../../contexts/narrowProvider' import { useChatScrollHandle } from '../../hooks/useChatScrollHandle' -import { Reply } from '../../hooks/useReply' -import { ChannelData } from '../../models/ChannelData' import { EmptyChannel } from '../Channels/EmptyChannel' import { LoadingIcon } from '../Icons/LoadingIcon' import { LinkModal, LinkModalName } from '../Modals/LinkModal' import { PictureModal, PictureModalName } from '../Modals/PictureModal' - import { UiMessage } from './UiMessage' +import type { Reply } from '../../hooks/useReply' +import type { ChannelData } from '../../models/ChannelData' + interface MessagesListProps { setReply: (val: Reply | undefined) => void channel: ChannelData diff --git a/packages/status-react/src/components/Messages/UiMessage.tsx b/packages/status-react/src/components/Messages/UiMessage.tsx index 1e79c778..ca81411d 100644 --- a/packages/status-react/src/components/Messages/UiMessage.tsx +++ b/packages/status-react/src/components/Messages/UiMessage.tsx @@ -1,12 +1,10 @@ -import { BaseEmoji } from 'emoji-mart' import React, { useMemo, useRef, useState } from 'react' + import styled from 'styled-components' import { useIdentity } from '../../contexts/identityProvider' import { useMessengerContext } from '../../contexts/messengerProvider' import { useClickOutside } from '../../hooks/useClickOutside' -import { Reply } from '../../hooks/useReply' -import { ChatMessage } from '../../models/ChatMessage' import { equalDate } from '../../utils' import { ChatMessageContent } from '../Chat/ChatMessageContent' import { ContactMenu } from '../Form/ContactMenu' @@ -14,7 +12,6 @@ import { MessageMenu } from '../Form/MessageMenu' import { UntrustworthIcon } from '../Icons/UntrustworthIcon' import { UserLogo } from '../Members/UserLogo' import { Reactions } from '../Reactions/Reactions' - import { MessageQuote } from './MessageQuote' import { MessageReactions } from './MessageReactions' import { @@ -32,6 +29,10 @@ import { UserNameWrapper, } from './Styles' +import type { Reply } from '../../hooks/useReply' +import type { ChatMessage } from '../../models/ChatMessage' +import type { BaseEmoji } from 'emoji-mart' + type UiMessageProps = { idx: number message: ChatMessage diff --git a/packages/status-react/src/components/Modals/AgreementModal.tsx b/packages/status-react/src/components/Modals/AgreementModal.tsx index a4ebcd39..a794759b 100644 --- a/packages/status-react/src/components/Modals/AgreementModal.tsx +++ b/packages/status-react/src/components/Modals/AgreementModal.tsx @@ -1,16 +1,18 @@ import HCaptcha from '@hcaptcha/react-hcaptcha' import React, { useState } from 'react' + import styled, { useTheme } from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' import { useModal } from '../../contexts/modalProvider' -import { lightTheme, Theme } from '../../styles/themes' +import { lightTheme } from '../../styles/themes' import { Logo } from '../CommunityIdentity' import { textMediumStyles } from '../Text' - import { Modal } from './Modal' import { Btn, ButtonSection, Heading, Section, Text } from './ModalStyle' +import type { Theme } from '../../styles/themes' + export const AgreementModalName = 'AgreementModal' export function AgreementModal() { diff --git a/packages/status-react/src/components/Modals/CommunityModal.tsx b/packages/status-react/src/components/Modals/CommunityModal.tsx index aa89a959..f1ce87b6 100644 --- a/packages/status-react/src/components/Modals/CommunityModal.tsx +++ b/packages/status-react/src/components/Modals/CommunityModal.tsx @@ -1,17 +1,19 @@ import React from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' import { useNarrow } from '../../contexts/narrowProvider' import { DownloadButton } from '../Buttons/DownloadButton' -import { CommunityIdentity, CommunityIdentityProps } from '../CommunityIdentity' +import { CommunityIdentity } from '../CommunityIdentity' import { CopyInput } from '../Form/CopyInput' import { StatusLogo } from '../Icons/StatusLogo' import { textSmallStyles } from '../Text' - import { Modal } from './Modal' import { Section, Text } from './ModalStyle' +import type { CommunityIdentityProps } from '../CommunityIdentity' + export const CommunityModalName = 'CommunityModal' type CommunityModalProps = CommunityIdentityProps diff --git a/packages/status-react/src/components/Modals/ConnectModal.tsx b/packages/status-react/src/components/Modals/ConnectModal.tsx index 61acdd0d..ae1ac189 100644 --- a/packages/status-react/src/components/Modals/ConnectModal.tsx +++ b/packages/status-react/src/components/Modals/ConnectModal.tsx @@ -2,7 +2,6 @@ import QRCode from 'qrcode.react' import React from 'react' import { CopyInput } from '../Form/CopyInput' - import { Heading, MiddleSection, QRWrapper, Section, Text } from './ModalStyle' export const ConnectModalName = 'ConnectModal' diff --git a/packages/status-react/src/components/Modals/EditModal.tsx b/packages/status-react/src/components/Modals/EditModal.tsx index 799246b6..c405cef2 100644 --- a/packages/status-react/src/components/Modals/EditModal.tsx +++ b/packages/status-react/src/components/Modals/EditModal.tsx @@ -1,4 +1,5 @@ import React, { useState } from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' @@ -8,7 +9,6 @@ import { ChannelLogo } from '../Channels/ChannelIcon' import { inputStyles } from '../Form/inputStyles' import { AddIcon } from '../Icons/AddIcon' import { textMediumStyles } from '../Text' - import { Modal } from './Modal' import { AddWrapper, ButtonSection, Heading, Hint, Section } from './ModalStyle' diff --git a/packages/status-react/src/components/Modals/LeavingModal.tsx b/packages/status-react/src/components/Modals/LeavingModal.tsx index fc49ff34..45e5b087 100644 --- a/packages/status-react/src/components/Modals/LeavingModal.tsx +++ b/packages/status-react/src/components/Modals/LeavingModal.tsx @@ -3,7 +3,6 @@ import React from 'react' import { useMessengerContext } from '../../contexts/messengerProvider' import { useModal } from '../../contexts/modalProvider' import { ButtonNo } from '../Buttons/buttonStyle' - import { Modal } from './Modal' import { ButtonSection, Heading, Section, Text } from './ModalStyle' diff --git a/packages/status-react/src/components/Modals/LinkModal.tsx b/packages/status-react/src/components/Modals/LinkModal.tsx index 3df0547a..ee95dfbc 100644 --- a/packages/status-react/src/components/Modals/LinkModal.tsx +++ b/packages/status-react/src/components/Modals/LinkModal.tsx @@ -1,10 +1,10 @@ import React from 'react' + import styled from 'styled-components' import { useModal } from '../../contexts/modalProvider' import { ButtonNo, ButtonYes } from '../Buttons/buttonStyle' import { textMediumStyles } from '../Text' - import { Modal } from './Modal' import { ButtonSection, Heading, Section } from './ModalStyle' diff --git a/packages/status-react/src/components/Modals/LogoutModal.tsx b/packages/status-react/src/components/Modals/LogoutModal.tsx index 89bc15fc..dd0a932a 100644 --- a/packages/status-react/src/components/Modals/LogoutModal.tsx +++ b/packages/status-react/src/components/Modals/LogoutModal.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' import { @@ -10,7 +11,6 @@ import { useMessengerContext } from '../../contexts/messengerProvider' import { useModal } from '../../contexts/modalProvider' import { ButtonNo, ButtonYes } from '../Buttons/buttonStyle' import { UserLogo } from '../Members/UserLogo' - import { Modal } from './Modal' import { ButtonSection, Heading, Section, Text } from './ModalStyle' import { diff --git a/packages/status-react/src/components/Modals/Modal.tsx b/packages/status-react/src/components/Modals/Modal.tsx index 40babd29..3ce7351f 100644 --- a/packages/status-react/src/components/Modals/Modal.tsx +++ b/packages/status-react/src/components/Modals/Modal.tsx @@ -1,10 +1,13 @@ -import React, { ReactNode, useCallback, useEffect } from 'react' +import React, { useCallback, useEffect } from 'react' import { createPortal } from 'react-dom' + import styled from 'styled-components' import { useModal } from '../../contexts/modalProvider' import { CrossIcon } from '../Icons/CrossIcon' +import type { ReactNode } from 'react' + export interface BasicModalProps { name: string className?: string diff --git a/packages/status-react/src/components/Modals/PictureModal.tsx b/packages/status-react/src/components/Modals/PictureModal.tsx index 675b1d17..3b38ff7a 100644 --- a/packages/status-react/src/components/Modals/PictureModal.tsx +++ b/packages/status-react/src/components/Modals/PictureModal.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' import { Modal } from './Modal' diff --git a/packages/status-react/src/components/Modals/ProfileFoundModal.tsx b/packages/status-react/src/components/Modals/ProfileFoundModal.tsx index 9c53c8bf..a4481f17 100644 --- a/packages/status-react/src/components/Modals/ProfileFoundModal.tsx +++ b/packages/status-react/src/components/Modals/ProfileFoundModal.tsx @@ -1,5 +1,6 @@ -import { Identity, bufToHex } from '@status-im/core' import React, { useEffect, useMemo, useState } from 'react' + +import { bufToHex } from '@status-im/core' import styled from 'styled-components' import { useNickname, useSetIdentity } from '../../contexts/identityProvider' @@ -8,7 +9,6 @@ import { decryptIdentity, loadEncryptedIdentity } from '../../utils' import { buttonTransparentStyles } from '../Buttons/buttonStyle' import { UserLogo } from '../Members/UserLogo' import { textMediumStyles } from '../Text' - import { Modal } from './Modal' import { Btn, @@ -26,6 +26,8 @@ import { } from './ProfileModal' import { UserCreationModalName } from './UserCreationModal' +import type { Identity } from '@status-im/core' + export const ProfileFoundModalName = 'ProfileFoundModal' export function ProfileFoundModal() { diff --git a/packages/status-react/src/components/Modals/ProfileModal.tsx b/packages/status-react/src/components/Modals/ProfileModal.tsx index 2641cc25..a905f93d 100644 --- a/packages/status-react/src/components/Modals/ProfileModal.tsx +++ b/packages/status-react/src/components/Modals/ProfileModal.tsx @@ -1,4 +1,5 @@ import React, { useEffect, useMemo, useState } from 'react' + import styled from 'styled-components' import { useUserPublicKey } from '../../contexts/identityProvider' @@ -20,7 +21,6 @@ import { LeftIcon } from '../Icons/LeftIcon' import { UntrustworthIcon } from '../Icons/UntrustworthIcon' import { UserIcon } from '../Icons/UserIcon' import { textMediumStyles, textSmallStyles } from '../Text' - import { Modal } from './Modal' import { BackBtn, @@ -165,7 +165,6 @@ export const ProfileModal = () => { maxLength={280} onInput={e => setRequest(e.currentTarget.value)} required - autoFocus /> )} diff --git a/packages/status-react/src/components/Modals/SizeLimitModal.tsx b/packages/status-react/src/components/Modals/SizeLimitModal.tsx index ae3b6264..b718b1ef 100644 --- a/packages/status-react/src/components/Modals/SizeLimitModal.tsx +++ b/packages/status-react/src/components/Modals/SizeLimitModal.tsx @@ -1,7 +1,6 @@ import React from 'react' import { useModal } from '../../contexts/modalProvider' - import { Modal } from './Modal' export const SizeLimitModalName = 'SizeLimitModal' @@ -11,9 +10,12 @@ export function SizeLimitModal() { return ( -
setModal(false)} style={{ padding: '20px' }}> +
+
) } diff --git a/packages/status-react/src/components/Modals/StatusModal.tsx b/packages/status-react/src/components/Modals/StatusModal.tsx index becf4d99..5a5d7817 100644 --- a/packages/status-react/src/components/Modals/StatusModal.tsx +++ b/packages/status-react/src/components/Modals/StatusModal.tsx @@ -1,11 +1,11 @@ import QRCode from 'qrcode.react' import React, { useState } from 'react' + import styled from 'styled-components' import { buttonStyles } from '../Buttons/buttonStyle' import { LoginInstructions } from '../Form/LoginInstructions' import { PasteInput } from '../Form/PasteInput' - import { Modal } from './Modal' import { Heading, MiddleSection, Section } from './ModalStyle' diff --git a/packages/status-react/src/components/Modals/UserCreationModal.tsx b/packages/status-react/src/components/Modals/UserCreationModal.tsx index 777d82d5..2c157c7f 100644 --- a/packages/status-react/src/components/Modals/UserCreationModal.tsx +++ b/packages/status-react/src/components/Modals/UserCreationModal.tsx @@ -1,5 +1,6 @@ -import { Identity } from '@status-im/core' import React, { useState } from 'react' + +import { Identity } from '@status-im/core' import styled from 'styled-components' import { @@ -10,16 +11,14 @@ import { } from '../../contexts/identityProvider' import { useModal } from '../../contexts/modalProvider' import { useNameError } from '../../hooks/useNameError' -import { Contact } from '../../models/Contact' import { saveIdentity } from '../../utils' -import { NameError } from '../Form/NameError' import { ClearBtn, NameInput, NameInputWrapper } from '../Form/inputStyles' +import { NameError } from '../Form/NameError' import { AddIcon } from '../Icons/AddIcon' import { ChainIcon } from '../Icons/ChainIcon' import { ClearSvgFull } from '../Icons/ClearIconFull' import { LeftIcon } from '../Icons/LeftIcon' import { UserLogo } from '../Members/UserLogo' - import { AgreementModalName } from './AgreementModal' import { Modal } from './Modal' import { @@ -34,6 +33,8 @@ import { } from './ModalStyle' import { EmojiKey, UserAddress } from './ProfileModal' +import type { Contact } from '../../models/Contact' + export const UserCreationModalName = 'UserCreationModal' export function UserCreationModal() { diff --git a/packages/status-react/src/components/Modals/UserCreationStartModal.tsx b/packages/status-react/src/components/Modals/UserCreationStartModal.tsx index 6f2d094d..46f55250 100644 --- a/packages/status-react/src/components/Modals/UserCreationStartModal.tsx +++ b/packages/status-react/src/components/Modals/UserCreationStartModal.tsx @@ -1,8 +1,8 @@ import React from 'react' + import styled from 'styled-components' import { UserCreationButtons } from '../UserCreation/UserCreationButtons' - import { Modal } from './Modal' import { Heading, Section } from './ModalStyle' diff --git a/packages/status-react/src/components/Modals/WalletModal.tsx b/packages/status-react/src/components/Modals/WalletModal.tsx index 91295d05..dce84ec3 100644 --- a/packages/status-react/src/components/Modals/WalletModal.tsx +++ b/packages/status-react/src/components/Modals/WalletModal.tsx @@ -1,5 +1,6 @@ -import { Identity, genPrivateKeyWithEntropy } from '@status-im/core' import React, { useCallback } from 'react' + +import { genPrivateKeyWithEntropy, Identity } from '@status-im/core' import styled from 'styled-components' import { useConfig } from '../../contexts/configProvider' @@ -12,7 +13,6 @@ import { useModal } from '../../contexts/modalProvider' import { CoinbaseLogo } from '../Icons/CoinbaseLogo' import { MetamaskLogo } from '../Icons/MetamaskLogo' import { WalletConnectLogo } from '../Icons/WalletConnectLogo' - import { CoinbaseModalName } from './CoinbaseModal' import { Modal } from './Modal' import { Heading, MiddleSection, Section, Text } from './ModalStyle' @@ -32,6 +32,8 @@ export function WalletModal() { const { dappUrl } = useConfig() const handleMetamaskClick = useCallback(async () => { + // TODO: Add types for global Ethereum object + // eslint-disable-next-line @typescript-eslint/no-explicit-any const ethereum = (window as any)?.ethereum as any | undefined if (document.location.origin !== dappUrl) { alert('You are not signing in from correct url!') diff --git a/packages/status-react/src/components/NarrowMode/NarrowChannels.tsx b/packages/status-react/src/components/NarrowMode/NarrowChannels.tsx index 330ee26d..a632aae3 100644 --- a/packages/status-react/src/components/NarrowMode/NarrowChannels.tsx +++ b/packages/status-react/src/components/NarrowMode/NarrowChannels.tsx @@ -1,7 +1,6 @@ import React from 'react' import { Channels } from '../Channels/Channels' - import { ListWrapper, NarrowTopbar } from './NarrowTopbar' interface NarrowChannelsProps { diff --git a/packages/status-react/src/components/NarrowMode/NarrowMembers.tsx b/packages/status-react/src/components/NarrowMode/NarrowMembers.tsx index cf8f9ab6..c7ce3585 100644 --- a/packages/status-react/src/components/NarrowMode/NarrowMembers.tsx +++ b/packages/status-react/src/components/NarrowMode/NarrowMembers.tsx @@ -2,7 +2,6 @@ import React, { useMemo } from 'react' import { useMessengerContext } from '../../contexts/messengerProvider' import { MembersList } from '../Members/MembersList' - import { ListWrapper, NarrowTopbar } from './NarrowTopbar' interface NarrowMembersProps { diff --git a/packages/status-react/src/components/NarrowMode/NarrowTopbar.tsx b/packages/status-react/src/components/NarrowMode/NarrowTopbar.tsx index 125e99f9..d2afd916 100644 --- a/packages/status-react/src/components/NarrowMode/NarrowTopbar.tsx +++ b/packages/status-react/src/components/NarrowMode/NarrowTopbar.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../../contexts/messengerProvider' diff --git a/packages/status-react/src/components/Reactions/ReactionButton.tsx b/packages/status-react/src/components/Reactions/ReactionButton.tsx index 6e3a963d..32f5853e 100644 --- a/packages/status-react/src/components/Reactions/ReactionButton.tsx +++ b/packages/status-react/src/components/Reactions/ReactionButton.tsx @@ -1,13 +1,14 @@ -import { BaseEmoji } from 'emoji-mart' import React, { useRef, useState } from 'react' + import styled from 'styled-components' import { useClickOutside } from '../../hooks/useClickOutside' import { Tooltip } from '../Form/Tooltip' import { ReactionSvg } from '../Icons/ReactionIcon' - import { ReactionPicker } from './ReactionPicker' +import type { BaseEmoji } from 'emoji-mart' + interface ReactionButtonProps { className?: string messageReactions: BaseEmoji[] diff --git a/packages/status-react/src/components/Reactions/ReactionPicker.tsx b/packages/status-react/src/components/Reactions/ReactionPicker.tsx index cfda4aa6..481e978d 100644 --- a/packages/status-react/src/components/Reactions/ReactionPicker.tsx +++ b/packages/status-react/src/components/Reactions/ReactionPicker.tsx @@ -1,8 +1,11 @@ -import { BaseEmoji, Emoji, getEmojiDataFromNative } from 'emoji-mart' -import data from 'emoji-mart/data/all.json' import React, { useCallback } from 'react' + +import { Emoji, getEmojiDataFromNative } from 'emoji-mart' +import data from 'emoji-mart/data/all.json' import styled from 'styled-components' +import type { BaseEmoji } from 'emoji-mart' + const emojiHeart = getEmojiDataFromNative('❤️', 'twitter', data) const emojiLike = getEmojiDataFromNative('👍', 'twitter', data) const emojiDislike = getEmojiDataFromNative('👎', 'twitter', data) diff --git a/packages/status-react/src/components/Reactions/Reactions.tsx b/packages/status-react/src/components/Reactions/Reactions.tsx index 3c9d309e..b7cafb26 100644 --- a/packages/status-react/src/components/Reactions/Reactions.tsx +++ b/packages/status-react/src/components/Reactions/Reactions.tsx @@ -1,19 +1,20 @@ -import { BaseEmoji } from 'emoji-mart' import React, { useMemo } from 'react' + import styled from 'styled-components' import { useUserPublicKey } from '../../contexts/identityProvider' import { useMessengerContext } from '../../contexts/messengerProvider' -import { Reply } from '../../hooks/useReply' -import { ChatMessage } from '../../models/ChatMessage' import { Tooltip } from '../Form/Tooltip' import { DeleteIcon } from '../Icons/DeleteIcon' import { EditIcon } from '../Icons/EditIcon' import { PinIcon } from '../Icons/PinIcon' import { ReplySvg } from '../Icons/ReplyIcon' - import { ReactionBtn, ReactionButton } from './ReactionButton' +import type { Reply } from '../../hooks/useReply' +import type { ChatMessage } from '../../models/ChatMessage' +import type { BaseEmoji } from 'emoji-mart' + interface ReactionsProps { message: ChatMessage setReply: (val: Reply | undefined) => void diff --git a/packages/status-react/src/components/SearchBlock.tsx b/packages/status-react/src/components/SearchBlock.tsx index 69337e2a..41b4cbb3 100644 --- a/packages/status-react/src/components/SearchBlock.tsx +++ b/packages/status-react/src/components/SearchBlock.tsx @@ -1,8 +1,8 @@ import React, { useMemo } from 'react' + import styled from 'styled-components' import { useMessengerContext } from '../contexts/messengerProvider' - import { ContactsList } from './Chat/ChatCreation' import { Member } from './Members/Member' diff --git a/packages/status-react/src/components/Skeleton/CommunitySkeleton.tsx b/packages/status-react/src/components/Skeleton/CommunitySkeleton.tsx index f744bef3..f561681d 100644 --- a/packages/status-react/src/components/Skeleton/CommunitySkeleton.tsx +++ b/packages/status-react/src/components/Skeleton/CommunitySkeleton.tsx @@ -1,8 +1,8 @@ import React from 'react' + import styled from 'styled-components' import { Column } from '../CommunityIdentity' - import { Skeleton } from './Skeleton' export const CommunitySkeleton = () => { diff --git a/packages/status-react/src/components/Skeleton/Loading.tsx b/packages/status-react/src/components/Skeleton/Loading.tsx index 59088898..90d541f6 100644 --- a/packages/status-react/src/components/Skeleton/Loading.tsx +++ b/packages/status-react/src/components/Skeleton/Loading.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' import { LoadingIcon } from '../Icons/LoadingIcon' diff --git a/packages/status-react/src/components/Skeleton/LoadingSkeleton.tsx b/packages/status-react/src/components/Skeleton/LoadingSkeleton.tsx index 381efd72..263121f3 100644 --- a/packages/status-react/src/components/Skeleton/LoadingSkeleton.tsx +++ b/packages/status-react/src/components/Skeleton/LoadingSkeleton.tsx @@ -1,4 +1,5 @@ import React from 'react' + import styled from 'styled-components' import { MessageSkeleton } from './MessageSkeleton' diff --git a/packages/status-react/src/components/Skeleton/MessageSkeleton.tsx b/packages/status-react/src/components/Skeleton/MessageSkeleton.tsx index b37c8724..04405393 100644 --- a/packages/status-react/src/components/Skeleton/MessageSkeleton.tsx +++ b/packages/status-react/src/components/Skeleton/MessageSkeleton.tsx @@ -1,8 +1,11 @@ -import React, { ReactNode } from 'react' +import React from 'react' + import styled from 'styled-components' import { Skeleton } from './Skeleton' +import type { ReactNode } from 'react' + interface MessageSkeletonProps { children: ReactNode } diff --git a/packages/status-react/src/components/ToastMessages/ToastMessage.tsx b/packages/status-react/src/components/ToastMessages/ToastMessage.tsx index 33712fea..ef9f863a 100644 --- a/packages/status-react/src/components/ToastMessages/ToastMessage.tsx +++ b/packages/status-react/src/components/ToastMessages/ToastMessage.tsx @@ -1,8 +1,8 @@ import React from 'react' + import styled, { keyframes } from 'styled-components' import { useToasts } from '../../contexts/toastProvider' -import { Toast } from '../../models/Toast' import { Column } from '../CommunityIdentity' import { CheckIcon } from '../Icons/CheckIcon' import { CommunityIcon } from '../Icons/CommunityIcon' @@ -10,6 +10,8 @@ import { CrossIcon } from '../Icons/CrossIcon' import { ProfileIcon } from '../Icons/ProfileIcon' import { textSmallStyles } from '../Text' +import type { Toast } from '../../models/Toast' + export function AnimationToastMessage() { return keyframes` 0% { diff --git a/packages/status-react/src/components/ToastMessages/ToastMessageList.tsx b/packages/status-react/src/components/ToastMessages/ToastMessageList.tsx index 4be2e4ff..a31c3ea6 100644 --- a/packages/status-react/src/components/ToastMessages/ToastMessageList.tsx +++ b/packages/status-react/src/components/ToastMessages/ToastMessageList.tsx @@ -1,8 +1,8 @@ import React from 'react' + import styled from 'styled-components' import { useToasts } from '../../contexts/toastProvider' - import { ToastMessage } from './ToastMessage' export function ToastMessageList() { diff --git a/packages/status-react/src/components/UserCreation/UserCreation.tsx b/packages/status-react/src/components/UserCreation/UserCreation.tsx index 295f06af..9942ed36 100644 --- a/packages/status-react/src/components/UserCreation/UserCreation.tsx +++ b/packages/status-react/src/components/UserCreation/UserCreation.tsx @@ -1,9 +1,9 @@ import React from 'react' + import styled from 'styled-components' import { useNarrow } from '../../contexts/narrowProvider' import { ColorChatIcon } from '../Icons/ColorChatIcon' - import { UserCreationButtons } from './UserCreationButtons' interface UserCreationProps { diff --git a/packages/status-react/src/components/UserCreation/UserCreationButtons.tsx b/packages/status-react/src/components/UserCreation/UserCreationButtons.tsx index 7330a7d0..557112ee 100644 --- a/packages/status-react/src/components/UserCreation/UserCreationButtons.tsx +++ b/packages/status-react/src/components/UserCreation/UserCreationButtons.tsx @@ -1,4 +1,5 @@ import React, { useMemo } from 'react' + import styled from 'styled-components' import { useModal } from '../../contexts/modalProvider' diff --git a/packages/status-react/src/contexts/chatStateProvider.tsx b/packages/status-react/src/contexts/chatStateProvider.tsx index 3c158c0b..3014c2c0 100644 --- a/packages/status-react/src/contexts/chatStateProvider.tsx +++ b/packages/status-react/src/contexts/chatStateProvider.tsx @@ -21,5 +21,9 @@ export function useChatState() { export function ChatStateProvider({ children }: { children: React.ReactNode }) { const state = useState(ChatState.ChatBody) - return + return ( + + {children} + + ) } diff --git a/packages/status-react/src/contexts/configProvider.tsx b/packages/status-react/src/contexts/configProvider.tsx index a522031b..f2088c85 100644 --- a/packages/status-react/src/contexts/configProvider.tsx +++ b/packages/status-react/src/contexts/configProvider.tsx @@ -20,5 +20,7 @@ type ConfigProviderProps = { } export function ConfigProvider({ children, config }: ConfigProviderProps) { - return + return ( + {children} + ) } diff --git a/packages/status-react/src/contexts/fetchMetadataProvider.tsx b/packages/status-react/src/contexts/fetchMetadataProvider.tsx index b11ace2d..b476f9e9 100644 --- a/packages/status-react/src/contexts/fetchMetadataProvider.tsx +++ b/packages/status-react/src/contexts/fetchMetadataProvider.tsx @@ -1,7 +1,9 @@ import React, { createContext, useContext } from 'react' +type Metadata = Record + const FetchMetadataContext = createContext< - ((link: string) => Promise) | undefined + ((link: string) => Promise) | undefined >(undefined) export function useFetchMetadata() { @@ -10,7 +12,7 @@ export function useFetchMetadata() { interface FetchMetadataProviderProps { children: React.ReactNode - fetchMetadata?: (link: string) => Promise + fetchMetadata?: (link: string) => Promise } export function FetchMetadataProvider({ @@ -18,6 +20,8 @@ export function FetchMetadataProvider({ fetchMetadata, }: FetchMetadataProviderProps) { return ( - + + {children} + ) } diff --git a/packages/status-react/src/contexts/identityProvider.tsx b/packages/status-react/src/contexts/identityProvider.tsx index 529cd241..5ac44329 100644 --- a/packages/status-react/src/contexts/identityProvider.tsx +++ b/packages/status-react/src/contexts/identityProvider.tsx @@ -1,6 +1,9 @@ -import { Identity, bufToHex } from '@status-im/core' import React, { createContext, useContext, useMemo, useState } from 'react' +import { bufToHex } from '@status-im/core' + +import type { Identity } from '@status-im/core' + const IdentityContext = createContext<{ identity: Identity | undefined setIdentity: React.Dispatch> @@ -73,7 +76,8 @@ export function IdentityProvider({ children }: IdentityProviderProps) { walletIdentity, setWalletIdentity, }} - children={children} - /> + > + {children} + ) } diff --git a/packages/status-react/src/contexts/messengerProvider.tsx b/packages/status-react/src/contexts/messengerProvider.tsx index 4bac2107..c957b607 100644 --- a/packages/status-react/src/contexts/messengerProvider.tsx +++ b/packages/status-react/src/contexts/messengerProvider.tsx @@ -1,9 +1,10 @@ import React, { createContext, useContext } from 'react' -import { MessengerType, useMessenger } from '../hooks/messenger/useMessenger' - +import { useMessenger } from '../hooks/messenger/useMessenger' import { useIdentity, useNickname } from './identityProvider' +import type { MessengerType } from '../hooks/messenger/useMessenger' + const MessengerContext = createContext({ messenger: undefined, messages: [], @@ -46,5 +47,9 @@ export function MessengerProvider({ const identity = useIdentity() const nickname = useNickname() const messenger = useMessenger(communityKey, identity, nickname) - return + return ( + + {children} + + ) } diff --git a/packages/status-react/src/contexts/modalProvider.tsx b/packages/status-react/src/contexts/modalProvider.tsx index 312c5794..8feffcaf 100644 --- a/packages/status-react/src/contexts/modalProvider.tsx +++ b/packages/status-react/src/contexts/modalProvider.tsx @@ -6,7 +6,7 @@ import React, { useState, } from 'react' -import { +import type { ProfileModalName, ProfileModalProps, } from '../components/Modals/ProfileModal' @@ -59,5 +59,7 @@ interface IdentityProviderProps { export function ModalProvider({ children }: IdentityProviderProps) { const modalState = useState({}) - return + return ( + {children} + ) } diff --git a/packages/status-react/src/contexts/narrowProvider.tsx b/packages/status-react/src/contexts/narrowProvider.tsx index d0a51ae5..20be3a29 100644 --- a/packages/status-react/src/contexts/narrowProvider.tsx +++ b/packages/status-react/src/contexts/narrowProvider.tsx @@ -25,5 +25,9 @@ interface NarrowProviderProps { export function NarrowProvider({ children, myRef }: NarrowProviderProps) { const narrow = useRefBreak(myRef?.current?.offsetWidth ?? 0, 736) const low = useRefBreak(myRef?.current?.offsetHeight ?? 0, 465) - return + return ( + + {children} + + ) } diff --git a/packages/status-react/src/contexts/scrollProvider.tsx b/packages/status-react/src/contexts/scrollProvider.tsx index 85ab4b03..0b23d057 100644 --- a/packages/status-react/src/contexts/scrollProvider.tsx +++ b/packages/status-react/src/contexts/scrollProvider.tsx @@ -7,7 +7,8 @@ import React, { } from 'react' import { useMessengerContext } from '../contexts/messengerProvider' -import { ChatMessage } from '../models/ChatMessage' + +import type { ChatMessage } from '../models/ChatMessage' const ScrollContext = createContext< (msg: ChatMessage, channelId?: string) => void @@ -66,5 +67,7 @@ export function ScrollProvider({ children }: ScrollProviderProps) { }, [scrollToDivId, channelsDispatch, activeChannel] ) - return + return ( + {children} + ) } diff --git a/packages/status-react/src/contexts/toastProvider.tsx b/packages/status-react/src/contexts/toastProvider.tsx index a44d58d0..fa0f776d 100644 --- a/packages/status-react/src/contexts/toastProvider.tsx +++ b/packages/status-react/src/contexts/toastProvider.tsx @@ -1,6 +1,6 @@ import React, { createContext, useContext, useState } from 'react' -import { Toast } from '../models/Toast' +import type { Toast } from '../models/Toast' const ToastContext = createContext<{ toasts: Toast[] @@ -21,6 +21,8 @@ interface ToastProviderProps { export function ToastProvider({ children }: ToastProviderProps) { const [toasts, setToasts] = useState([]) return ( - + + {children} + ) } diff --git a/packages/status-react/src/groupChatComponents/GroupChat.tsx b/packages/status-react/src/groupChatComponents/GroupChat.tsx index 30e5cf21..b5d72b87 100644 --- a/packages/status-react/src/groupChatComponents/GroupChat.tsx +++ b/packages/status-react/src/groupChatComponents/GroupChat.tsx @@ -1,8 +1,7 @@ import React, { useRef } from 'react' -import { ThemeProvider } from 'styled-components' -import styled from 'styled-components' -import { ConfigType } from '..' +import styled, { ThemeProvider } from 'styled-components' + import { ChatStateProvider } from '../contexts/chatStateProvider' import { ConfigProvider } from '../contexts/configProvider' import { FetchMetadataProvider } from '../contexts/fetchMetadataProvider' @@ -11,12 +10,13 @@ import { MessengerProvider } from '../contexts/messengerProvider' import { ModalProvider } from '../contexts/modalProvider' import { NarrowProvider } from '../contexts/narrowProvider' import { ToastProvider } from '../contexts/toastProvider' -import { Metadata } from '../models/Metadata' import { GlobalStyle } from '../styles/GlobalStyle' -import { Theme } from '../styles/themes' - import { GroupChatRoom } from './GroupChatRoom' +import type { ConfigType } from '..' +import type { Metadata } from '../models/Metadata' +import type { Theme } from '../styles/themes' + interface GroupChatProps { theme: Theme config: ConfigType diff --git a/packages/status-react/src/groupChatComponents/GroupChat/GroupChatBody.tsx b/packages/status-react/src/groupChatComponents/GroupChat/GroupChatBody.tsx index 180cb466..6a5117ef 100644 --- a/packages/status-react/src/groupChatComponents/GroupChat/GroupChatBody.tsx +++ b/packages/status-react/src/groupChatComponents/GroupChat/GroupChatBody.tsx @@ -1,4 +1,5 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react' + import styled from 'styled-components' import { ChatCreation } from '../../components/Chat/ChatCreation' @@ -11,8 +12,9 @@ import { NarrowMembers } from '../../components/NarrowMode/NarrowMembers' import { LoadingSkeleton } from '../../components/Skeleton/LoadingSkeleton' import { useMessengerContext } from '../../contexts/messengerProvider' import { useNarrow } from '../../contexts/narrowProvider' -import { Reply } from '../../hooks/useReply' -import { ChannelData } from '../../models/ChannelData' + +import type { Reply } from '../../hooks/useReply' +import type { ChannelData } from '../../models/ChannelData' export enum ChatBodyState { Chat, diff --git a/packages/status-react/src/groupChatComponents/GroupChatRoom.tsx b/packages/status-react/src/groupChatComponents/GroupChatRoom.tsx index f5bc54b4..55f69781 100644 --- a/packages/status-react/src/groupChatComponents/GroupChatRoom.tsx +++ b/packages/status-react/src/groupChatComponents/GroupChatRoom.tsx @@ -1,4 +1,5 @@ import React, { useState } from 'react' + import styled from 'styled-components' import { Channels } from '../components/Channels/Channels' @@ -18,7 +19,6 @@ import { WalletModal } from '../components/Modals/WalletModal' import { ToastMessageList } from '../components/ToastMessages/ToastMessageList' import { ChatState, useChatState } from '../contexts/chatStateProvider' import { useNarrow } from '../contexts/narrowProvider' - import { GroupChatBody } from './GroupChat/GroupChatBody' import { GroupMembers } from './GroupMembers/GroupMembers' diff --git a/packages/status-react/src/groupChatComponents/GroupMembers/GroupMembers.tsx b/packages/status-react/src/groupChatComponents/GroupMembers/GroupMembers.tsx index 25ae0f4a..aabea524 100644 --- a/packages/status-react/src/groupChatComponents/GroupMembers/GroupMembers.tsx +++ b/packages/status-react/src/groupChatComponents/GroupMembers/GroupMembers.tsx @@ -1,4 +1,5 @@ import React, { useMemo, useState } from 'react' + import styled from 'styled-components' import { MembersList } from '../../components/Members/MembersList' diff --git a/packages/status-react/src/hooks/messenger/useChannelsReducer.ts b/packages/status-react/src/hooks/messenger/useChannelsReducer.ts index 0f68a098..73f1c279 100644 --- a/packages/status-react/src/hooks/messenger/useChannelsReducer.ts +++ b/packages/status-react/src/hooks/messenger/useChannelsReducer.ts @@ -1,6 +1,6 @@ import { useReducer } from 'react' -import { ChannelData, ChannelsData } from '../../models/ChannelData' +import type { ChannelData, ChannelsData } from '../../models/ChannelData' export type ChannelsState = { channels: ChannelsData diff --git a/packages/status-react/src/hooks/messenger/useContacts.ts b/packages/status-react/src/hooks/messenger/useContacts.ts index af826e31..3efcd63c 100644 --- a/packages/status-react/src/hooks/messenger/useContacts.ts +++ b/packages/status-react/src/hooks/messenger/useContacts.ts @@ -1,12 +1,9 @@ -import { - Contacts as ContactsClass, - Identity, - Messenger, - bufToHex, -} from '@status-im/core' import { useMemo, useReducer, useState } from 'react' -import { Contacts } from '../../models/Contact' +import { bufToHex, Contacts as ContactsClass } from '@status-im/core' + +import type { Contacts } from '../../models/Contact' +import type { Identity, Messenger } from '@status-im/core' export type ContactsAction = | { type: 'updateOnline'; payload: { id: string; clock: number } } diff --git a/packages/status-react/src/hooks/messenger/useGroupChats.ts b/packages/status-react/src/hooks/messenger/useGroupChats.ts index ec75e01c..e3b473cd 100644 --- a/packages/status-react/src/hooks/messenger/useGroupChats.ts +++ b/packages/status-react/src/hooks/messenger/useGroupChats.ts @@ -1,19 +1,20 @@ -import { - Contacts as ContactsClass, - GroupChat, - GroupChats, - Identity, - Messenger, - ChatMessage as StatusChatMessage, -} from '@status-im/core' import { useCallback, useMemo } from 'react' -import { ChannelData } from '../../models/ChannelData' +import { GroupChats } from '@status-im/core' + import { ChatMessage } from '../../models/ChatMessage' -import { Contact } from '../../models/Contact' import { uintToImgUrl } from '../../utils' -import { ChannelAction } from './useChannelsReducer' +import type { ChannelData } from '../../models/ChannelData' +import type { Contact } from '../../models/Contact' +import type { ChannelAction } from './useChannelsReducer' +import type { + ChatMessage as StatusChatMessage, + Contacts as ContactsClass, + GroupChat, + Identity, + Messenger, +} from '@status-im/core' const contactFromId = (member: string): Contact => { return { diff --git a/packages/status-react/src/hooks/messenger/useLoadPrevDay.ts b/packages/status-react/src/hooks/messenger/useLoadPrevDay.ts index 114f93c7..983bc9e4 100644 --- a/packages/status-react/src/hooks/messenger/useLoadPrevDay.ts +++ b/packages/status-react/src/hooks/messenger/useLoadPrevDay.ts @@ -1,6 +1,7 @@ -import { GroupChats, Messenger } from '@status-im/core' import { useCallback, useEffect, useRef, useState } from 'react' +import type { GroupChats, Messenger } from '@status-im/core' + const _MS_PER_DAY = 1000 * 60 * 60 * 24 export function useLoadPrevDay( diff --git a/packages/status-react/src/hooks/messenger/useMessages.ts b/packages/status-react/src/hooks/messenger/useMessages.ts index 70661f2f..65c41c8d 100644 --- a/packages/status-react/src/hooks/messenger/useMessages.ts +++ b/packages/status-react/src/hooks/messenger/useMessages.ts @@ -1,16 +1,17 @@ -import { - ApplicationMetadataMessage, - Contacts, - Identity, - bufToHex, -} from '@status-im/core' import { useCallback, useMemo, useState } from 'react' +import { bufToHex } from '@status-im/core' + import { ChatMessage } from '../../models/ChatMessage' import { binarySetInsert } from '../../utils' - import { useNotifications } from './useNotifications' +import type { + ApplicationMetadataMessage, + Contacts, + Identity, +} from '@status-im/core' + export function useMessages( chatId: string, identity: Identity | undefined, diff --git a/packages/status-react/src/hooks/messenger/useMessenger.ts b/packages/status-react/src/hooks/messenger/useMessenger.ts index a1816e1c..d0275ccd 100644 --- a/packages/status-react/src/hooks/messenger/useMessenger.ts +++ b/packages/status-react/src/hooks/messenger/useMessenger.ts @@ -1,11 +1,4 @@ // import { StoreCodec } from "js-waku"; -import { - ApplicationMetadataMessage, - Community, - Contacts as ContactsClass, - Identity, - Messenger, -} from '@status-im/core' import { useCallback, useEffect, @@ -16,20 +9,29 @@ import { } from 'react' import { useConfig } from '../../contexts/configProvider' -import { ChannelData, ChannelsData } from '../../models/ChannelData' -import { ChatMessage } from '../../models/ChatMessage' -import { CommunityData } from '../../models/CommunityData' -import { Contacts } from '../../models/Contact' import { createCommunity } from '../../utils/createCommunity' import { createMessenger } from '../../utils/createMessenger' import { uintToImgUrl } from '../../utils/uintToImgUrl' - -import { ChannelAction, useChannelsReducer } from './useChannelsReducer' -import { ContactsAction, useContacts } from './useContacts' +import { useChannelsReducer } from './useChannelsReducer' +import { useContacts } from './useContacts' import { useGroupChats } from './useGroupChats' import { useLoadPrevDay } from './useLoadPrevDay' import { useMessages } from './useMessages' +import type { ChannelData, ChannelsData } from '../../models/ChannelData' +import type { ChatMessage } from '../../models/ChatMessage' +import type { CommunityData } from '../../models/CommunityData' +import type { Contacts } from '../../models/Contact' +import type { ChannelAction } from './useChannelsReducer' +import type { ContactsAction } from './useContacts' +import type { + ApplicationMetadataMessage, + Community, + Contacts as ContactsClass, + Identity, + Messenger, +} from '@status-im/core' + export type MessengerType = { messenger: Messenger | undefined messages: ChatMessage[] diff --git a/packages/status-react/src/hooks/useActivities.ts b/packages/status-react/src/hooks/useActivities.ts index f1e66be3..3ecb4604 100644 --- a/packages/status-react/src/hooks/useActivities.ts +++ b/packages/status-react/src/hooks/useActivities.ts @@ -2,8 +2,9 @@ import { useEffect, useMemo, useReducer } from 'react' import { useUserPublicKey } from '../contexts/identityProvider' import { useMessengerContext } from '../contexts/messengerProvider' -import { Activities, Activity, ActivityStatus } from '../models/Activity' -import { ChatMessage } from '../models/ChatMessage' + +import type { Activities, Activity, ActivityStatus } from '../models/Activity' +import type { ChatMessage } from '../models/ChatMessage' export type ActivityAction = | { type: 'addActivity'; payload: Activity } diff --git a/packages/status-react/src/hooks/useChatScrollHandle.ts b/packages/status-react/src/hooks/useChatScrollHandle.ts index 8fb74414..9c67f9ef 100644 --- a/packages/status-react/src/hooks/useChatScrollHandle.ts +++ b/packages/status-react/src/hooks/useChatScrollHandle.ts @@ -1,7 +1,8 @@ import { useEffect, useState } from 'react' import { useMessengerContext } from '../contexts/messengerProvider' -import { ChatMessage } from '../models/ChatMessage' + +import type { ChatMessage } from '../models/ChatMessage' export function useChatScrollHandle( messages: ChatMessage[], diff --git a/packages/status-react/src/hooks/useClickOutside.ts b/packages/status-react/src/hooks/useClickOutside.ts index 933c239a..4dc4f44b 100644 --- a/packages/status-react/src/hooks/useClickOutside.ts +++ b/packages/status-react/src/hooks/useClickOutside.ts @@ -1,4 +1,6 @@ -import { RefObject, useCallback, useEffect } from 'react' +import { useCallback, useEffect } from 'react' + +import type { RefObject } from 'react' export const useClickOutside = ( ref: RefObject, diff --git a/packages/status-react/src/hooks/useClickPosition.ts b/packages/status-react/src/hooks/useClickPosition.ts index 59260d9b..a1b0b416 100644 --- a/packages/status-react/src/hooks/useClickPosition.ts +++ b/packages/status-react/src/hooks/useClickPosition.ts @@ -1,4 +1,6 @@ -import { RefObject, useCallback, useEffect, useState } from 'react' +import { useCallback, useEffect, useState } from 'react' + +import type { RefObject } from 'react' export const useClickPosition = (ref: RefObject) => { const [topPosition, setTopPosition] = useState(0) diff --git a/packages/status-react/src/index.ts b/packages/status-react/src/index.ts index d8d12fae..2257db38 100644 --- a/packages/status-react/src/index.ts +++ b/packages/status-react/src/index.ts @@ -1,4 +1,4 @@ export { CommunityChat } from './components/CommunityChat' +export type { ConfigType } from './contexts/configProvider' export { GroupChat } from './groupChatComponents/GroupChat' export { darkTheme, lightTheme } from './styles/themes' -export type { ConfigType } from './contexts/configProvider' diff --git a/packages/status-react/src/models/Activity.ts b/packages/status-react/src/models/Activity.ts index 99007453..d78693f5 100644 --- a/packages/status-react/src/models/Activity.ts +++ b/packages/status-react/src/models/Activity.ts @@ -1,6 +1,6 @@ -import { ChannelData } from './ChannelData' -import { ChatMessage } from './ChatMessage' -import { CommunityData } from './CommunityData' +import type { ChannelData } from './ChannelData' +import type { ChatMessage } from './ChatMessage' +import type { CommunityData } from './CommunityData' export type ActivityStatus = 'sent' | 'accepted' | 'declined' | 'blocked' diff --git a/packages/status-react/src/models/ChannelData.ts b/packages/status-react/src/models/ChannelData.ts index 4481a393..d0a60b3f 100644 --- a/packages/status-react/src/models/ChannelData.ts +++ b/packages/status-react/src/models/ChannelData.ts @@ -1,4 +1,4 @@ -import { Contact } from './Contact' +import type { Contact } from './Contact' export type ChannelData = { id: string diff --git a/packages/status-react/src/models/ChatMessage.ts b/packages/status-react/src/models/ChatMessage.ts index dad1acff..6e6b9518 100644 --- a/packages/status-react/src/models/ChatMessage.ts +++ b/packages/status-react/src/models/ChatMessage.ts @@ -1,8 +1,10 @@ -import { ApplicationMetadataMessage, bufToHex } from '@status-im/core' +import { bufToHex } from '@status-im/core' import { keccak256 } from 'js-sha3' import { uintToImgUrl } from '../utils' +import type { ApplicationMetadataMessage } from '@status-im/core' + export class ChatMessage { content: string date: Date diff --git a/packages/status-react/src/utils/copyImg.ts b/packages/status-react/src/utils/copyImg.ts index e965c040..cb3f8406 100644 --- a/packages/status-react/src/utils/copyImg.ts +++ b/packages/status-react/src/utils/copyImg.ts @@ -1,4 +1,4 @@ -const copyToClipboard = async (pngBlob: any) => { +const copyToClipboard = async (pngBlob: Blob) => { try { await navigator.clipboard.write([ new ClipboardItem({ diff --git a/packages/status-react/src/utils/createCommunity.ts b/packages/status-react/src/utils/createCommunity.ts index ae387bd8..6d86634e 100644 --- a/packages/status-react/src/utils/createCommunity.ts +++ b/packages/status-react/src/utils/createCommunity.ts @@ -1,8 +1,6 @@ -import { - Community, - Messenger, - ApplicationMetadataMessage, -} from '@status-im/core' +import { Community } from '@status-im/core' + +import type { ApplicationMetadataMessage, Messenger } from '@status-im/core' export async function createCommunity( communityKey: string, diff --git a/packages/status-react/src/utils/createMessenger.ts b/packages/status-react/src/utils/createMessenger.ts index da054070..0c237696 100644 --- a/packages/status-react/src/utils/createMessenger.ts +++ b/packages/status-react/src/utils/createMessenger.ts @@ -1,9 +1,13 @@ -import { Identity, Messenger } from '@status-im/core' +import { Messenger } from '@status-im/core' import { getNodesFromHostedJson } from 'js-waku' import { Protocols } from 'js-waku/build/main/lib/waku' +import type { Identity } from '@status-im/core' + function createWakuOptions(env: string) { + // eslint-disable-next-line @typescript-eslint/no-explicit-any let bootstrap: any = { default: true } + if (env === 'test') { bootstrap = { getPeers: getNodesFromHostedJson.bind({}, [ diff --git a/packages/status-react/src/utils/identityStorage.ts b/packages/status-react/src/utils/identityStorage.ts index 4d068057..ae104699 100644 --- a/packages/status-react/src/utils/identityStorage.ts +++ b/packages/status-react/src/utils/identityStorage.ts @@ -1,4 +1,4 @@ -import { Identity, bufToHex, hexToBuf } from '@status-im/core' +import { bufToHex, hexToBuf, Identity } from '@status-im/core' export async function saveIdentity(identity: Identity, password: string) { const salt = window.crypto.getRandomValues(new Uint8Array(16)) diff --git a/packages/status-react/src/utils/index.ts b/packages/status-react/src/utils/index.ts index 5af856ef..c0add802 100644 --- a/packages/status-react/src/utils/index.ts +++ b/packages/status-react/src/utils/index.ts @@ -2,11 +2,11 @@ export { binarySetInsert } from './binarySetInsert' export { copy } from './copy' export { copyImg } from './copyImg' export { downloadImg } from './downloadImg' +export { equalDate } from './equalDate' export { - saveIdentity, - loadEncryptedIdentity, decryptIdentity, + loadEncryptedIdentity, + saveIdentity, } from './identityStorage' export { reduceString } from './reduceString' export { uintToImgUrl } from './uintToImgUrl' -export { equalDate } from './equalDate' diff --git a/yarn.lock b/yarn.lock index 8fc0ff7b..388115db 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2,13 +2,6 @@ # yarn lockfile v1 -"@babel/code-frame@7.12.11": - version "7.12.11" - resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.12.11.tgz#f4ad435aa263db935b8f10f2c552d23fb716a63f" - integrity sha512-Zt1yodBx1UcyiePMSkWnU4hPqhwq7hGi2nFL1LeA3EUl+q2LQx16MISgJ0+z7dnmgvP9QtIleuETGOiOH1RcIw== - dependencies: - "@babel/highlight" "^7.10.4" - "@babel/code-frame@^7.0.0", "@babel/code-frame@^7.16.7": version "7.16.7" resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.16.7.tgz#44416b6bd7624b998f5b1af5d470856c40138789" @@ -81,7 +74,7 @@ resolved "https://registry.yarnpkg.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz#e8c602438c4a8195751243da9031d1607d247cad" integrity sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw== -"@babel/highlight@^7.10.4", "@babel/highlight@^7.16.7": +"@babel/highlight@^7.16.7": version "7.16.10" resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.16.10.tgz#744f2eb81579d6eea753c227b0f570ad785aba88" integrity sha512-5FnTQLSLswEj6IkgVw5KusNUUFY9ZGqe/TRFnP/BKYHYgfh7tc+C7mwiy95/yNP7Dh9x580Vv8r7u7ZfTBFxdw== @@ -95,7 +88,15 @@ resolved "https://registry.yarnpkg.com/@babel/parser/-/parser-7.17.3.tgz#b07702b982990bf6fdc1da5049a23fece4c5c3d0" integrity sha512-7yJPvPV+ESz2IUTPbOL+YkIGyCqOyNIzdguKQuJGnH7bg1WTIifuM21YqokFt/THWh1AkCRn9IgoykTRCBVpzA== -"@babel/runtime@^7.0.0": +"@babel/runtime-corejs3@^7.10.2": + version "7.17.2" + resolved "https://registry.yarnpkg.com/@babel/runtime-corejs3/-/runtime-corejs3-7.17.2.tgz#fdca2cd05fba63388babe85d349b6801b008fd13" + integrity sha512-NcKtr2epxfIrNM4VOmPKO46TvDMCBhgi2CrSHaEarrz+Plk2K5r9QemmOFTGpZaoKnWoGH5MO+CzeRsih/Fcgg== + dependencies: + core-js-pure "^3.20.2" + regenerator-runtime "^0.13.4" + +"@babel/runtime@^7.0.0", "@babel/runtime@^7.10.2", "@babel/runtime@^7.16.3": version "7.17.2" resolved "https://registry.yarnpkg.com/@babel/runtime/-/runtime-7.17.2.tgz#66f68591605e59da47523c631416b18508779941" integrity sha512-hzeyJyMA1YGdJTuWU0e/j4wKXrU4OMFvY2MSlaI9B7VQb0r5cxTE3EAIS2Q7Tn2RIcDkRvTA/v2JsAEhxe99uw== @@ -189,18 +190,18 @@ resolved "https://registry.yarnpkg.com/@emotion/unitless/-/unitless-0.7.5.tgz#77211291c1900a700b8a78cfafda3160d76949ed" integrity sha512-OWORNpfjMsSSUBVrRBVGECkhWcULOAJz9ZW8uK9qgxD+87M7jHRcvh/A96XXNhXTLmKcoYSQtBEX7lHMO7YRwg== -"@eslint/eslintrc@^0.4.3": - version "0.4.3" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-0.4.3.tgz#9e42981ef035beb3dd49add17acb96e8ff6f394c" - integrity sha512-J6KFFz5QCYUJq3pf0mjEcCJVERbzv71PUIDczuh9JkwGEzced6CO5ADLHB1rbf/+oPBtoPfMYNOpGDzCANlbXw== +"@eslint/eslintrc@^1.1.0": + version "1.1.0" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-1.1.0.tgz#583d12dbec5d4f22f333f9669f7d0b7c7815b4d3" + integrity sha512-C1DfL7XX4nPqGd6jcP01W9pVM1HYCuUkFk1432D7F0v3JSlUIeOYn9oCoi3eoLZ+iwBSb29BMFxxny0YrrEZqg== dependencies: ajv "^6.12.4" - debug "^4.1.1" - espree "^7.3.0" + debug "^4.3.2" + espree "^9.3.1" globals "^13.9.0" ignore "^4.0.6" import-fresh "^3.2.1" - js-yaml "^3.13.1" + js-yaml "^4.1.0" minimatch "^3.0.4" strip-json-comments "^3.1.1" @@ -209,16 +210,16 @@ resolved "https://registry.yarnpkg.com/@hcaptcha/react-hcaptcha/-/react-hcaptcha-1.1.0.tgz#ca770c9fc1f456e3c6b057bedf01a94693b2ec96" integrity sha512-+0JYxSFkZaHMOJ91YD9PUNiCUZhG5d9BzVAIye4vAWMyXzfD4b8Dx7EwAVUf1qfbf8KVCa33QwoTRt6EKfDDSA== -"@humanwhocodes/config-array@^0.5.0": - version "0.5.0" - resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.5.0.tgz#1407967d4c6eecd7388f83acf1eaf4d0c6e58ef9" - integrity sha512-FagtKFz74XrTl7y6HCzQpwDfXP0yhxe9lHLD1UZxjvZIcbyRz8zTFF/yYNfSfzU414eDwZ1SrO0Qvtyf+wFMQg== +"@humanwhocodes/config-array@^0.9.2": + version "0.9.3" + resolved "https://registry.yarnpkg.com/@humanwhocodes/config-array/-/config-array-0.9.3.tgz#f2564c744b387775b436418491f15fce6601f63e" + integrity sha512-3xSMlXHh03hCcCmFc0rbKp3Ivt2PFEJnQUJDDMTJQ2wkECZWdq4GePs2ctc5H8zV+cHPaq8k2vU8mrQjA6iHdQ== dependencies: - "@humanwhocodes/object-schema" "^1.2.0" + "@humanwhocodes/object-schema" "^1.2.1" debug "^4.1.1" minimatch "^3.0.4" -"@humanwhocodes/object-schema@^1.2.0": +"@humanwhocodes/object-schema@^1.2.1": version "1.2.1" resolved "https://registry.yarnpkg.com/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz#b520529ec21d8e5945a1851dfd1c32e94e39ff45" integrity sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA== @@ -1153,7 +1154,7 @@ "@types/istanbul-lib-coverage" "*" "@types/istanbul-lib-report" "*" -"@types/json-schema@^7.0.7": +"@types/json-schema@^7.0.9": version "7.0.9" resolved "https://registry.yarnpkg.com/@types/json-schema/-/json-schema-7.0.9.tgz#97edc9037ea0c38585320b28964dde3b39e4660d" integrity sha512-qcUXuemtEu+E5wZSJHNxUXeCZhAfXKQ41D+duX+VYPde7xyEVZci+/oXKJL13tnRs9lR2pr4fod59GT6/X1/yQ== @@ -1281,75 +1282,85 @@ dependencies: "@types/yargs-parser" "*" -"@typescript-eslint/eslint-plugin@^4.29.0", "@typescript-eslint/eslint-plugin@^4.31.1": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.33.0.tgz#c24dc7c8069c7706bc40d99f6fa87edcb2005276" - integrity sha512-aINiAxGVdOl1eJyVjaWn/YcVAq4Gi/Yo35qHGCnqbWVz61g39D0h23veY/MA0rFFGfxK7TySg2uwDeNv+JgVpg== +"@typescript-eslint/eslint-plugin@^5.12.0": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.12.1.tgz#b2cd3e288f250ce8332d5035a2ff65aba3374ac4" + integrity sha512-M499lqa8rnNK7mUv74lSFFttuUsubIRdAbHcVaP93oFcKkEmHmLqy2n7jM9C8DVmFMYK61ExrZU6dLYhQZmUpw== dependencies: - "@typescript-eslint/experimental-utils" "4.33.0" - "@typescript-eslint/scope-manager" "4.33.0" - debug "^4.3.1" + "@typescript-eslint/scope-manager" "5.12.1" + "@typescript-eslint/type-utils" "5.12.1" + "@typescript-eslint/utils" "5.12.1" + debug "^4.3.2" functional-red-black-tree "^1.0.1" ignore "^5.1.8" - regexpp "^3.1.0" + regexpp "^3.2.0" semver "^7.3.5" tsutils "^3.21.0" -"@typescript-eslint/experimental-utils@4.33.0", "@typescript-eslint/experimental-utils@^4.9.1": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.33.0.tgz#6f2a786a4209fa2222989e9380b5331b2810f7fd" - integrity sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q== +"@typescript-eslint/parser@^5.12.0": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-5.12.1.tgz#b090289b553b8aa0899740d799d0f96e6f49771b" + integrity sha512-6LuVUbe7oSdHxUWoX/m40Ni8gsZMKCi31rlawBHt7VtW15iHzjbpj2WLiToG2758KjtCCiLRKZqfrOdl3cNKuw== dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" + "@typescript-eslint/scope-manager" "5.12.1" + "@typescript-eslint/types" "5.12.1" + "@typescript-eslint/typescript-estree" "5.12.1" + debug "^4.3.2" + +"@typescript-eslint/scope-manager@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-5.12.1.tgz#58734fd45d2d1dec49641aacc075fba5f0968817" + integrity sha512-J0Wrh5xS6XNkd4TkOosxdpObzlYfXjAFIm9QxYLCPOcHVv1FyyFCPom66uIh8uBr0sZCrtS+n19tzufhwab8ZQ== + dependencies: + "@typescript-eslint/types" "5.12.1" + "@typescript-eslint/visitor-keys" "5.12.1" + +"@typescript-eslint/type-utils@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/type-utils/-/type-utils-5.12.1.tgz#8d58c6a0bb176b5e9a91581cda1a7f91a114d3f0" + integrity sha512-Gh8feEhsNLeCz6aYqynh61Vsdy+tiNNkQtc+bN3IvQvRqHkXGUhYkUi+ePKzP0Mb42se7FDb+y2SypTbpbR/Sg== + dependencies: + "@typescript-eslint/utils" "5.12.1" + debug "^4.3.2" + tsutils "^3.21.0" + +"@typescript-eslint/types@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-5.12.1.tgz#46a36a28ff4d946821b58fe5a73c81dc2e12aa89" + integrity sha512-hfcbq4qVOHV1YRdhkDldhV9NpmmAu2vp6wuFODL71Y0Ixak+FLeEU4rnPxgmZMnGreGEghlEucs9UZn5KOfHJA== + +"@typescript-eslint/typescript-estree@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-5.12.1.tgz#6a9425b9c305bcbc38e2d1d9a24c08e15e02b722" + integrity sha512-ahOdkIY9Mgbza7L9sIi205Pe1inCkZWAHE1TV1bpxlU4RZNPtXaDZfiiFWcL9jdxvW1hDYZJXrFm+vlMkXRbBw== + dependencies: + "@typescript-eslint/types" "5.12.1" + "@typescript-eslint/visitor-keys" "5.12.1" + debug "^4.3.2" + globby "^11.0.4" + is-glob "^4.0.3" + semver "^7.3.5" + tsutils "^3.21.0" + +"@typescript-eslint/utils@5.12.1", "@typescript-eslint/utils@^5.10.0": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/utils/-/utils-5.12.1.tgz#447c24a05d9c33f9c6c64cb48f251f2371eef920" + integrity sha512-Qq9FIuU0EVEsi8fS6pG+uurbhNTtoYr4fq8tKjBupsK5Bgbk2I32UGm0Sh+WOyjOPgo/5URbxxSNV6HYsxV4MQ== + dependencies: + "@types/json-schema" "^7.0.9" + "@typescript-eslint/scope-manager" "5.12.1" + "@typescript-eslint/types" "5.12.1" + "@typescript-eslint/typescript-estree" "5.12.1" eslint-scope "^5.1.1" eslint-utils "^3.0.0" -"@typescript-eslint/parser@^4.29.0", "@typescript-eslint/parser@^4.31.1": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.33.0.tgz#dfe797570d9694e560528d18eecad86c8c744899" - integrity sha512-ZohdsbXadjGBSK0/r+d87X0SBmKzOq4/S5nzK6SBgJspFo9/CUDJ7hjayuze+JK7CZQLDMroqytp7pOcFKTxZA== +"@typescript-eslint/visitor-keys@5.12.1": + version "5.12.1" + resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-5.12.1.tgz#f722da106c8f9695ae5640574225e45af3e52ec3" + integrity sha512-l1KSLfupuwrXx6wc0AuOmC7Ko5g14ZOQ86wJJqRbdLbXLK02pK/DPiDDqCc7BqqiiA04/eAA6ayL0bgOrAkH7A== dependencies: - "@typescript-eslint/scope-manager" "4.33.0" - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/typescript-estree" "4.33.0" - debug "^4.3.1" - -"@typescript-eslint/scope-manager@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.33.0.tgz#d38e49280d983e8772e29121cf8c6e9221f280a3" - integrity sha512-5IfJHpgTsTZuONKbODctL4kKuQje/bzBRkwHE8UOZ4f89Zeddg+EGZs8PD8NcN4LdM3ygHWYB3ukPAYjvl/qbQ== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - -"@typescript-eslint/types@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.33.0.tgz#a1e59036a3b53ae8430ceebf2a919dc7f9af6d72" - integrity sha512-zKp7CjQzLQImXEpLt2BUw1tvOMPfNoTAfb8l51evhYbOEEzdWyQNmHWWGPR6hwKJDAi+1VXSBmnhL9kyVTTOuQ== - -"@typescript-eslint/typescript-estree@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.33.0.tgz#0dfb51c2908f68c5c08d82aefeaf166a17c24609" - integrity sha512-rkWRY1MPFzjwnEVHsxGemDzqqddw2QbTJlICPD9p9I9LfsO8fdmfQPOX3uKfUaGRDFJbfrtm/sXhVXN4E+bzCA== - dependencies: - "@typescript-eslint/types" "4.33.0" - "@typescript-eslint/visitor-keys" "4.33.0" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - -"@typescript-eslint/visitor-keys@4.33.0": - version "4.33.0" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.33.0.tgz#2a22f77a41604289b7a186586e9ec48ca92ef1dd" - integrity sha512-uqi/2aSz9g2ftcHWf8uLPJA70rUv6yuMW5Bohw+bwcuzaxQIHaKFZCKGoGXIrc9vkTJ3+0txM73K0Hq3d5wgIg== - dependencies: - "@typescript-eslint/types" "4.33.0" - eslint-visitor-keys "^2.0.0" + "@typescript-eslint/types" "5.12.1" + eslint-visitor-keys "^3.0.0" "@ungap/promise-all-settled@1.1.2": version "1.1.2" @@ -1413,12 +1424,12 @@ acorn-walk@^8.1.1: resolved "https://registry.yarnpkg.com/acorn-walk/-/acorn-walk-8.2.0.tgz#741210f2e2426454508853a2f44d0ab83b7f69c1" integrity sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA== -acorn@^7.1.1, acorn@^7.4.0: +acorn@^7.1.1: version "7.4.1" resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.4.1.tgz#feaed255973d2e77555b83dbc08851a6c63520fa" integrity sha512-nQyp0o1/mNdbTO1PO6kHkwSrmgZ0MT/jCCpNiwbUjGoRN4dlBhqJtoQuCnEOKzgTVwg0ZWiCoQy6SxMebQVh8A== -acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0: +acorn@^8.2.4, acorn@^8.4.1, acorn@^8.5.0, acorn@^8.7.0: version "8.7.0" resolved "https://registry.yarnpkg.com/acorn/-/acorn-8.7.0.tgz#90951fde0f8f09df93549481e5fc141445b791cf" integrity sha512-V/LGr1APy+PXIwKebEWrkZPwoeoF+w1jiOBUmuxuiUIaOHtob8Qc9BTrYo7VuI5fR8tqsy+buA2WFooR5olqvQ== @@ -1448,16 +1459,6 @@ ajv@^6.10.0, ajv@^6.12.3, ajv@^6.12.4: json-schema-traverse "^0.4.1" uri-js "^4.2.2" -ajv@^8.0.1: - version "8.10.0" - resolved "https://registry.yarnpkg.com/ajv/-/ajv-8.10.0.tgz#e573f719bd3af069017e3b66538ab968d040e54d" - integrity sha512-bzqAEZOjkrUMl2afH8dknrq5KEk2SrwdBROR+vH1EKVQTqaUbJVPdc/gEdggTMM0Se+s+Ja4ju4TlNcStKl2Hw== - dependencies: - fast-deep-equal "^3.1.1" - json-schema-traverse "^1.0.0" - require-from-string "^2.0.2" - uri-js "^4.2.2" - ansi-align@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-3.0.1.tgz#0cdf12e111ace773a86e9a1fad1225c43cb19a59" @@ -1465,7 +1466,7 @@ ansi-align@^3.0.0: dependencies: string-width "^4.1.0" -ansi-colors@4.1.1, ansi-colors@^4.1.1: +ansi-colors@4.1.1: version "4.1.1" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-4.1.1.tgz#cbb9ae256bf750af1eab344f229aa27fe94ba348" integrity sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA== @@ -1520,19 +1521,20 @@ arg@^4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -argparse@^1.0.7: - version "1.0.10" - resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" - integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== - dependencies: - sprintf-js "~1.0.2" - argparse@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/argparse/-/argparse-2.0.1.tgz#246f50f3ca78a3240f6c997e8a9bd1eac49e4b38" integrity sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q== -array-includes@^3.1.4: +aria-query@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/aria-query/-/aria-query-4.2.2.tgz#0d2ca6c9aceb56b8977e9fed6aed7e15bbd2f83b" + integrity sha512-o/HelwhuKpTj/frsOsbNLNgnNGVIFsVP/SW2BSF14gVl7kAfMOJ6/8wUAUvG1R1NHKrfG+2sHZTu0yauT1qBrA== + dependencies: + "@babel/runtime" "^7.10.2" + "@babel/runtime-corejs3" "^7.10.2" + +array-includes@^3.1.3, array-includes@^3.1.4: version "3.1.4" resolved "https://registry.yarnpkg.com/array-includes/-/array-includes-3.1.4.tgz#f5b493162c760f3539631f005ba2bb46acb45ba9" integrity sha512-ZTNSQkmWumEbiHO2GF4GmWxYVTiQyJy2XOTa15sdQSrvKn7l+180egQMqlrMOUMCyLMD7pmyQe4mMDUT6Behrw== @@ -1557,7 +1559,7 @@ array.prototype.flat@^1.2.5: define-properties "^1.1.3" es-abstract "^1.19.0" -array.prototype.flatmap@^1.2.4: +array.prototype.flatmap@^1.2.5: version "1.2.5" resolved "https://registry.yarnpkg.com/array.prototype.flatmap/-/array.prototype.flatmap-1.2.5.tgz#908dc82d8a406930fdf38598d51e7411d18d4446" integrity sha512-08u6rVyi1Lj7oqWbS9nUxliETrtIROT4XGTA4D/LWGten6E3ocm7cy9SIrmNHOL5XVbVuckUp3X6Xyg8/zpvHA== @@ -1593,10 +1595,10 @@ assertion-error@^1.1.0: resolved "https://registry.yarnpkg.com/assertion-error/-/assertion-error-1.1.0.tgz#e60b6b0e8f301bd97e5375215bda406c85118c0b" integrity sha512-jgsaNduz+ndvGyFt3uSuWqvy4lCnIJiovtouQN5JZHOKCS2QuhEdbcQHFhVksz2N2U9hXJo8odG7ETyWlEeuDw== -astral-regex@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-2.0.0.tgz#483143c567aeed4785759c0865786dc77d7d2e31" - integrity sha512-Z7tMw1ytTXt5jqMcOP+OQteU1VuNK9Y02uuJtKQ1Sv69jXQKKg5cibLwGJow8yzZP+eAc18EmLGPal0bp36rvQ== +ast-types-flow@^0.0.7: + version "0.0.7" + resolved "https://registry.yarnpkg.com/ast-types-flow/-/ast-types-flow-0.0.7.tgz#f70b735c6bca1a5c9c22d982c3e39e7feba3bdad" + integrity sha1-9wtzXGvKGlycItmCw+Oef+ujva0= async@^3.2.0: version "3.2.3" @@ -1618,6 +1620,11 @@ aws4@^1.8.0: resolved "https://registry.yarnpkg.com/aws4/-/aws4-1.11.0.tgz#d61f46d83b2519250e2784daf5b09479a8b41c59" integrity sha512-xh1Rl34h6Fi1DC2WWKfxUTVqRsNnr6LsKz2+hfwDxQJWmrx8+c7ylaqBMcHfl1U1r2dsifOvKX3LQuLNZ+XSvA== +axe-core@^4.3.5: + version "4.4.1" + resolved "https://registry.yarnpkg.com/axe-core/-/axe-core-4.4.1.tgz#7dbdc25989298f9ad006645cd396782443757413" + integrity sha512-gd1kmb21kwNuWr6BQz8fv6GNECPBnUasepcoLbekws23NVBLODdsClRZ+bQ8+9Uomf3Sm3+Vwn0oYG9NvwnJCw== + axios@^0.21.1: version "0.21.4" resolved "https://registry.yarnpkg.com/axios/-/axios-0.21.4.tgz#c67b90dc0568e5c1cf2b0b858c43ba28e2eda575" @@ -1625,6 +1632,11 @@ axios@^0.21.1: dependencies: follow-redirects "^1.14.0" +axobject-query@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/axobject-query/-/axobject-query-2.2.0.tgz#943d47e10c0b704aa42275e20edf3722648989be" + integrity sha512-Td525n+iPOOyUQIeBfcASuG6uJsDOITl7Mds5gFyerkWiX7qhUTdYUBlSgNMyVqtSJqwpt1kXGLdUt6SykLMRA== + "babel-plugin-styled-components@>= 1.12.0": version "2.0.4" resolved "https://registry.yarnpkg.com/babel-plugin-styled-components/-/babel-plugin-styled-components-2.0.4.tgz#2ee2574e4044f2e6dea443111aa2f3219271b181" @@ -2041,6 +2053,11 @@ copyfiles@^2.4.1: untildify "^4.0.0" yargs "^16.1.0" +core-js-pure@^3.20.2: + version "3.21.1" + resolved "https://registry.yarnpkg.com/core-js-pure/-/core-js-pure-3.21.1.tgz#8c4d1e78839f5f46208de7230cebfb72bc3bdb51" + integrity sha512-12VZfFIu+wyVbBebyHmRTuEE/tZrB4tJToWcwAMcsp3h4+sHR+fMJWbKpYiCRWlhFBq+KNyO8rIV9rTkeVmznQ== + core-util-is@1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/core-util-is/-/core-util-is-1.0.2.tgz#b5fd54220aa2bc5ab57aab7140c940754503c1a7" @@ -2243,6 +2260,11 @@ csstype@^3.0.2: resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.10.tgz#2ad3a7bed70f35b965707c092e5f30b327c290e5" integrity sha512-2u44ZG2OcNUO9HDp/Jl8C07x6pU/eTR3ncV91SiK3dhG9TWvRVsCoJw14Ckx5DgWkzGA3waZWO3d7pgqpUI/XA== +damerau-levenshtein@^1.0.7: + version "1.0.8" + resolved "https://registry.yarnpkg.com/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz#b43d286ccbd36bc5b2f7ed41caf2d0aba1f8a6e7" + integrity sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA== + dashdash@^1.12.0: version "1.14.1" resolved "https://registry.yarnpkg.com/dashdash/-/dashdash-1.14.1.tgz#853cfa0f7cbe2fed5de20326b8dd581035f6e2f0" @@ -2264,7 +2286,7 @@ dataloader@^1.4.0: resolved "https://registry.yarnpkg.com/dataloader/-/dataloader-1.4.0.tgz#bca11d867f5d3f1b9ed9f737bd15970c65dff5c8" integrity sha512-68s5jYdlvasItOJnCuI2Q9s4q98g0pCyL3HrcKJu8KNugUl8ahgmZYg38ysLTgQjjXX3H8CJLkAvWrclWfcalw== -debug@4, debug@4.3.3, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.3.0, debug@^4.3.1, debug@^4.3.3: +debug@4, debug@4.3.3, debug@^4.1.0, debug@^4.1.1, debug@^4.3.0, debug@^4.3.1, debug@^4.3.2, debug@^4.3.3: version "4.3.3" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.3.tgz#04266e0b70a98d4462e6e288e38259213332b664" integrity sha512-/zxw5+vh1Tfv+4Qn7a5nsbcJKPaSvCDhojn6FEl9vupwK2VCSDtEiEtqr8DFtzYFOdz63LBkxec7DYuc2jon6Q== @@ -2324,11 +2346,6 @@ deep-is@^0.1.3, deep-is@~0.1.3: resolved "https://registry.yarnpkg.com/deep-is/-/deep-is-0.1.4.tgz#a6f2dce612fadd2ef1f519b73551f17e85199831" integrity sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ== -deepmerge@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" - integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== - default-gateway@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/default-gateway/-/default-gateway-6.0.3.tgz#819494c888053bdb743edbf343d6cdf7f2943a71" @@ -2545,6 +2562,11 @@ emoji-regex@^8.0.0: resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37" integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A== +emoji-regex@^9.2.2: + version "9.2.2" + resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-9.2.2.tgz#840c8803b0d8047f4ff0cf963176b32d4ef3ed72" + integrity sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg== + encoding@^0.1.13: version "0.1.13" resolved "https://registry.yarnpkg.com/encoding/-/encoding-0.1.13.tgz#56574afdd791f54a8e9b2785c0582a2d26210fa9" @@ -2559,13 +2581,6 @@ end-of-stream@^1.1.0: dependencies: once "^1.4.0" -enquirer@^2.3.5: - version "2.3.6" - resolved "https://registry.yarnpkg.com/enquirer/-/enquirer-2.3.6.tgz#2a7fe5dd634a1e4125a975ec994ff5456dc3734d" - integrity sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg== - dependencies: - ansi-colors "^4.1.1" - entities@^2.0.0: version "2.2.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" @@ -2673,6 +2688,17 @@ eslint-import-resolver-node@^0.3.6: debug "^3.2.7" resolve "^1.20.0" +eslint-import-resolver-typescript@^2.4.0: + version "2.5.0" + resolved "https://registry.yarnpkg.com/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.5.0.tgz#07661966b272d14ba97f597b51e1a588f9722f0a" + integrity sha512-qZ6e5CFr+I7K4VVhQu3M/9xGv9/YmwsEXrsm3nimw8vWaVHRDrQRp26BgCypTxBp3vUp4o5aVEJRiy0F2DFddQ== + dependencies: + debug "^4.3.1" + glob "^7.1.7" + is-glob "^4.0.1" + resolve "^1.20.0" + tsconfig-paths "^3.9.0" + eslint-module-utils@^2.7.2: version "2.7.3" resolved "https://registry.yarnpkg.com/eslint-module-utils/-/eslint-module-utils-2.7.3.tgz#ad7e3a10552fdd0642e1e55292781bd6e34876ee" @@ -2681,6 +2707,14 @@ eslint-module-utils@^2.7.2: debug "^3.2.7" find-up "^2.1.0" +eslint-plugin-es@^3.0.0: + version "3.0.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-es/-/eslint-plugin-es-3.0.1.tgz#75a7cdfdccddc0589934aeeb384175f221c57893" + integrity sha512-GUmAsJaN4Fc7Gbtl8uOBlayo2DqhwWvEzykMHSCZHU3XdJ+NSzzZcVhXh3VxX5icqQ+oQdIEawXX8xkR3mIFmQ== + dependencies: + eslint-utils "^2.0.0" + regexpp "^3.0.0" + eslint-plugin-eslint-comments@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/eslint-plugin-eslint-comments/-/eslint-plugin-eslint-comments-3.2.0.tgz#9e1cd7b4413526abb313933071d7aba05ca12ffa" @@ -2689,18 +2723,7 @@ eslint-plugin-eslint-comments@^3.2.0: escape-string-regexp "^1.0.5" ignore "^5.0.5" -eslint-plugin-functional@^3.7.0: - version "3.7.2" - resolved "https://registry.yarnpkg.com/eslint-plugin-functional/-/eslint-plugin-functional-3.7.2.tgz#c90325dddfa822fab27419375084d12158f05da1" - integrity sha512-BuWPOeE0nuXYlZjObYOHnYf7G3iG+sysxw84I579MsrH+hy5XdXb2sdabmXQ5z7eFGCg2/DWNbZ/yz5GAgtcUg== - dependencies: - "@typescript-eslint/experimental-utils" "^4.9.1" - array.prototype.flatmap "^1.2.4" - deepmerge "^4.2.2" - escape-string-regexp "^4.0.0" - object.fromentries "^2.0.3" - -eslint-plugin-import@^2.24.2: +eslint-plugin-import@^2.25.2: version "2.25.4" resolved "https://registry.yarnpkg.com/eslint-plugin-import/-/eslint-plugin-import-2.25.4.tgz#322f3f916a4e9e991ac7af32032c25ce313209f1" integrity sha512-/KJBASVFxpu0xg1kIBn9AUa8hQVnszpwgE7Ld0lKAlx7Ie87yzEzCgSkekt+le/YVhiaosO4Y14GDAOc41nfxA== @@ -2719,11 +2742,73 @@ eslint-plugin-import@^2.24.2: resolve "^1.20.0" tsconfig-paths "^3.12.0" +eslint-plugin-jest@^26.1.1: + version "26.1.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jest/-/eslint-plugin-jest-26.1.1.tgz#7176dd745ef8bca3070263f62cdf112f2dfc9aa1" + integrity sha512-HRKOuPi5ADhza4ZBK5ufyNXy28bXXkib87w+pQqdvBhSTsamndh6sIAKPAUl8y0/n9jSWBdTPslrwtKWqkp8dA== + dependencies: + "@typescript-eslint/utils" "^5.10.0" + +eslint-plugin-jsx-a11y@^6.5.1: + version "6.5.1" + resolved "https://registry.yarnpkg.com/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.5.1.tgz#cdbf2df901040ca140b6ec14715c988889c2a6d8" + integrity sha512-sVCFKX9fllURnXT2JwLN5Qgo24Ug5NF6dxhkmxsMEUZhXRcGg+X3e1JbJ84YePQKBl5E0ZjAH5Q4rkdcGY99+g== + dependencies: + "@babel/runtime" "^7.16.3" + aria-query "^4.2.2" + array-includes "^3.1.4" + ast-types-flow "^0.0.7" + axe-core "^4.3.5" + axobject-query "^2.2.0" + damerau-levenshtein "^1.0.7" + emoji-regex "^9.2.2" + has "^1.0.3" + jsx-ast-utils "^3.2.1" + language-tags "^1.0.5" + minimatch "^3.0.4" + +eslint-plugin-node@^11.1.0: + version "11.1.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-node/-/eslint-plugin-node-11.1.0.tgz#c95544416ee4ada26740a30474eefc5402dc671d" + integrity sha512-oUwtPJ1W0SKD0Tr+wqu92c5xuCeQqB3hSCHasn/ZgjFdA9iDGNkNf2Zi9ztY7X+hNuMib23LNGRm6+uN+KLE3g== + dependencies: + eslint-plugin-es "^3.0.0" + eslint-utils "^2.0.0" + ignore "^5.1.1" + minimatch "^3.0.4" + resolve "^1.10.1" + semver "^6.1.0" + eslint-plugin-react-hooks@^4.3.0: version "4.3.0" resolved "https://registry.yarnpkg.com/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.3.0.tgz#318dbf312e06fab1c835a4abef00121751ac1172" integrity sha512-XslZy0LnMn+84NEG9jSGR6eGqaZB3133L8xewQo3fQagbQuGt7a63gf+P1NGKZavEYEC3UXaWEAA/AqDkuN6xA== +eslint-plugin-react@^7.27.0: + version "7.28.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-react/-/eslint-plugin-react-7.28.0.tgz#8f3ff450677571a659ce76efc6d80b6a525adbdf" + integrity sha512-IOlFIRHzWfEQQKcAD4iyYDndHwTQiCMcJVJjxempf203jnNLUnW34AXLrV33+nEXoifJE2ZEGmcjKPL8957eSw== + dependencies: + array-includes "^3.1.4" + array.prototype.flatmap "^1.2.5" + doctrine "^2.1.0" + estraverse "^5.3.0" + jsx-ast-utils "^2.4.1 || ^3.0.0" + minimatch "^3.0.4" + object.entries "^1.1.5" + object.fromentries "^2.0.5" + object.hasown "^1.1.0" + object.values "^1.1.5" + prop-types "^15.7.2" + resolve "^2.0.0-next.3" + semver "^6.3.0" + string.prototype.matchall "^4.0.6" + +eslint-plugin-simple-import-sort@^7.0.0: + version "7.0.0" + resolved "https://registry.yarnpkg.com/eslint-plugin-simple-import-sort/-/eslint-plugin-simple-import-sort-7.0.0.tgz#a1dad262f46d2184a90095a60c66fef74727f0f8" + integrity sha512-U3vEDB5zhYPNfxT5TYR7u01dboFZp+HNpnGhkDB2g/2E4wZ/g1Q9Ton8UwCLfRV9yAKyYqDh62oHOamvkFxsvw== + eslint-scope@^5.1.1: version "5.1.1" resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-5.1.1.tgz#e786e59a66cb92b3f6c1fb0d508aab174848f48c" @@ -2732,7 +2817,15 @@ eslint-scope@^5.1.1: esrecurse "^4.3.0" estraverse "^4.1.1" -eslint-utils@^2.1.0: +eslint-scope@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/eslint-scope/-/eslint-scope-7.1.1.tgz#fff34894c2f65e5226d3041ac480b4513a163642" + integrity sha512-QKQM/UXpIiHcLqJ5AOyIW7XZmzjkzQXYE54n1++wb0u9V/abW3l9uQnxX8Z5Xd18xyKIMTUAyQ0k1e8pz6LUrw== + dependencies: + esrecurse "^4.3.0" + estraverse "^5.2.0" + +eslint-utils@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-2.1.0.tgz#d2de5e03424e707dc10c74068ddedae708741b27" integrity sha512-w94dQYoauyvlDc43XnGB8lU3Zt713vNChgt4EWwhXAP2XkBvndfxF0AgIqKOOasjPIPzj9JqgwkwbCYD0/V3Zg== @@ -2746,7 +2839,7 @@ eslint-utils@^3.0.0: dependencies: eslint-visitor-keys "^2.0.0" -eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: +eslint-visitor-keys@^1.1.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" integrity sha512-6J72N8UNa462wa/KFODt/PJ3IU60SDpC3QXC1Hjc1BXXpfL2C9R5+AU7jhe0F6GREqVMh4Juu+NY7xn+6dipUQ== @@ -2756,62 +2849,62 @@ eslint-visitor-keys@^2.0.0: resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz#f65328259305927392c938ed44eb0a5c9b2bd303" integrity sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw== -eslint@^7.32.0: - version "7.32.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-7.32.0.tgz#c6d328a14be3fb08c8d1d21e12c02fdb7a2a812d" - integrity sha512-VHZ8gX+EDfz+97jGcgyGCyRia/dPOd6Xh9yPv8Bl1+SoaIwD+a/vlrOmGRUyOYu7MwUhc7CxqeaDZU13S4+EpA== +eslint-visitor-keys@^3.0.0, eslint-visitor-keys@^3.3.0: + version "3.3.0" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.3.0.tgz#f6480fa6b1f30efe2d1968aa8ac745b862469826" + integrity sha512-mQ+suqKJVyeuwGYHAdjMFqjCyfl8+Ldnxuyp3ldiMBFKkvytrXUZWaiPCEav8qDHKty44bD+qV1IP4T+w+xXRA== + +eslint@^8.9.0: + version "8.9.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.9.0.tgz#a2a8227a99599adc4342fd9b854cb8d8d6412fdb" + integrity sha512-PB09IGwv4F4b0/atrbcMFboF/giawbBLVC7fyDamk5Wtey4Jh2K+rYaBhCAbUyEI4QzB1ly09Uglc9iCtFaG2Q== dependencies: - "@babel/code-frame" "7.12.11" - "@eslint/eslintrc" "^0.4.3" - "@humanwhocodes/config-array" "^0.5.0" + "@eslint/eslintrc" "^1.1.0" + "@humanwhocodes/config-array" "^0.9.2" ajv "^6.10.0" chalk "^4.0.0" cross-spawn "^7.0.2" - debug "^4.0.1" + debug "^4.3.2" doctrine "^3.0.0" - enquirer "^2.3.5" escape-string-regexp "^4.0.0" - eslint-scope "^5.1.1" - eslint-utils "^2.1.0" - eslint-visitor-keys "^2.0.0" - espree "^7.3.1" + eslint-scope "^7.1.1" + eslint-utils "^3.0.0" + eslint-visitor-keys "^3.3.0" + espree "^9.3.1" esquery "^1.4.0" esutils "^2.0.2" fast-deep-equal "^3.1.3" file-entry-cache "^6.0.1" functional-red-black-tree "^1.0.1" - glob-parent "^5.1.2" + glob-parent "^6.0.1" globals "^13.6.0" - ignore "^4.0.6" + ignore "^5.2.0" import-fresh "^3.0.0" imurmurhash "^0.1.4" is-glob "^4.0.0" - js-yaml "^3.13.1" + js-yaml "^4.1.0" json-stable-stringify-without-jsonify "^1.0.1" levn "^0.4.1" lodash.merge "^4.6.2" minimatch "^3.0.4" natural-compare "^1.4.0" optionator "^0.9.1" - progress "^2.0.0" - regexpp "^3.1.0" - semver "^7.2.1" - strip-ansi "^6.0.0" + regexpp "^3.2.0" + strip-ansi "^6.0.1" strip-json-comments "^3.1.0" - table "^6.0.9" text-table "^0.2.0" v8-compile-cache "^2.0.3" -espree@^7.3.0, espree@^7.3.1: - version "7.3.1" - resolved "https://registry.yarnpkg.com/espree/-/espree-7.3.1.tgz#f2df330b752c6f55019f8bd89b7660039c1bbbb6" - integrity sha512-v3JCNCE64umkFpmkFGqzVKsOT0tN1Zr+ueqLZfpV1Ob8e+CEgPWa+OxCoGH3tnhimMKIaBm4m/vaRpJ/krRz2g== +espree@^9.3.1: + version "9.3.1" + resolved "https://registry.yarnpkg.com/espree/-/espree-9.3.1.tgz#8793b4bc27ea4c778c19908e0719e7b8f4115bcd" + integrity sha512-bvdyLmJMfwkV3NCRl5ZhJf22zBFo1y8bYh3VYb+bfzqNB4Je68P2sSuXyuFquzWLebHpNd2/d5uv7yoP9ISnGQ== dependencies: - acorn "^7.4.0" + acorn "^8.7.0" acorn-jsx "^5.3.1" - eslint-visitor-keys "^1.3.0" + eslint-visitor-keys "^3.3.0" -esprima@^4.0.0, esprima@^4.0.1: +esprima@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/esprima/-/esprima-4.0.1.tgz#13b04cdb3e6c5d19df91ab6987a8695619b0aa71" integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A== @@ -2835,7 +2928,7 @@ estraverse@^4.1.1: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-4.3.0.tgz#398ad3f3c5a24948be7725e83d11a7de28cdbd1d" integrity sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw== -estraverse@^5.1.0, estraverse@^5.2.0: +estraverse@^5.1.0, estraverse@^5.2.0, estraverse@^5.3.0: version "5.3.0" resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== @@ -3123,7 +3216,14 @@ glob-parent@^5.1.2, glob-parent@~5.1.2: dependencies: is-glob "^4.0.1" -glob@7.2.0, glob@^7.0.5, glob@^7.1.2, glob@^7.1.3: +glob-parent@^6.0.1: + version "6.0.2" + resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-6.0.2.tgz#6d237d99083950c79290f24c7642a3de9a28f9e3" + integrity sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A== + dependencies: + is-glob "^4.0.3" + +glob@7.2.0, glob@^7.0.5, glob@^7.1.2, glob@^7.1.3, glob@^7.1.7: version "7.2.0" resolved "https://registry.yarnpkg.com/glob/-/glob-7.2.0.tgz#d15535af7732e02e948f4c41628bd910293f6023" integrity sha512-lmLf6gtyrPq8tTjSmrO94wBeQbFR3HbLHbuyD69wuyQkImp2hWqMGB47OX65FBkPffO641IP9jWa1z4ivqG26Q== @@ -3154,7 +3254,7 @@ globals@^13.2.0, globals@^13.6.0, globals@^13.9.0: dependencies: type-fest "^0.20.2" -globby@^11.0.3: +globby@^11.0.4: version "11.1.0" resolved "https://registry.yarnpkg.com/globby/-/globby-11.1.0.tgz#bd4be98bb042f83d796f7e3811991fbe82a0d34b" integrity sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g== @@ -3394,7 +3494,7 @@ ignore@^4.0.6: resolved "https://registry.yarnpkg.com/ignore/-/ignore-4.0.6.tgz#750e3db5862087b4737ebac8207ffd1ef27b25fc" integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg== -ignore@^5.0.5, ignore@^5.1.8, ignore@^5.2.0: +ignore@^5.0.5, ignore@^5.1.1, ignore@^5.1.8, ignore@^5.2.0: version "5.2.0" resolved "https://registry.yarnpkg.com/ignore/-/ignore-5.2.0.tgz#6d3bac8fa7fe0d45d9f9be7bac2fc279577e345a" integrity sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ== @@ -3573,7 +3673,7 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.8.0, is-core-module@^2.8.1: +is-core-module@^2.2.0, is-core-module@^2.8.0, is-core-module@^2.8.1: version "2.8.1" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.8.1.tgz#f59fdfca701d5879d0a6b100a40aa1560ce27211" integrity sha512-SdNCUs284hr40hFTFP6l0IfZ/RSrMXF3qgoRHd3/79unUTvrFO/JoXwkGm+5J/Oe3E/b5GsnG330uUNgRpu1PA== @@ -3962,21 +4062,13 @@ js-waku@^0.16.0: secp256k1 "^4.0.2" uuid "^8.3.2" -js-yaml@4.1.0: +js-yaml@4.1.0, js-yaml@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-4.1.0.tgz#c1fb65f8f5017901cdd2c951864ba18458a10602" integrity sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA== dependencies: argparse "^2.0.1" -js-yaml@^3.13.1: - version "3.14.1" - resolved "https://registry.yarnpkg.com/js-yaml/-/js-yaml-3.14.1.tgz#dae812fdb3825fa306609a8717383c50c36a0537" - integrity sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g== - dependencies: - argparse "^1.0.7" - esprima "^4.0.0" - jsbn@1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/jsbn/-/jsbn-1.1.0.tgz#b01307cb29b618a1ed26ec79e911f803c4da0040" @@ -4050,11 +4142,6 @@ json-schema-traverse@^0.4.1: resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz#69f6a87d9513ab8bb8fe63bdb0979c448e684660" integrity sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg== -json-schema-traverse@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz#ae7bcb3656ab77a73ba5c49bf654f38e6b6860e2" - integrity sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug== - json-schema@0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/json-schema/-/json-schema-0.4.0.tgz#f7de4cf6efab838ebaeb3236474cbba5a1930ab5" @@ -4099,6 +4186,14 @@ jsprim@^1.2.2: json-schema "0.4.0" verror "1.10.0" +"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.2.1: + version "3.2.1" + resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.2.1.tgz#720b97bfe7d901b927d87c3773637ae8ea48781b" + integrity sha512-uP5vu8xfy2F9A6LGC22KO7e2/vGTS1MhP+18f++ZNlf0Ohaxbc9nIEwHAsejlJKyzfZzU5UIhe5ItYkitcZnZA== + dependencies: + array-includes "^3.1.3" + object.assign "^4.1.2" + keypair@^1.0.1, keypair@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/keypair/-/keypair-1.0.4.tgz#a749a45f388593f3950f18b3757d32a93bd8ce83" @@ -4111,6 +4206,18 @@ keyv@^3.0.0: dependencies: json-buffer "3.0.0" +language-subtag-registry@~0.3.2: + version "0.3.21" + resolved "https://registry.yarnpkg.com/language-subtag-registry/-/language-subtag-registry-0.3.21.tgz#04ac218bea46f04cb039084602c6da9e788dd45a" + integrity sha512-L0IqwlIXjilBVVYKFT37X9Ih11Um5NEl9cbJIuU/SwP/zEEAbBPOnEeeuxVMf45ydWQRDQN3Nqc96OgbH1K+Pg== + +language-tags@^1.0.5: + version "1.0.5" + resolved "https://registry.yarnpkg.com/language-tags/-/language-tags-1.0.5.tgz#d321dbc4da30ba8bf3024e040fa5c14661f9193a" + integrity sha1-0yHbxNowuovzAk4ED6XBRmH5GTo= + dependencies: + language-subtag-registry "~0.3.2" + latest-version@^5.1.0: version "5.1.0" resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-5.1.0.tgz#119dfe908fe38d15dfa43ecd13fa12ec8832face" @@ -4417,11 +4524,6 @@ lodash.throttle@^4.1.1: resolved "https://registry.yarnpkg.com/lodash.throttle/-/lodash.throttle-4.1.1.tgz#c23e91b710242ac70c37f1e1cda9274cc39bf2f4" integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= -lodash.truncate@^4.4.2: - version "4.4.2" - resolved "https://registry.yarnpkg.com/lodash.truncate/-/lodash.truncate-4.4.2.tgz#5a350da0b1113b837ecfffd5812cbe58d6eae193" - integrity sha1-WjUNoLERO4N+z//VgSy+WNbq4ZM= - lodash.uniq@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773" @@ -4951,7 +5053,16 @@ object.assign@^4.1.2: has-symbols "^1.0.1" object-keys "^1.1.1" -object.fromentries@^2.0.3: +object.entries@^1.1.5: + version "1.1.5" + resolved "https://registry.yarnpkg.com/object.entries/-/object.entries-1.1.5.tgz#e1acdd17c4de2cd96d5a08487cfb9db84d881861" + integrity sha512-TyxmjUoZggd4OrrU1W66FMDG6CuqJxsFvymeyXI51+vQLN67zYfZseptRge703kKQdo4uccgAKebXFcRCzk4+g== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + +object.fromentries@^2.0.5: version "2.0.5" resolved "https://registry.yarnpkg.com/object.fromentries/-/object.fromentries-2.0.5.tgz#7b37b205109c21e741e605727fe8b0ad5fa08251" integrity sha512-CAyG5mWQRRiBU57Re4FKoTBjXfDoNwdFVH2Y1tS9PqCsfUTymAohOkEMSG3aRNKmv4lV3O7p1et7c187q6bynw== @@ -4960,6 +5071,14 @@ object.fromentries@^2.0.3: define-properties "^1.1.3" es-abstract "^1.19.1" +object.hasown@^1.1.0: + version "1.1.0" + resolved "https://registry.yarnpkg.com/object.hasown/-/object.hasown-1.1.0.tgz#7232ed266f34d197d15cac5880232f7a4790afe5" + integrity sha512-MhjYRfj3GBlhSkDHo6QmvgjRLXQ2zndabdf3nX0yTyZK9rPfxb6uRpAac8HXNLy1GpqWtZ81Qh4v3uOls2sRAg== + dependencies: + define-properties "^1.1.3" + es-abstract "^1.19.1" + object.values@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/object.values/-/object.values-1.1.5.tgz#959f63e3ce9ef108720333082131e4a459b716ac" @@ -5234,7 +5353,7 @@ path-key@^3.0.0, path-key@^3.1.0: resolved "https://registry.yarnpkg.com/path-key/-/path-key-3.1.1.tgz#581f6ade658cbba65a0d3380de7753295054f375" integrity sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q== -path-parse@^1.0.7: +path-parse@^1.0.6, path-parse@^1.0.7: version "1.0.7" resolved "https://registry.yarnpkg.com/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== @@ -5597,12 +5716,7 @@ process-nextick-args@~2.0.0: resolved "https://registry.yarnpkg.com/process-nextick-args/-/process-nextick-args-2.0.1.tgz#7820d9b16120cc55ca9ae7792680ae7dba6d7fe2" integrity sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag== -progress@^2.0.0: - version "2.0.3" - resolved "https://registry.yarnpkg.com/progress/-/progress-2.0.3.tgz#7e8cf8d8f5b8f239c1bc68beb4eb78567d572ef8" - integrity sha512-7PiHtLll5LdnKIMw100I+8xJXR5gW2QwWYkT6iJva0bXitZKa/XMrSbdmg3r2Xnaidz9Qumd0VPaMrZlF9V9sA== - -prop-types@^15.6.0: +prop-types@^15.6.0, prop-types@^15.7.2: version "15.8.1" resolved "https://registry.yarnpkg.com/prop-types/-/prop-types-15.8.1.tgz#67d87bf1a694f48435cf332c24af10214a3140b5" integrity sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg== @@ -5800,7 +5914,15 @@ regenerator-runtime@^0.13.4, regenerator-runtime@^0.13.7: resolved "https://registry.yarnpkg.com/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz#8925742a98ffd90814988d7566ad30ca3b263b52" integrity sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA== -regexpp@^3.1.0: +regexp.prototype.flags@^1.3.1: + version "1.4.1" + resolved "https://registry.yarnpkg.com/regexp.prototype.flags/-/regexp.prototype.flags-1.4.1.tgz#b3f4c0059af9e47eca9f3f660e51d81307e72307" + integrity sha512-pMR7hBVUUGI7PMA37m2ofIdQCsomVnas+Jn5UPGAHQ+/LlwKm/aTLJHdasmHRzlfeZwHiAOaRSo2rbBDm3nNUQ== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + +regexpp@^3.0.0, regexpp@^3.2.0: version "3.2.0" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-3.2.0.tgz#0425a2768d8f23bad70ca4b90461fa2f1213e1b2" integrity sha512-pq2bWo9mVD43nbts2wGv17XLiNLya+GklZ8kaDLV2Z08gDCsGpnKn9BFMepvWuHCbyVvY7J5o5+BVvoQbmlJLg== @@ -5850,11 +5972,6 @@ require-directory@^2.1.1: resolved "https://registry.yarnpkg.com/require-directory/-/require-directory-2.1.1.tgz#8c64ad5fd30dab1c976e2344ffe7f792a6a6df42" integrity sha1-jGStX9MNqxyXbiNE/+f3kqam30I= -require-from-string@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/require-from-string/-/require-from-string-2.0.2.tgz#89a7fdd938261267318eafe14f9c32e598c36909" - integrity sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw== - require-main-filename@^2.0.0: version "2.0.0" resolved "https://registry.yarnpkg.com/require-main-filename/-/require-main-filename-2.0.0.tgz#d0b329ecc7cc0f61649f62215be69af54aa8989b" @@ -5865,7 +5982,7 @@ resolve-from@^4.0.0: resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6" integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g== -resolve@^1.10.0, resolve@^1.20.0: +resolve@^1.10.0, resolve@^1.10.1, resolve@^1.20.0: version "1.22.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.22.0.tgz#5e0b8c67c15df57a89bdbabe603a002f21731198" integrity sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw== @@ -5874,6 +5991,14 @@ resolve@^1.10.0, resolve@^1.20.0: path-parse "^1.0.7" supports-preserve-symlinks-flag "^1.0.0" +resolve@^2.0.0-next.3: + version "2.0.0-next.3" + resolved "https://registry.yarnpkg.com/resolve/-/resolve-2.0.0-next.3.tgz#d41016293d4a8586a39ca5d9b5f15cbea1f55e46" + integrity sha512-W8LucSynKUIDu9ylraa7ueVZ7hc0uAgJBxVsQSKOXOyle8a93qXhcz+XAXZ8bIq2d6i4Ehddn6Evt+0/UwKk6Q== + dependencies: + is-core-module "^2.2.0" + path-parse "^1.0.6" + responselike@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/responselike/-/responselike-1.0.2.tgz#918720ef3b631c5642be068f15ade5a46f4ba1e7" @@ -5993,12 +6118,12 @@ semver-diff@^3.1.1: resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== -semver@^6.0.0, semver@^6.2.0, semver@^6.3.0: +semver@^6.0.0, semver@^6.1.0, semver@^6.2.0, semver@^6.3.0: version "6.3.0" resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d" integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw== -semver@^7.2.1, semver@^7.3.4, semver@^7.3.5: +semver@^7.3.4, semver@^7.3.5: version "7.3.5" resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.5.tgz#0b621c879348d8998e4b0e4be94b3f12e6018ef7" integrity sha512-PoeGJYh8HK4BTO/a9Tf6ZG3veo/A7ZVsYrSA6J8ny9nb3B1VrpkuN+z9OE5wfE5p6H4LchYZsegiQgbJD94ZFQ== @@ -6083,15 +6208,6 @@ slash@^3.0.0: resolved "https://registry.yarnpkg.com/slash/-/slash-3.0.0.tgz#6539be870c165adbd5240220dbe361f1bc4d4634" integrity sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q== -slice-ansi@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/slice-ansi/-/slice-ansi-4.0.0.tgz#500e8dd0fd55b05815086255b3195adf2a45fe6b" - integrity sha512-qMCMfhY040cVHT43K9BFygqYbUPFZKHOg7K73mtTWJRb8pyP3fzf4Ixd5SzdEJQ6MRUg/WBnOLxghZtKKurENQ== - dependencies: - ansi-styles "^4.0.0" - astral-regex "^2.0.0" - is-fullwidth-code-point "^3.0.0" - source-map-js@^1.0.2: version "1.0.2" resolved "https://registry.yarnpkg.com/source-map-js/-/source-map-js-1.0.2.tgz#adbc361d9c62df380125e7f161f71c826f1e490c" @@ -6158,11 +6274,6 @@ sprintf-js@1.1.2: resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.1.2.tgz#da1765262bf8c0f571749f2ad6c26300207ae673" integrity sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug== -sprintf-js@~1.0.2: - version "1.0.3" - resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c" - integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw= - sshpk@^1.7.0: version "1.17.0" resolved "https://registry.yarnpkg.com/sshpk/-/sshpk-1.17.0.tgz#578082d92d4fe612b13007496e543fa0fbcbe4c5" @@ -6204,7 +6315,7 @@ string-width@^3.0.0, string-width@^3.1.0: is-fullwidth-code-point "^2.0.0" strip-ansi "^5.1.0" -string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2, string-width@^4.2.3: +string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.2: version "4.2.3" resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.3.tgz#269c7117d27b05ad2e536830a8ec895ef9c6d010" integrity sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g== @@ -6213,6 +6324,20 @@ string-width@^4.0.0, string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2 is-fullwidth-code-point "^3.0.0" strip-ansi "^6.0.1" +string.prototype.matchall@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/string.prototype.matchall/-/string.prototype.matchall-4.0.6.tgz#5abb5dabc94c7b0ea2380f65ba610b3a544b15fa" + integrity sha512-6WgDX8HmQqvEd7J+G6VtAahhsQIssiZ8zl7zKh1VDMFyL3hRTJP4FTNA3RbIp2TOQ9AYNDcc7e3fH0Qbup+DBg== + dependencies: + call-bind "^1.0.2" + define-properties "^1.1.3" + es-abstract "^1.19.1" + get-intrinsic "^1.1.1" + has-symbols "^1.0.2" + internal-slot "^1.0.3" + regexp.prototype.flags "^1.3.1" + side-channel "^1.0.4" + string.prototype.padend@^3.0.0: version "3.1.3" resolved "https://registry.yarnpkg.com/string.prototype.padend/-/string.prototype.padend-3.1.3.tgz#997a6de12c92c7cb34dc8a201a6c53d9bd88a5f1" @@ -6364,17 +6489,6 @@ symbol-tree@^3.2.4: resolved "https://registry.yarnpkg.com/symbol-tree/-/symbol-tree-3.2.4.tgz#430637d248ba77e078883951fb9aa0eed7c63fa2" integrity sha512-9QNk5KwDF+Bvz+PyObkmSYjI5ksVUYtjW7AU22r2NKcfLJcXp96hkDWU3+XndOsUb+AQ9QhfzfCT2O+CNWT5Tw== -table@^6.0.9: - version "6.8.0" - resolved "https://registry.yarnpkg.com/table/-/table-6.8.0.tgz#87e28f14fa4321c3377ba286f07b79b281a3b3ca" - integrity sha512-s/fitrbVeEyHKFa7mFdkuQMWlH1Wgw/yEXMt5xACT4ZpzWFluehAxRtUUQKPuWhaLAWhFcVx6w3oC8VKaUfPGA== - dependencies: - ajv "^8.0.1" - lodash.truncate "^4.4.2" - slice-ansi "^4.0.0" - string-width "^4.2.3" - strip-ansi "^6.0.1" - terser@^5.2.0: version "5.11.0" resolved "https://registry.yarnpkg.com/terser/-/terser-5.11.0.tgz#2da5506c02e12cd8799947f30ce9c5b760be000f" @@ -6537,7 +6651,7 @@ ts-proto@^1.83.0: ts-poet "^4.5.0" ts-proto-descriptors "1.6.0" -tsconfig-paths@^3.12.0: +tsconfig-paths@^3.12.0, tsconfig-paths@^3.9.0: version "3.12.0" resolved "https://registry.yarnpkg.com/tsconfig-paths/-/tsconfig-paths-3.12.0.tgz#19769aca6ee8f6a1a341e38c8fa45dd9fb18899b" integrity sha512-e5adrnOYT6zqVnWqZu7i/BQ3BnhzvGbjEjejFXO20lKIKpwTaupkCPgEfv4GZK1IBciJUEhYs3J3p75FdaTFVg==