@dxos/react-ui-thread 0.8.3 → 0.8.4-main.2e9d522
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/browser/index.mjs +22 -18
- package/dist/lib/browser/index.mjs.map +3 -3
- package/dist/lib/browser/meta.json +1 -1
- package/dist/types/src/Message/Message.stories.d.ts +14 -14
- package/dist/types/src/Thread/Comments.stories.d.ts +14 -14
- package/dist/types/src/Thread/Comments.stories.d.ts.map +1 -1
- package/dist/types/src/Thread/Thread.d.ts +10 -7
- package/dist/types/src/Thread/Thread.d.ts.map +1 -1
- package/dist/types/src/Thread/Thread.stories.d.ts +4 -26
- package/dist/types/src/Thread/Thread.stories.d.ts.map +1 -1
- package/dist/types/src/index.d.ts +2 -2
- package/dist/types/src/index.d.ts.map +1 -1
- package/dist/types/src/testing.d.ts +1 -2
- package/dist/types/src/testing.d.ts.map +1 -1
- package/dist/types/src/translations.d.ts +15 -16
- package/dist/types/src/translations.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/package.json +14 -16
- package/src/Message/Message.stories.tsx +7 -7
- package/src/Thread/Comments.stories.tsx +16 -19
- package/src/Thread/Thread.stories.tsx +15 -11
- package/src/Thread/Thread.tsx +34 -15
- package/src/index.ts +2 -2
- package/src/testing.tsx +3 -8
- package/src/translations.ts +5 -3
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
//
|
|
2
|
-
var translationKey = "thread";
|
|
3
|
-
var
|
|
1
|
+
// src/translations.ts
|
|
2
|
+
var translationKey = "react-ui-thread";
|
|
3
|
+
var translations = [
|
|
4
4
|
{
|
|
5
5
|
"en-US": {
|
|
6
6
|
[translationKey]: {
|
|
@@ -19,14 +19,13 @@ var translations_default = [
|
|
|
19
19
|
}
|
|
20
20
|
];
|
|
21
21
|
|
|
22
|
-
//
|
|
22
|
+
// src/Thread/Thread.tsx
|
|
23
23
|
import { useSignals as _useSignals } from "@preact-signals/safe-react/tracking";
|
|
24
|
-
import { CaretDoubleRight, Spinner } from "@phosphor-icons/react";
|
|
25
24
|
import React, { forwardRef } from "react";
|
|
26
|
-
import { useTranslation } from "@dxos/react-ui";
|
|
25
|
+
import { Icon, useTranslation } from "@dxos/react-ui";
|
|
27
26
|
import { hoverableControlItem, hoverableFocusedWithinControls, mx } from "@dxos/react-ui-theme";
|
|
28
27
|
var threadLayout = "is-full place-self-start grid grid-cols-[var(--rail-size)_1fr]";
|
|
29
|
-
var
|
|
28
|
+
var ThreadRoot = /* @__PURE__ */ forwardRef(({ current, children, classNames, ...props }, forwardedRef) => {
|
|
30
29
|
var _effect = _useSignals();
|
|
31
30
|
try {
|
|
32
31
|
return /* @__PURE__ */ React.createElement("div", {
|
|
@@ -36,20 +35,22 @@ var Thread = /* @__PURE__ */ forwardRef(({ current, children, classNames, ...pro
|
|
|
36
35
|
"aria-current": typeof current === "string" ? current : "location"
|
|
37
36
|
},
|
|
38
37
|
...props,
|
|
39
|
-
className: mx(threadLayout, hoverableFocusedWithinControls, "
|
|
38
|
+
className: mx(threadLayout, hoverableFocusedWithinControls, "bg-[var(--surface-bg)] current-related attention-surface [--controls-opacity:0]", classNames),
|
|
40
39
|
ref: forwardedRef
|
|
41
40
|
}, children);
|
|
42
41
|
} finally {
|
|
43
42
|
_effect.f();
|
|
44
43
|
}
|
|
45
44
|
});
|
|
46
|
-
var
|
|
45
|
+
var ThreadHeader = /* @__PURE__ */ forwardRef(({ classNames, children, detached, ...props }, forwardedRef) => {
|
|
47
46
|
var _effect = _useSignals();
|
|
48
47
|
try {
|
|
49
48
|
return /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement("div", {
|
|
50
49
|
role: "none",
|
|
51
50
|
className: "flex items-center justify-center text-description"
|
|
52
|
-
}, /* @__PURE__ */ React.createElement(
|
|
51
|
+
}, /* @__PURE__ */ React.createElement(Icon, {
|
|
52
|
+
icon: "ph--caret-double-right--regular"
|
|
53
|
+
})), /* @__PURE__ */ React.createElement("div", {
|
|
53
54
|
role: "none",
|
|
54
55
|
className: "flex items-center overflow-hidden"
|
|
55
56
|
}, /* @__PURE__ */ React.createElement("p", {
|
|
@@ -63,7 +64,7 @@ var ThreadHeading = /* @__PURE__ */ forwardRef(({ classNames, children, detached
|
|
|
63
64
|
_effect.f();
|
|
64
65
|
}
|
|
65
66
|
});
|
|
66
|
-
var
|
|
67
|
+
var ThreadStatus = /* @__PURE__ */ forwardRef(({ activity, classNames, children, ...props }, forwardedRef) => {
|
|
67
68
|
var _effect = _useSignals();
|
|
68
69
|
try {
|
|
69
70
|
const { t } = useTranslation(translationKey);
|
|
@@ -71,10 +72,10 @@ var ThreadFooter = /* @__PURE__ */ forwardRef(({ activity, classNames, children,
|
|
|
71
72
|
...props,
|
|
72
73
|
className: mx("col-start-2 grid grid-cols-[min-content_1fr_max-content] pb-2 pie-2 text-xs text-description", classNames),
|
|
73
74
|
ref: forwardedRef
|
|
74
|
-
}, /* @__PURE__ */ React.createElement(
|
|
75
|
-
|
|
75
|
+
}, /* @__PURE__ */ React.createElement(Icon, {
|
|
76
|
+
icon: "ph--spinner--bold",
|
|
76
77
|
"data-visible": activity ? "show" : "hide",
|
|
77
|
-
|
|
78
|
+
classNames: "is-6 bs-4 invisible data-[visible=show]:visible animate-spin-slow"
|
|
78
79
|
}), /* @__PURE__ */ React.createElement("span", {
|
|
79
80
|
className: "truncate min-is-0",
|
|
80
81
|
"aria-live": "polite"
|
|
@@ -85,8 +86,13 @@ var ThreadFooter = /* @__PURE__ */ forwardRef(({ activity, classNames, children,
|
|
|
85
86
|
_effect.f();
|
|
86
87
|
}
|
|
87
88
|
});
|
|
89
|
+
var Thread = {
|
|
90
|
+
Root: ThreadRoot,
|
|
91
|
+
Header: ThreadHeader,
|
|
92
|
+
Status: ThreadStatus
|
|
93
|
+
};
|
|
88
94
|
|
|
89
|
-
//
|
|
95
|
+
// src/Message/Message.tsx
|
|
90
96
|
import { useSignals as _useSignals2 } from "@preact-signals/safe-react/tracking";
|
|
91
97
|
import { formatDistanceToNow } from "date-fns/formatDistanceToNow";
|
|
92
98
|
import React2, { forwardRef as forwardRef2 } from "react";
|
|
@@ -255,9 +261,7 @@ export {
|
|
|
255
261
|
MessageTextbox,
|
|
256
262
|
MessageTime,
|
|
257
263
|
Thread,
|
|
258
|
-
ThreadFooter,
|
|
259
|
-
ThreadHeading,
|
|
260
264
|
threadLayout,
|
|
261
|
-
|
|
265
|
+
translations
|
|
262
266
|
};
|
|
263
267
|
//# sourceMappingURL=index.mjs.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../src/translations.ts", "../../../src/Thread/Thread.tsx", "../../../src/Message/Message.tsx"],
|
|
4
|
-
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nexport const translationKey = 'thread';\n\nexport
|
|
5
|
-
"mappings": ";
|
|
6
|
-
"names": ["translationKey", "
|
|
4
|
+
"sourcesContent": ["//\n// Copyright 2023 DXOS.org\n//\n\nimport { type Resource } from '@dxos/react-ui';\n\nexport const translationKey = 'react-ui-thread';\n\nexport const translations = [\n {\n 'en-US': {\n [translationKey]: {\n 'plugin name': 'Threads',\n 'thread title placeholder': 'New thread',\n 'thread title label': 'Title',\n 'delete thread label': 'Delete',\n 'create thread label': 'Create thread',\n 'message placeholder': 'Enter message...',\n 'comment placeholder': 'Enter comment...',\n 'settings standalone label': 'Enable standalone thread creation',\n 'anonymous label': 'Anonymous',\n 'enter to send message': 'Enter to add ⏎',\n },\n },\n },\n] as const satisfies Resource[];\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport React, { type ComponentPropsWithRef, forwardRef } from 'react';\n\nimport { Icon, type ThemedClassName, useTranslation } from '@dxos/react-ui';\nimport { hoverableControlItem, hoverableFocusedWithinControls, mx } from '@dxos/react-ui-theme';\n\nimport { translationKey } from '../translations';\nimport type { ThreadEntity } from '../types';\n\n// TODO(burdon): Why is this exported?\nexport const threadLayout = 'is-full place-self-start grid grid-cols-[var(--rail-size)_1fr]';\n\n//\n// Root\n//\n\ntype ThreadRootProps = ThemedClassName<ComponentPropsWithRef<'div'>> & ThreadEntity & { current?: boolean };\n\nconst ThreadRoot = forwardRef<HTMLDivElement, ThreadRootProps>(\n ({ current, children, classNames, ...props }, forwardedRef) => {\n return (\n <div\n role='group'\n data-testid='thread'\n {...(current && { 'aria-current': typeof current === 'string' ? current : 'location' })}\n {...props}\n className={mx(\n threadLayout,\n hoverableFocusedWithinControls,\n 'bg-[var(--surface-bg)] current-related attention-surface [--controls-opacity:0]',\n classNames,\n )}\n ref={forwardedRef}\n >\n {children}\n </div>\n );\n },\n);\n\n//\n// Heading\n//\n\ntype ThreadHeaderProps = ThemedClassName<ComponentPropsWithRef<'div'>> & { detached?: boolean };\n\nconst ThreadHeader = forwardRef<HTMLParagraphElement, ThreadHeaderProps>(\n ({ classNames, children, detached, ...props }, forwardedRef) => {\n return (\n <>\n <div role='none' className='flex items-center justify-center text-description'>\n <Icon icon='ph--caret-double-right--regular' />\n </div>\n <div role='none' className='flex items-center overflow-hidden'>\n <p\n role='heading'\n data-testid='thread.heading'\n {...props}\n className={mx(\n 'mie-2 text-description font-medium truncate italic',\n detached && 'line-through decoration-1',\n )}\n ref={forwardedRef}\n >\n {children}\n </p>\n </div>\n </>\n );\n },\n);\n\n//\n// Status\n//\n\ntype ThreadStatusProps = ThemedClassName<ComponentPropsWithRef<'div'>> & {\n activity?: boolean;\n};\n\nconst ThreadStatus = forwardRef<HTMLDivElement, ThreadStatusProps>(\n ({ activity, classNames, children, ...props }, forwardedRef) => {\n const { t } = useTranslation(translationKey);\n return (\n <div\n {...props}\n className={mx(\n 'col-start-2 grid grid-cols-[min-content_1fr_max-content] pb-2 pie-2 text-xs text-description',\n classNames,\n )}\n ref={forwardedRef}\n >\n <Icon\n icon='ph--spinner--bold'\n data-visible={activity ? 'show' : 'hide'}\n classNames='is-6 bs-4 invisible data-[visible=show]:visible animate-spin-slow'\n />\n <span className='truncate min-is-0' aria-live='polite'>\n {activity ? children : null}\n </span>\n <span className={mx('text-end', hoverableControlItem)}>{t('enter to send message')}</span>\n </div>\n );\n },\n);\n\nexport const Thread = {\n Root: ThreadRoot,\n Header: ThreadHeader,\n Status: ThreadStatus,\n};\n\nexport type { ThreadRootProps, ThreadHeaderProps as ThreadHeadingProps, ThreadStatusProps };\n", "//\n// Copyright 2023 DXOS.org\n//\n\nimport { formatDistanceToNow } from 'date-fns/formatDistanceToNow';\nimport React, { type ComponentPropsWithRef, forwardRef, type ComponentPropsWithoutRef } from 'react';\n\n// TODO(burdon): Remove dep.\nimport { Avatar, type ThemedClassName, useTranslation } from '@dxos/react-ui';\nimport { type UseTextEditorProps, keymap, listener, useTextEditor } from '@dxos/react-ui-editor';\nimport { focusRing, mx } from '@dxos/react-ui-theme';\nimport { hexToEmoji, hexToHue, isNotFalsy } from '@dxos/util';\n\nimport { translationKey } from '../translations';\nimport { type MessageMetadata } from '../types';\n\nconst avatarSize = 7;\n\nexport type MessageRootProps = ThemedClassName<ComponentPropsWithRef<'div'>> &\n MessageMetadata &\n Partial<{ continues: boolean }>;\n\nexport const MessageRoot = forwardRef<HTMLDivElement, MessageRootProps>(\n (\n { authorImgSrc, authorId, authorName, authorAvatarProps, continues = true, children, classNames, ...rootProps },\n forwardedRef,\n ) => {\n return (\n // Must wrap the message since Avatar.Label may be used in the content.\n <Avatar.Root>\n <div\n role='none'\n data-testid='thread.message'\n {...rootProps}\n className={mx('grid grid-cols-subgrid col-span-2', classNames)}\n ref={forwardedRef}\n >\n <div role='none' className='flex flex-col items-center gap-2 pbs-2'>\n <Avatar.Content\n size={avatarSize}\n hue={authorAvatarProps?.hue || hexToHue(authorId ?? '0')}\n fallback={authorAvatarProps?.emoji || hexToEmoji(authorId ?? '0')}\n {...(authorImgSrc && { imgSrc: authorImgSrc })}\n />\n {continues && <div role='none' className='is-px grow bg-separator' />}\n </div>\n <div role='none' className='plb-1 min-is-0'>\n {children}\n </div>\n </div>\n </Avatar.Root>\n );\n },\n);\n\nexport type MessageHeadingProps = ThemedClassName<ComponentPropsWithoutRef<'div'>> &\n Pick<MessageMetadata, 'authorName' | 'timestamp'>;\n\nexport const MessageHeading = ({ children, classNames, timestamp, authorName, ...props }: MessageHeadingProps) => {\n return (\n <div role='none' {...props} className={mx('flex gap-2 items-start', classNames)}>\n <p className='grow'>\n <MessageAuthorName authorName={authorName} />\n {timestamp && <MessageTime timestamp={timestamp} />}\n </p>\n {children}\n </div>\n );\n};\n\nexport type MessageAuthorNameProps = Pick<MessageMetadata, 'authorName'>;\n\nexport const MessageAuthorName = ({ authorName }: MessageAuthorNameProps) => {\n const { t } = useTranslation(translationKey);\n return (\n <Avatar.Label classNames='block truncate text-sm text-subdued'>{authorName ?? t('anonymous label')}</Avatar.Label>\n );\n};\n\nexport type MessageTimeProps = Pick<MessageMetadata, 'timestamp'>;\n\nexport const MessageTime = ({ timestamp }: MessageTimeProps) => {\n const { dtLocale } = useTranslation(translationKey);\n const dt = timestamp ? new Date(timestamp) : undefined;\n return (\n <time className='block text-subdued text-xs pbe-0.5' dateTime={dt?.toISOString()}>\n {dt ? formatDistanceToNow(dt, { locale: dtLocale, addSuffix: true }) : ''}\n </time>\n );\n};\n\nexport type MessageBodyProps = ComponentPropsWithoutRef<'p'>;\n\nexport const MessageBody = ({ children, ...props }: MessageBodyProps) => {\n return <p {...props}>{children}</p>;\n};\n\nexport type MessageTextboxProps = {\n disabled?: boolean;\n onSend?: () => void;\n onClear?: () => void;\n onEditorFocus?: () => void;\n} & MessageMetadata &\n UseTextEditorProps;\n\nconst keyBindings = ({ onSend, onClear }: Pick<MessageTextboxProps, 'onSend' | 'onClear'>) => [\n {\n key: 'Enter',\n run: () => {\n if (onSend) {\n onSend();\n return true;\n } else {\n return false;\n }\n },\n },\n {\n // TODO(burdon): Other key bindings.\n key: 'Meta+Backspace',\n run: () => {\n if (onClear) {\n onClear();\n return true;\n } else {\n return false;\n }\n },\n },\n];\n\nexport const MessageTextbox = ({\n id,\n authorId,\n authorName,\n authorImgSrc,\n authorAvatarProps,\n disabled,\n extensions,\n onSend,\n onClear,\n onEditorFocus,\n ...editorProps\n}: MessageTextboxProps) => {\n const { parentRef, focusAttributes } = useTextEditor(\n () => ({\n id,\n extensions: [\n keymap.of(keyBindings({ onSend, onClear })),\n listener({\n onFocus: (focusing) => {\n if (focusing) {\n onEditorFocus?.();\n }\n },\n }),\n extensions,\n ].filter(isNotFalsy),\n ...editorProps,\n }),\n [id, extensions],\n );\n\n return (\n <MessageRoot {...{ id, authorId, authorName, authorImgSrc, authorAvatarProps }} continues={false}>\n <div\n role='none'\n ref={parentRef}\n className={mx('plb-0.5 mie-1 rounded-sm', focusRing, disabled && 'opacity-50')}\n {...focusAttributes}\n />\n </MessageRoot>\n );\n};\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
|
+
"names": ["translationKey", "translations", "React", "forwardRef", "Icon", "useTranslation", "hoverableControlItem", "hoverableFocusedWithinControls", "mx", "threadLayout", "ThreadRoot", "forwardRef", "current", "children", "classNames", "props", "forwardedRef", "div", "role", "data-testid", "className", "mx", "hoverableFocusedWithinControls", "ref", "ThreadHeader", "detached", "Icon", "icon", "p", "ThreadStatus", "activity", "t", "useTranslation", "translationKey", "data-visible", "span", "aria-live", "hoverableControlItem", "Thread", "Root", "Header", "Status", "formatDistanceToNow", "React", "forwardRef", "Avatar", "useTranslation", "keymap", "listener", "useTextEditor", "focusRing", "mx", "hexToEmoji", "hexToHue", "isNotFalsy", "avatarSize", "MessageRoot", "forwardRef", "authorImgSrc", "authorId", "authorName", "authorAvatarProps", "continues", "children", "classNames", "rootProps", "forwardedRef", "React", "Avatar", "Root", "div", "role", "data-testid", "className", "mx", "ref", "Content", "size", "hue", "hexToHue", "fallback", "emoji", "hexToEmoji", "imgSrc", "MessageHeading", "timestamp", "props", "p", "MessageAuthorName", "MessageTime", "t", "useTranslation", "translationKey", "Label", "dtLocale", "dt", "Date", "undefined", "time", "dateTime", "toISOString", "formatDistanceToNow", "locale", "addSuffix", "MessageBody", "keyBindings", "onSend", "onClear", "key", "run", "MessageTextbox", "id", "disabled", "extensions", "onEditorFocus", "editorProps", "parentRef", "focusAttributes", "useTextEditor", "keymap", "of", "listener", "onFocus", "focusing", "filter", "isNotFalsy", "focusRing"]
|
|
7
7
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"inputs":{"
|
|
1
|
+
{"inputs":{"src/translations.ts":{"bytes":2466,"imports":[],"format":"esm"},"src/Thread/Thread.tsx":{"bytes":10365,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"../translations"}],"format":"esm"},"src/Thread/index.ts":{"bytes":459,"imports":[{"path":"src/Thread/Thread.tsx","kind":"import-statement","original":"./Thread"}],"format":"esm"},"src/Message/Message.tsx":{"bytes":17557,"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"date-fns/formatDistanceToNow","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true},{"path":"src/translations.ts","kind":"import-statement","original":"../translations"}],"format":"esm"},"src/Message/index.ts":{"bytes":461,"imports":[{"path":"src/Message/Message.tsx","kind":"import-statement","original":"./Message"}],"format":"esm"},"src/index.ts":{"bytes":839,"imports":[{"path":"src/translations.ts","kind":"import-statement","original":"./translations"},{"path":"src/Thread/index.ts","kind":"import-statement","original":"./Thread"},{"path":"src/Message/index.ts","kind":"import-statement","original":"./Message"}],"format":"esm"}},"outputs":{"dist/lib/browser/index.mjs.map":{"imports":[],"exports":[],"inputs":{},"bytes":15296},"dist/lib/browser/index.mjs":{"imports":[{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@preact-signals/safe-react/tracking","kind":"import-statement","external":true},{"path":"date-fns/formatDistanceToNow","kind":"import-statement","external":true},{"path":"react","kind":"import-statement","external":true},{"path":"@dxos/react-ui","kind":"import-statement","external":true},{"path":"@dxos/react-ui-editor","kind":"import-statement","external":true},{"path":"@dxos/react-ui-theme","kind":"import-statement","external":true},{"path":"@dxos/util","kind":"import-statement","external":true}],"exports":["MessageAuthorName","MessageBody","MessageHeading","MessageRoot","MessageTextbox","MessageTime","Thread","threadLayout","translations"],"entryPoint":"src/index.ts","inputs":{"src/translations.ts":{"bytesInOutput":610},"src/Thread/Thread.tsx":{"bytesInOutput":2950},"src/Thread/index.ts":{"bytesInOutput":0},"src/index.ts":{"bytesInOutput":0},"src/Message/Message.tsx":{"bytesInOutput":4934},"src/Message/index.ts":{"bytesInOutput":0}},"bytes":8761}}}
|
|
@@ -6,22 +6,22 @@ declare const _default: {
|
|
|
6
6
|
render: () => React.JSX.Element;
|
|
7
7
|
decorators: import("@storybook/react").Decorator[];
|
|
8
8
|
parameters: {
|
|
9
|
-
translations: {
|
|
10
|
-
'en-US': {
|
|
11
|
-
thread: {
|
|
12
|
-
'plugin name':
|
|
13
|
-
'thread title placeholder':
|
|
14
|
-
'thread title label':
|
|
15
|
-
'delete thread label':
|
|
16
|
-
'create thread label':
|
|
17
|
-
'message placeholder':
|
|
18
|
-
'comment placeholder':
|
|
19
|
-
'settings standalone label':
|
|
20
|
-
'anonymous label':
|
|
21
|
-
'enter to send message':
|
|
9
|
+
translations: [{
|
|
10
|
+
readonly 'en-US': {
|
|
11
|
+
readonly "react-ui-thread": {
|
|
12
|
+
readonly 'plugin name': "Threads";
|
|
13
|
+
readonly 'thread title placeholder': "New thread";
|
|
14
|
+
readonly 'thread title label': "Title";
|
|
15
|
+
readonly 'delete thread label': "Delete";
|
|
16
|
+
readonly 'create thread label': "Create thread";
|
|
17
|
+
readonly 'message placeholder': "Enter message...";
|
|
18
|
+
readonly 'comment placeholder': "Enter comment...";
|
|
19
|
+
readonly 'settings standalone label': "Enable standalone thread creation";
|
|
20
|
+
readonly 'anonymous label': "Anonymous";
|
|
21
|
+
readonly 'enter to send message': "Enter to add ⏎";
|
|
22
22
|
};
|
|
23
23
|
};
|
|
24
|
-
}
|
|
24
|
+
}];
|
|
25
25
|
};
|
|
26
26
|
};
|
|
27
27
|
export default _default;
|
|
@@ -24,22 +24,22 @@ declare const _default: {
|
|
|
24
24
|
decorators: import("@storybook/react").Decorator[];
|
|
25
25
|
render: (args: StoryProps) => React.JSX.Element;
|
|
26
26
|
parameters: {
|
|
27
|
-
translations: {
|
|
28
|
-
'en-US': {
|
|
29
|
-
thread: {
|
|
30
|
-
'plugin name':
|
|
31
|
-
'thread title placeholder':
|
|
32
|
-
'thread title label':
|
|
33
|
-
'delete thread label':
|
|
34
|
-
'create thread label':
|
|
35
|
-
'message placeholder':
|
|
36
|
-
'comment placeholder':
|
|
37
|
-
'settings standalone label':
|
|
38
|
-
'anonymous label':
|
|
39
|
-
'enter to send message':
|
|
27
|
+
translations: [{
|
|
28
|
+
readonly 'en-US': {
|
|
29
|
+
readonly "react-ui-thread": {
|
|
30
|
+
readonly 'plugin name': "Threads";
|
|
31
|
+
readonly 'thread title placeholder': "New thread";
|
|
32
|
+
readonly 'thread title label': "Title";
|
|
33
|
+
readonly 'delete thread label': "Delete";
|
|
34
|
+
readonly 'create thread label': "Create thread";
|
|
35
|
+
readonly 'message placeholder': "Enter message...";
|
|
36
|
+
readonly 'comment placeholder': "Enter comment...";
|
|
37
|
+
readonly 'settings standalone label': "Enable standalone thread creation";
|
|
38
|
+
readonly 'anonymous label': "Anonymous";
|
|
39
|
+
readonly 'enter to send message': "Enter to add ⏎";
|
|
40
40
|
};
|
|
41
41
|
};
|
|
42
|
-
}
|
|
42
|
+
}];
|
|
43
43
|
layout: string;
|
|
44
44
|
};
|
|
45
45
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Comments.stories.d.ts","sourceRoot":"","sources":["../../../../src/Thread/Comments.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Comments.stories.d.ts","sourceRoot":"","sources":["../../../../src/Thread/Comments.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAErB,OAAO,KAAwD,MAAM,OAAO,CAAC;AAS7E,OAAO,EAGL,KAAK,KAAK,EASX,MAAM,uBAAuB,CAAC;AAM/B,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,YAAY,CAAC;AAqEhD,KAAK,kBAAkB,GAAG;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,aAAa,EAAE,CAAC;CAC3B,CAAC;AAwHF,KAAK,UAAU,GAAG;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,CAAC;;;;gBAxHQ,kBAAkB;kBAChB,OAAO;kBACP,MAAM,IAAI;mBACT,MAAM,IAAI;;;mBAgPN,UAAU;;;;;;;;;;;;;;;;;;;;;AAJ3B,wBAME;AAIF,eAAO,MAAM,OAAO;;;;CASnB,CAAC"}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
1
|
import React, { type ComponentPropsWithRef } from 'react';
|
|
2
2
|
import { type ThemedClassName } from '@dxos/react-ui';
|
|
3
3
|
import type { ThreadEntity } from '../types';
|
|
4
|
-
export
|
|
4
|
+
export declare const threadLayout = "is-full place-self-start grid grid-cols-[var(--rail-size)_1fr]";
|
|
5
|
+
type ThreadRootProps = ThemedClassName<ComponentPropsWithRef<'div'>> & ThreadEntity & {
|
|
5
6
|
current?: boolean;
|
|
6
7
|
};
|
|
7
|
-
|
|
8
|
-
export declare const Thread: React.ForwardRefExoticComponent<Omit<ThreadProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
9
|
-
export type ThreadHeadingProps = ThemedClassName<ComponentPropsWithRef<'div'>> & {
|
|
8
|
+
type ThreadHeaderProps = ThemedClassName<ComponentPropsWithRef<'div'>> & {
|
|
10
9
|
detached?: boolean;
|
|
11
10
|
};
|
|
12
|
-
|
|
13
|
-
export type ThreadFooterProps = ThemedClassName<ComponentPropsWithRef<'div'>> & {
|
|
11
|
+
type ThreadStatusProps = ThemedClassName<ComponentPropsWithRef<'div'>> & {
|
|
14
12
|
activity?: boolean;
|
|
15
13
|
};
|
|
16
|
-
export declare const
|
|
14
|
+
export declare const Thread: {
|
|
15
|
+
Root: React.ForwardRefExoticComponent<Omit<ThreadRootProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
16
|
+
Header: React.ForwardRefExoticComponent<Omit<ThreadHeaderProps, "ref"> & React.RefAttributes<HTMLParagraphElement>>;
|
|
17
|
+
Status: React.ForwardRefExoticComponent<Omit<ThreadStatusProps, "ref"> & React.RefAttributes<HTMLDivElement>>;
|
|
18
|
+
};
|
|
19
|
+
export type { ThreadRootProps, ThreadHeaderProps as ThreadHeadingProps, ThreadStatusProps };
|
|
17
20
|
//# sourceMappingURL=Thread.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../../../../src/Thread/Thread.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"Thread.d.ts","sourceRoot":"","sources":["../../../../src/Thread/Thread.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,EAAE,KAAK,qBAAqB,EAAc,MAAM,OAAO,CAAC;AAEtE,OAAO,EAAQ,KAAK,eAAe,EAAkB,MAAM,gBAAgB,CAAC;AAI5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAG7C,eAAO,MAAM,YAAY,mEAAmE,CAAC;AAM7F,KAAK,eAAe,GAAG,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAAG,YAAY,GAAG;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AA4B5G,KAAK,iBAAiB,GAAG,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAAG;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAgChG,KAAK,iBAAiB,GAAG,eAAe,CAAC,qBAAqB,CAAC,KAAK,CAAC,CAAC,GAAG;IACvE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AA4BF,eAAO,MAAM,MAAM;;;;CAIlB,CAAC;AAEF,YAAY,EAAE,eAAe,EAAE,iBAAiB,IAAI,kBAAkB,EAAE,iBAAiB,EAAE,CAAC"}
|
|
@@ -1,29 +1,7 @@
|
|
|
1
1
|
import '@dxos-theme';
|
|
2
|
-
import
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
render: () => React.JSX.Element;
|
|
7
|
-
decorators: import("@storybook/react").Decorator[];
|
|
8
|
-
parameters: {
|
|
9
|
-
translations: {
|
|
10
|
-
'en-US': {
|
|
11
|
-
thread: {
|
|
12
|
-
'plugin name': string;
|
|
13
|
-
'thread title placeholder': string;
|
|
14
|
-
'thread title label': string;
|
|
15
|
-
'delete thread label': string;
|
|
16
|
-
'create thread label': string;
|
|
17
|
-
'message placeholder': string;
|
|
18
|
-
'comment placeholder': string;
|
|
19
|
-
'settings standalone label': string;
|
|
20
|
-
'anonymous label': string;
|
|
21
|
-
'enter to send message': string;
|
|
22
|
-
};
|
|
23
|
-
};
|
|
24
|
-
}[];
|
|
25
|
-
};
|
|
26
|
-
};
|
|
27
|
-
export default _default;
|
|
2
|
+
import { type Meta } from '@dxos/storybook-utils';
|
|
3
|
+
import { Thread } from './Thread';
|
|
4
|
+
declare const meta: Meta<typeof Thread.Root>;
|
|
5
|
+
export default meta;
|
|
28
6
|
export declare const Default: {};
|
|
29
7
|
//# sourceMappingURL=Thread.stories.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Thread.stories.d.ts","sourceRoot":"","sources":["../../../../src/Thread/Thread.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"Thread.stories.d.ts","sourceRoot":"","sources":["../../../../src/Thread/Thread.stories.tsx"],"names":[],"mappings":"AAIA,OAAO,aAAa,CAAC;AAQrB,OAAO,EAAE,KAAK,IAAI,EAAyB,MAAM,uBAAuB,CAAC;AAEzE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAqElC,QAAA,MAAM,IAAI,EAAE,IAAI,CAAC,OAAO,MAAM,CAAC,IAAI,CAMlC,CAAC;AAEF,eAAe,IAAI,CAAC;AAEpB,eAAO,MAAM,OAAO,IAAK,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import translations from './translations';
|
|
1
|
+
import { translations } from './translations';
|
|
2
2
|
export * from './Thread';
|
|
3
3
|
export * from './Message';
|
|
4
|
-
export * from './types';
|
|
4
|
+
export type * from './types';
|
|
5
5
|
export { translations };
|
|
6
6
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,YAAY,MAAM,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAE9C,cAAc,UAAU,CAAC;AACzB,cAAc,WAAW,CAAC;AAC1B,mBAAmB,SAAS,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import React
|
|
1
|
+
import React from 'react';
|
|
2
2
|
import { type MessageMetadata } from './types';
|
|
3
3
|
export type MessageEntity<PartValue = any> = MessageMetadata & {
|
|
4
4
|
text: string;
|
|
@@ -13,5 +13,4 @@ export type MessagePartProps<PartValue> = {
|
|
|
13
13
|
part: PartValue;
|
|
14
14
|
};
|
|
15
15
|
export declare const MessageStoryBlock: <PartValue>({ part }: MessagePartProps<PartValue>) => React.JSX.Element;
|
|
16
|
-
export declare const ThreadStoryContainer: ({ children }: PropsWithChildren) => React.JSX.Element;
|
|
17
16
|
//# sourceMappingURL=testing.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/testing.tsx"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../../src/testing.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,OAAO,EAAE,KAAK,eAAe,EAAE,MAAM,SAAS,CAAC;AAE/C,MAAM,MAAM,aAAa,CAAC,SAAS,GAAG,GAAG,IAAI,eAAe,GAAG;IAC7D,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACrB,CAAC;AAEF,MAAM,MAAM,gBAAgB,GAAG,eAAe,GAAG;IAC/C,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB,CAAC;AAEF,eAAO,MAAM,gBAAgB,GAAI,2CAA2C,gBAAgB,sBAiB3F,CAAC;AAEF,MAAM,MAAM,gBAAgB,CAAC,SAAS,IAAI;IACxC,IAAI,EAAE,SAAS,CAAC;CACjB,CAAC;AAEF,eAAO,MAAM,iBAAiB,GAAI,SAAS,EAAG,UAAU,gBAAgB,CAAC,SAAS,CAAC,sBAWlF,CAAC"}
|
|
@@ -1,19 +1,18 @@
|
|
|
1
|
-
export declare const translationKey = "thread";
|
|
2
|
-
declare const
|
|
3
|
-
'en-US': {
|
|
4
|
-
thread: {
|
|
5
|
-
'plugin name':
|
|
6
|
-
'thread title placeholder':
|
|
7
|
-
'thread title label':
|
|
8
|
-
'delete thread label':
|
|
9
|
-
'create thread label':
|
|
10
|
-
'message placeholder':
|
|
11
|
-
'comment placeholder':
|
|
12
|
-
'settings standalone label':
|
|
13
|
-
'anonymous label':
|
|
14
|
-
'enter to send message':
|
|
1
|
+
export declare const translationKey = "react-ui-thread";
|
|
2
|
+
export declare const translations: [{
|
|
3
|
+
readonly 'en-US': {
|
|
4
|
+
readonly "react-ui-thread": {
|
|
5
|
+
readonly 'plugin name': "Threads";
|
|
6
|
+
readonly 'thread title placeholder': "New thread";
|
|
7
|
+
readonly 'thread title label': "Title";
|
|
8
|
+
readonly 'delete thread label': "Delete";
|
|
9
|
+
readonly 'create thread label': "Create thread";
|
|
10
|
+
readonly 'message placeholder': "Enter message...";
|
|
11
|
+
readonly 'comment placeholder': "Enter comment...";
|
|
12
|
+
readonly 'settings standalone label': "Enable standalone thread creation";
|
|
13
|
+
readonly 'anonymous label': "Anonymous";
|
|
14
|
+
readonly 'enter to send message': "Enter to add ⏎";
|
|
15
15
|
};
|
|
16
16
|
};
|
|
17
|
-
}
|
|
18
|
-
export default _default;
|
|
17
|
+
}];
|
|
19
18
|
//# sourceMappingURL=translations.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"translations.d.ts","sourceRoot":"","sources":["../../../src/translations.ts"],"names":[],"mappings":"AAMA,eAAO,MAAM,cAAc,oBAAoB,CAAC;AAEhD,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;EAiBM,CAAC"}
|