[FIX] Ordered and unordered list styles, Line breaks. (#25494)

* use new list component

* Fix Message lists and line breaks

* Remove unecessary check from plaintext

* skip empty text

* remove parser from server

* Fix components order

* disable playwright

* update

* Fix parser version and wrong import

* Match versions

* Move actual `dependencies` from `devDependencies`

* revert playwright

* revert

* Remove a few components

* change version to next

Co-authored-by: Tasso Evangelista <tasso.evangelista@rocket.chat>

* update fuselage

Co-authored-by: Tasso Evangelista <tasso.evangelista@rocket.chat>
pull/25612/head
gabriellsh 4 years ago committed by GitHub
parent 2ec6982560
commit 4986d3919a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 2
      apps/meteor/app/theme/client/imports/general/base_old.css
  2. 2
      apps/meteor/app/ui/client/views/app/room.html
  3. 6
      apps/meteor/client/components/Message/MessageBodyRender/OrderedList.tsx
  4. 6
      apps/meteor/client/components/Message/MessageBodyRender/PlainText.tsx
  5. 4
      apps/meteor/client/components/Message/MessageBodyRender/UnorderedList.tsx
  6. 4
      apps/meteor/client/components/Message/MessageBodyRender/index.tsx
  7. 32
      apps/meteor/client/views/room/MessageList/components/EncryptedMessageRender.tsx
  8. 23
      apps/meteor/client/views/room/MessageList/components/MessageContent.tsx
  9. 28
      apps/meteor/client/views/room/MessageList/components/MessageContentBody.tsx
  10. 37
      apps/meteor/client/views/room/MessageList/components/MessageRender.tsx
  11. 4
      apps/meteor/client/views/room/MessageList/components/ThreadMessagePreview.tsx
  12. 7
      apps/meteor/client/views/room/MessageList/components/UrlPreview/PreviewList.tsx
  13. 15
      apps/meteor/client/views/room/MessageList/hooks/useParsedMessage.ts
  14. 2
      apps/meteor/ee/app/auditing/client/templates/audit/audit.html
  15. 2
      apps/meteor/ee/server/services/package.json
  16. 4
      apps/meteor/package.json
  17. 12
      packages/core-typings/package.json
  18. 8
      packages/rest-typings/package.json
  19. 101
      yarn.lock

@ -1661,7 +1661,7 @@
padding-bottom: 24px;
}
& ul {
& ul.messages-list {
padding: 21px 0 10px;
}

@ -77,7 +77,7 @@
</div>
{{/with}}
<div class="wrapper {{#if hasMoreNext}}has-more-next{{/if}} {{hideUsername}} {{hideAvatar}}">
<ul aria-live="polite">
<ul class="messages-list" aria-live="polite">
{{#if canPreview}}
{{#if hasMore}}
<li class="load-more">

@ -5,9 +5,9 @@ import Inline from './Inline';
const OrderedList: FC<{ value: ASTOrderedList['value'] }> = ({ value }) => (
<ol>
{value.map((item, index) => (
<li key={index}>
<Inline value={item.value} />
{value.map(({ value, number }, index) => (
<li key={index} value={Number(number)}>
<Inline value={value} />
</li>
))}
</ol>

@ -12,12 +12,6 @@ const PlainText: FC<PlainTextType> = ({ value: text }) => {
const highlights = useMessageListHighlights();
const katex = useMessageListKatex();
// TODO ENG DAY:
// Add style for empty paragraphs in fuselage
if (!text.trim()) {
return <br />;
}
if (highlights || katex) {
return <CustomText text={text} wordsToHighlight={highlights} katex={katex} />;
}

@ -5,8 +5,8 @@ import Inline from './Inline';
const UnorderedList: FC<{ value: ASTUnorderedList['value'] }> = ({ value }) => (
<ul>
{value.map((item) => (
<li>
{value.map((item, index) => (
<li key={index}>
<Inline value={item.value} />
</li>
))}

@ -66,6 +66,10 @@ const MessageBodyRender: FC<BodyProps> = ({
return <Heading value={block.value} level={block.level} key={index} />;
}
if (block.type === 'LINE_BREAK') {
return <br key={index} />;
}
return null;
})}
</MessageBodyContext.Provider>

@ -1,32 +0,0 @@
import { IMessage } from '@rocket.chat/core-typings';
import { parser } from '@rocket.chat/message-parser';
import { useTranslation } from '@rocket.chat/ui-contexts';
import React, { ReactElement, useMemo } from 'react';
import MessageBodyRender from '../../../../components/Message/MessageBodyRender';
import { useMessageActions } from '../../contexts/MessageContext';
const EncryptedMessageRender = ({ message }: { message: IMessage }): ReactElement => {
const tokens = useMemo(() => parser(message.msg), [message.msg]);
const t = useTranslation();
const {
actions: { openUserCard, openRoom },
} = useMessageActions();
if (message.e2e === 'pending') {
return <>{t('E2E_message_encrypted_placeholder')}</>;
}
return (
<MessageBodyRender
onUserMentionClick={openUserCard}
onChannelMentionClick={openRoom}
mentions={message?.mentions || []}
channels={message?.channels || []}
tokens={tokens}
/>
);
};
export default EncryptedMessageRender;

@ -1,9 +1,10 @@
/* eslint-disable complexity */
import { IMessage, isDiscussionMessage, isThreadMainMessage, ISubscription } from '@rocket.chat/core-typings';
import { MessageBody } from '@rocket.chat/fuselage';
import { useUserId, TranslationKey } from '@rocket.chat/ui-contexts';
import { useTranslation, useUserId, TranslationKey } from '@rocket.chat/ui-contexts';
import React, { FC, memo } from 'react';
import { isE2EEMessage } from '../../../../../lib/isE2EEMessage';
import Attachments from '../../../../components/Message/Attachments';
import MessageActions from '../../../../components/Message/MessageActions';
import BroadcastMetric from '../../../../components/Message/Metrics/Broadcast';
@ -16,9 +17,9 @@ import MessageLocation from '../../../location/MessageLocation';
import { useMessageActions, useMessageOembedIsEnabled, useMessageRunActionLink } from '../../contexts/MessageContext';
import { useMessageListShowReadReceipt } from '../contexts/MessageListContext';
import { isOwnUserMessage } from '../lib/isOwnUserMessage';
import MessageContentBody from './MessageContentBody';
import ReactionsList from './MessageReactionsList';
import ReadReceipt from './MessageReadReceipt';
import MessageRender from './MessageRender';
import PreviewList from './UrlPreview';
const MessageContent: FC<{ message: IMessage; sequential: boolean; subscription?: ISubscription; id: IMessage['_id'] }> = ({
@ -30,6 +31,8 @@ const MessageContent: FC<{ message: IMessage; sequential: boolean; subscription?
actions: { openRoom, openThread, replyBroadcast },
} = useMessageActions();
const t = useTranslation();
const runActionLink = useMessageRunActionLink();
const oembedIsEnabled = useMessageOembedIsEnabled();
@ -40,14 +43,22 @@ const MessageContent: FC<{ message: IMessage; sequential: boolean; subscription?
const mineUid = useUserId();
const isEncryptedMessage = isE2EEMessage(message);
return (
<>
<MessageBody data-qa-type='message-body'>
<MessageRender message={message} />
</MessageBody>
{!message.blocks && (
<MessageBody data-qa-type='message-body'>
{!isEncryptedMessage && <MessageContentBody message={message} />}
{isEncryptedMessage && message.e2e === 'done' && <MessageContentBody message={message} />}
{isEncryptedMessage && message.e2e === 'pending' && t('E2E_message_encrypted_placeholder')}
</MessageBody>
)}
{message.blocks && <MessageBlock mid={message._id} blocks={message.blocks} appId rid={message.rid} />}
{message.attachments && <Attachments attachments={message.attachments} file={message.file} />}
{oembedIsEnabled && !!message.urls?.length && <PreviewList urls={message.urls} />}
{message.actionLinks?.length && (
<MessageActions
mid={message._id}
@ -93,8 +104,6 @@ const MessageContent: FC<{ message: IMessage; sequential: boolean; subscription?
<BroadcastMetric replyBroadcast={(): void => replyBroadcast(message)} mid={message._id} username={user.username} />
)}
{oembedIsEnabled && message.urls && <PreviewList urls={message.urls} />}
{shouldShowReadReceipt && <ReadReceipt unread={message.unread} />}
</>
);

@ -0,0 +1,28 @@
/* eslint-disable complexity */
import { IMessage } from '@rocket.chat/core-typings';
import React, { FC, memo } from 'react';
import MessageBodyRender from '../../../../components/Message/MessageBodyRender';
import { useMessageActions } from '../../contexts/MessageContext';
import { useParsedMessage } from '../hooks/useParsedMessage';
const MessageContentBody: FC<{ message: IMessage; isThreadPreview?: boolean }> = ({ message, isThreadPreview }) => {
const {
actions: { openRoom, openUserCard },
} = useMessageActions();
const tokens = useParsedMessage(message);
return (
<MessageBodyRender
onUserMentionClick={openUserCard}
onChannelMentionClick={openRoom}
mentions={message?.mentions || []}
channels={message?.channels || []}
tokens={tokens}
isThreadPreview={isThreadPreview}
/>
);
};
export default memo(MessageContentBody);

@ -1,37 +0,0 @@
/* eslint-disable complexity */
import { IMessage } from '@rocket.chat/core-typings';
import React, { FC, memo } from 'react';
import { isE2EEMessage } from '../../../../../lib/isE2EEMessage';
import MessageBodyRender from '../../../../components/Message/MessageBodyRender';
import { useMessageActions } from '../../contexts/MessageContext';
import EncryptedMessageRender from './EncryptedMessageRender';
const MessageRender: FC<{ message: IMessage; isThreadPreview?: boolean }> = ({ message, isThreadPreview }) => {
const {
actions: { openRoom, openUserCard },
} = useMessageActions();
const isEncryptedMessage = isE2EEMessage(message);
return (
<>
{!isEncryptedMessage && !message.blocks && message.md && (
<MessageBodyRender
onUserMentionClick={openUserCard}
onChannelMentionClick={openRoom}
mentions={message?.mentions || []}
channels={message?.channels || []}
tokens={message.md}
isThreadPreview={isThreadPreview}
/>
)}
{!isEncryptedMessage && !message.blocks && !message.md && message.msg}
{isEncryptedMessage && <EncryptedMessageRender message={message} />}
</>
);
};
export default memo(MessageRender);

@ -20,7 +20,7 @@ import { useMessageActions } from '../../contexts/MessageContext';
import { useIsSelecting, useToggleSelect, useIsSelectedMessage, useCountSelected } from '../contexts/SelectedMessagesContext';
import { useMessageBody } from '../hooks/useMessageBody';
import { useParentMessage } from '../hooks/useParentMessage';
import MessageRender from './MessageRender';
import MessageContentBody from './MessageContentBody';
export const ThreadMessagePreview: FC<{ message: IThreadMessage; sequential: boolean }> = ({ message, sequential, ...props }) => {
const {
@ -60,7 +60,7 @@ export const ThreadMessagePreview: FC<{ message: IThreadMessage; sequential: boo
</ThreadMessageLeftContainer>
<ThreadMessageContainer>
<ThreadMessageBody>
{message.ignored ? t('Message_Ignored') : <MessageRender isThreadPreview message={message} />}
{message.ignored ? t('Message_Ignored') : <MessageContentBody isThreadPreview message={message} />}
</ThreadMessageBody>
</ThreadMessageContainer>
</ThreadMessageRow>

@ -1,7 +1,7 @@
import { Box } from '@rocket.chat/fuselage';
import React, { ReactElement } from 'react';
import { useMessageOembedIsEnabled, useMessageOembedMaxWidth } from '../../../contexts/MessageContext';
import { useMessageOembedMaxWidth } from '../../../contexts/MessageContext';
import OEmbedResolver from './OEmbedResolver';
import UrlPreview from './UrlPreview';
@ -108,11 +108,10 @@ const isPreviewData = (data: PreviewData | false): data is PreviewData => !!data
const isMetaPreview = (_data: PreviewData['data'], type: PreviewTypes): _data is PreviewMetadata => type === 'oembed';
const PreviewList = ({ urls }: PreviewListProps): ReactElement | null => {
const oembedIsEnabled = useMessageOembedIsEnabled();
const oembedWidth = useMessageOembedMaxWidth();
if (!oembedIsEnabled || !urls) {
return null;
if (!urls) {
throw new Error('urls is undefined - PreviewList');
}
const metaAndHeaders = urls.map(processMetaAndHeaders).filter(isPreviewData);

@ -0,0 +1,15 @@
import { IMessage } from '@rocket.chat/core-typings';
import { MarkdownAST, parser } from '@rocket.chat/message-parser';
import { useMemo } from 'react';
export function useParsedMessage(message: IMessage): MarkdownAST {
return useMemo(() => {
if (message.md) {
return message.md;
}
if (!message.msg) {
return [];
}
return parser(message.msg);
}, [message]);
}

@ -3,7 +3,7 @@
{{> loading class="loading-animation--primary"}}
{{else}}
{{#if hasResults}}
<ul aria-live="polite">
<ul class="messages-list" aria-live="polite">
{{#with messageContext}}
{{#each msg in messages}}
{{> nrr nrrargs 'message' shouldCollapseReplies=true msg=msg room=room subscription=subscription settings=settings u=u}}

@ -26,7 +26,7 @@
"@rocket.chat/apps-engine": "^1.31.0",
"@rocket.chat/core-typings": "workspace:^",
"@rocket.chat/emitter": "~0.31.9",
"@rocket.chat/message-parser": "~0.31.9",
"@rocket.chat/message-parser": "next",
"@rocket.chat/rest-typings": "workspace:^",
"@rocket.chat/string-helpers": "~0.31.9",
"@rocket.chat/ui-kit": "~0.31.9",

@ -195,7 +195,7 @@
"@rocket.chat/emitter": "~0.31.11",
"@rocket.chat/forked-matrix-appservice-bridge": "^4.0.1",
"@rocket.chat/forked-matrix-bot-sdk": "^0.6.0-beta.2",
"@rocket.chat/fuselage": "~0.31.11",
"@rocket.chat/fuselage": "0.32.0-dev.40",
"@rocket.chat/fuselage-hooks": "~0.31.11",
"@rocket.chat/fuselage-polyfills": "~0.31.11",
"@rocket.chat/fuselage-tokens": "~0.31.11",
@ -203,7 +203,7 @@
"@rocket.chat/icons": "~0.31.11",
"@rocket.chat/logo": "~0.31.11",
"@rocket.chat/memo": "~0.31.11",
"@rocket.chat/message-parser": "~0.31.11",
"@rocket.chat/message-parser": "0.31.12-dev.10",
"@rocket.chat/mp3-encoder": "^0.24.0",
"@rocket.chat/onboarding-ui": "~0.31.11",
"@rocket.chat/rest-typings": "workspace:^",

@ -3,11 +3,7 @@
"version": "0.0.1",
"private": true,
"devDependencies": {
"@rocket.chat/apps-engine": "^1.31.0",
"@rocket.chat/eslint-config": "workspace:^",
"@rocket.chat/icons": "^0.31.9",
"@rocket.chat/message-parser": "^0.31.6",
"@rocket.chat/ui-kit": "^0.31.6",
"@types/mongodb": "^3.6.10",
"eslint": "^8.12.0",
"prettier": "^2.6.2",
@ -23,5 +19,11 @@
"typings": "./dist/index.d.ts",
"files": [
"/dist"
]
],
"dependencies": {
"@rocket.chat/apps-engine": "^1.31.0",
"@rocket.chat/icons": "^0.31.9",
"@rocket.chat/message-parser": "next",
"@rocket.chat/ui-kit": "^0.31.6"
}
}

@ -3,11 +3,7 @@
"version": "0.0.1",
"private": true,
"devDependencies": {
"@rocket.chat/apps-engine": "^1.31.0",
"@rocket.chat/core-typings": "workspace:^",
"@rocket.chat/eslint-config": "workspace:^",
"@rocket.chat/message-parser": "^0.31.6",
"@rocket.chat/ui-kit": "^0.31.6",
"@types/jest": "^27.4.1",
"@types/mongodb": "^3.6.10",
"eslint": "^8.12.0",
@ -27,6 +23,10 @@
"/dist"
],
"dependencies": {
"@rocket.chat/apps-engine": "^1.31.0",
"@rocket.chat/core-typings": "workspace:^",
"@rocket.chat/message-parser": "next",
"@rocket.chat/ui-kit": "^0.31.6",
"ajv": "^8.11.0"
}
}

@ -3621,7 +3621,7 @@ __metadata:
"@rocket.chat/apps-engine": ^1.31.0
"@rocket.chat/eslint-config": "workspace:^"
"@rocket.chat/icons": ^0.31.9
"@rocket.chat/message-parser": ^0.31.6
"@rocket.chat/message-parser": next
"@rocket.chat/ui-kit": ^0.31.6
"@types/mongodb": ^3.6.10
eslint: ^8.12.0
@ -3643,6 +3643,19 @@ __metadata:
languageName: node
linkType: hard
"@rocket.chat/css-in-js@npm:~0.31.12-dev.15":
version: 0.31.12-dev.15
resolution: "@rocket.chat/css-in-js@npm:0.31.12-dev.15"
dependencies:
"@emotion/hash": ^0.8.0
"@rocket.chat/css-supports": ~0.31.12-dev.15
"@rocket.chat/memo": ~0.31.12-dev.15
"@rocket.chat/stylis-logical-props-middleware": ~0.31.12-dev.15
stylis: ~4.0.13
checksum: c770ac1fa5141501c7719bd42eb656c3e6149963f2214dbf07ba15fb6b58f4521fac8d8de01b1faea854c8b46c54b9f7f8f77a4b165ed7fcdf2bb90cc45d092c
languageName: node
linkType: hard
"@rocket.chat/css-supports@npm:^0.31.11":
version: 0.31.11
resolution: "@rocket.chat/css-supports@npm:0.31.11"
@ -3652,6 +3665,15 @@ __metadata:
languageName: node
linkType: hard
"@rocket.chat/css-supports@npm:~0.31.12-dev.15":
version: 0.31.12-dev.15
resolution: "@rocket.chat/css-supports@npm:0.31.12-dev.15"
dependencies:
"@rocket.chat/memo": ~0.31.12-dev.15
checksum: e3a9c01d4a6953992d46c23b87e617ab66ff7eb7d71ef0103a6e3a0af7503bee8d20a1188be0ef6cfb71b65320857229302e5cb00a417762bbe5033b983d43b7
languageName: node
linkType: hard
"@rocket.chat/ddp-streamer@workspace:ee/apps/ddp-streamer":
version: 0.0.0-use.local
resolution: "@rocket.chat/ddp-streamer@workspace:ee/apps/ddp-streamer"
@ -3818,6 +3840,13 @@ __metadata:
languageName: node
linkType: hard
"@rocket.chat/fuselage-tokens@npm:~0.31.12-dev.15":
version: 0.31.12-dev.15
resolution: "@rocket.chat/fuselage-tokens@npm:0.31.12-dev.15"
checksum: 3d2c8dca1a52da36460606f42a31a3e1c5765acae9e96bf3591dd7972bdf58ac10dda0dd5f37962592c126ab2d1c113485ecaddfc7320d505081d125f067c31b
languageName: node
linkType: hard
"@rocket.chat/fuselage-ui-kit@npm:~0.31.11":
version: 0.31.11
resolution: "@rocket.chat/fuselage-ui-kit@npm:0.31.11"
@ -3836,7 +3865,29 @@ __metadata:
languageName: node
linkType: hard
"@rocket.chat/fuselage@npm:^0.31.11, @rocket.chat/fuselage@npm:~0.31.11":
"@rocket.chat/fuselage@npm:0.32.0-dev.40":
version: 0.32.0-dev.40
resolution: "@rocket.chat/fuselage@npm:0.32.0-dev.40"
dependencies:
"@rocket.chat/css-in-js": ~0.31.12-dev.15
"@rocket.chat/css-supports": ~0.31.12-dev.15
"@rocket.chat/fuselage-tokens": ~0.31.12-dev.15
"@rocket.chat/memo": ~0.31.12-dev.15
"@rocket.chat/styled": ~0.31.12-dev.15
invariant: ^2.2.4
react-keyed-flatten-children: ^1.3.0
peerDependencies:
"@rocket.chat/fuselage-hooks": "*"
"@rocket.chat/fuselage-polyfills": "*"
"@rocket.chat/icons": "*"
react: ^17.0.2
react-dom: ^17.0.2
react-virtuoso: 1.2.4
checksum: 3bf1406c4353e70dcbb4f5acc5ad5347f6a5cfa18cda83494306ff3f764abb24f574b28262163e9fd32c36a3a71a5297aad02d7d650b58a0d7900a122dba5b76
languageName: node
linkType: hard
"@rocket.chat/fuselage@npm:^0.31.11":
version: 0.31.11
resolution: "@rocket.chat/fuselage@npm:0.31.11"
dependencies:
@ -3974,17 +4025,17 @@ __metadata:
languageName: node
linkType: hard
"@rocket.chat/message-parser@npm:^0.31.6, @rocket.chat/message-parser@npm:~0.31.9":
version: 0.31.9
resolution: "@rocket.chat/message-parser@npm:0.31.9"
checksum: 1ffe8f5d2a93d7d532e14e3ab466ecc713e6d6420b48494404e69415147d0e42d55c2bd80f03bbb7bd711c73b7c3aed96c2e11dc89abc383cbd381ef70ece41c
"@rocket.chat/memo@npm:~0.31.12-dev.15":
version: 0.31.12-dev.15
resolution: "@rocket.chat/memo@npm:0.31.12-dev.15"
checksum: 38b532a89f35c5418d4f2bc0f6c87ee30151711505b5da82e43294eb3780b99740dfc3c2a713a7667956cd8e0313b009c9b370cd60e8d2e9cc8f2d4ea53d2f34
languageName: node
linkType: hard
"@rocket.chat/message-parser@npm:~0.31.11":
version: 0.31.11
resolution: "@rocket.chat/message-parser@npm:0.31.11"
checksum: 551ec5bcc68b125acaea92f22327ec3af11552d2e7dc9f88b9428b8d99cf4c39c9f87e0e4f622493c5086e7b5b418c4a724ade23d6072edd9bed4fdc0c9332e1
"@rocket.chat/message-parser@npm:0.31.12-dev.10, @rocket.chat/message-parser@npm:next":
version: 0.31.12-dev.10
resolution: "@rocket.chat/message-parser@npm:0.31.12-dev.10"
checksum: 5d302792ab2988750b3b4c7ce4cf0aa42ec18bded9eb1179ec3ab8d9aa26d0ed0a1817cf2d60990dc61941b0ba39ba53396daa1fc36b1323e43110910ca40a62
languageName: node
linkType: hard
@ -4016,7 +4067,7 @@ __metadata:
"@rocket.chat/eslint-config": "workspace:^"
"@rocket.chat/forked-matrix-appservice-bridge": ^4.0.1
"@rocket.chat/forked-matrix-bot-sdk": ^0.6.0-beta.2
"@rocket.chat/fuselage": ~0.31.11
"@rocket.chat/fuselage": 0.32.0-dev.40
"@rocket.chat/fuselage-hooks": ~0.31.11
"@rocket.chat/fuselage-polyfills": ~0.31.11
"@rocket.chat/fuselage-tokens": ~0.31.11
@ -4025,7 +4076,7 @@ __metadata:
"@rocket.chat/livechat": "workspace:^"
"@rocket.chat/logo": ~0.31.11
"@rocket.chat/memo": ~0.31.11
"@rocket.chat/message-parser": ~0.31.11
"@rocket.chat/message-parser": 0.31.12-dev.10
"@rocket.chat/mp3-encoder": ^0.24.0
"@rocket.chat/onboarding-ui": ~0.31.11
"@rocket.chat/rest-typings": "workspace:^"
@ -4322,7 +4373,7 @@ __metadata:
"@rocket.chat/apps-engine": ^1.31.0
"@rocket.chat/core-typings": "workspace:^"
"@rocket.chat/eslint-config": "workspace:^"
"@rocket.chat/message-parser": ^0.31.6
"@rocket.chat/message-parser": next
"@rocket.chat/ui-kit": ^0.31.6
"@types/jest": ^27.4.1
"@types/mongodb": ^3.6.10
@ -4375,6 +4426,16 @@ __metadata:
languageName: node
linkType: hard
"@rocket.chat/styled@npm:~0.31.12-dev.15":
version: 0.31.12-dev.15
resolution: "@rocket.chat/styled@npm:0.31.12-dev.15"
dependencies:
"@rocket.chat/css-in-js": ~0.31.12-dev.15
tslib: ^2.3.1
checksum: 74a9a147bab652ba4ddebad5d89da369d41a2b7305790f5e2e3b771d8199361162ff1ce623eaffab45487e4328fd27c1ffb270e12ad66ff5eb5dda5ddf109a48
languageName: node
linkType: hard
"@rocket.chat/stylis-logical-props-middleware@npm:^0.31.11":
version: 0.31.11
resolution: "@rocket.chat/stylis-logical-props-middleware@npm:0.31.11"
@ -4387,6 +4448,18 @@ __metadata:
languageName: node
linkType: hard
"@rocket.chat/stylis-logical-props-middleware@npm:~0.31.12-dev.15":
version: 0.31.12-dev.15
resolution: "@rocket.chat/stylis-logical-props-middleware@npm:0.31.12-dev.15"
dependencies:
"@rocket.chat/css-supports": ~0.31.12-dev.15
tslib: ^2.3.1
peerDependencies:
stylis: 4.0.10
checksum: 5f91ea19904c6fefd352b412681a0c6f68d5824874c300584c64b83cbcc1cc90ed10b0a11d0ad5ccfcf32f7662ff2d1a68c5502277425aa92c271a8faf0d1092
languageName: node
linkType: hard
"@rocket.chat/ui-contexts@workspace:^, @rocket.chat/ui-contexts@workspace:packages/ui-contexts":
version: 0.0.0-use.local
resolution: "@rocket.chat/ui-contexts@workspace:packages/ui-contexts"
@ -28995,7 +29068,7 @@ __metadata:
"@rocket.chat/core-typings": "workspace:^"
"@rocket.chat/emitter": ~0.31.9
"@rocket.chat/icons": ^0.31.0
"@rocket.chat/message-parser": ~0.31.9
"@rocket.chat/message-parser": next
"@rocket.chat/rest-typings": "workspace:^"
"@rocket.chat/string-helpers": ~0.31.9
"@rocket.chat/ui-kit": ~0.31.9

Loading…
Cancel
Save