diff --git a/packages/ui/src/components/base/EmojiIcon/index.tsx b/packages/ui/src/components/base/EmojiIcon/index.tsx index 7c3f968a7..5a772215a 100644 --- a/packages/ui/src/components/base/EmojiIcon/index.tsx +++ b/packages/ui/src/components/base/EmojiIcon/index.tsx @@ -17,15 +17,13 @@ const EmojiIcon: FC = ({ emoji, className = '', size = 26, fontS height: `${size}px`, borderRadius: `${size / 2}px`, fontSize: `${fontSize}px` - }} - > + }}>
+ }}> {emoji || 'โญ๏ธ'}
{emoji} diff --git a/packages/ui/src/components/display/ExpandableText/index.tsx b/packages/ui/src/components/display/ExpandableText/index.tsx index 6d7d67721..1e13fd1d1 100644 --- a/packages/ui/src/components/display/ExpandableText/index.tsx +++ b/packages/ui/src/components/display/ExpandableText/index.tsx @@ -21,38 +21,29 @@ const ExpandableText = ({ lineClamp = 1, ref }: ExpandableTextProps) => { - const [isExpanded, setIsExpanded] = useState(false) + const [isExpanded, setIsExpanded] = useState(false) - const toggleExpand = useCallback(() => { - setIsExpanded((prev) => !prev) - }, []) + const toggleExpand = useCallback(() => { + setIsExpanded((prev) => !prev) + }, []) - return ( + return ( +
-
- {text} -
- + className={`overflow-hidden ${ + isExpanded ? '' : lineClamp === 1 ? 'text-ellipsis whitespace-nowrap' : `line-clamp-${lineClamp}` + } ${isExpanded ? '' : 'flex-1'}`}> + {text}
- ) - } + +
+ ) +} ExpandableText.displayName = 'ExpandableText' diff --git a/packages/ui/src/components/display/ProviderAvatar/index.tsx b/packages/ui/src/components/display/ProviderAvatar/index.tsx index 980ac0254..084c9180c 100644 --- a/packages/ui/src/components/display/ProviderAvatar/index.tsx +++ b/packages/ui/src/components/display/ProviderAvatar/index.tsx @@ -53,9 +53,7 @@ export const ProviderAvatar: React.FC = ({
-
- {customLogo} -
+
{customLogo}
) } diff --git a/packages/ui/stories/components/display/EmojiAvatar.stories.tsx b/packages/ui/stories/components/display/EmojiAvatar.stories.tsx index 9698b4ea8..affce714d 100644 --- a/packages/ui/stories/components/display/EmojiAvatar.stories.tsx +++ b/packages/ui/stories/components/display/EmojiAvatar.stories.tsx @@ -60,10 +60,32 @@ export const Sizes: Story = { export const VariousEmojis: Story = { render: (args) => (
- {['๐Ÿ˜€', '๐Ÿ˜Ž', '๐Ÿฅณ', '๐Ÿค”', '๐Ÿ˜ด', '๐Ÿคฏ', - 'โค๏ธ', '๐Ÿ”ฅ', 'โœจ', '๐ŸŽ‰', '๐ŸŽฏ', '๐Ÿš€', - '๐ŸŒŸ', '๐ŸŒˆ', 'โ˜€๏ธ', '๐ŸŒธ', '๐Ÿ•', '๐ŸŽจ', - '๐Ÿ“š', '๐Ÿ’ก', '๐Ÿ”ง', '๐ŸŽฎ', '๐ŸŽต', '๐Ÿ†'].map((emoji) => ( + {[ + '๐Ÿ˜€', + '๐Ÿ˜Ž', + '๐Ÿฅณ', + '๐Ÿค”', + '๐Ÿ˜ด', + '๐Ÿคฏ', + 'โค๏ธ', + '๐Ÿ”ฅ', + 'โœจ', + '๐ŸŽ‰', + '๐ŸŽฏ', + '๐Ÿš€', + '๐ŸŒŸ', + '๐ŸŒˆ', + 'โ˜€๏ธ', + '๐ŸŒธ', + '๐Ÿ•', + '๐ŸŽจ', + '๐Ÿ“š', + '๐Ÿ’ก', + '๐Ÿ”ง', + '๐ŸŽฎ', + '๐ŸŽต', + '๐Ÿ†' + ].map((emoji) => ( ))}
@@ -103,30 +125,10 @@ export const Interactive: Story = { export const CustomStyles: Story = { render: (args) => (
- - - - + + + +
) } @@ -156,9 +158,32 @@ export const Grid: Story = {

้€‰ๆ‹ฉไฝ ็š„ๅฟƒๆƒ…

- {['๐Ÿ˜Š', '๐Ÿ˜‚', '๐Ÿ˜', '๐Ÿค”', '๐Ÿ˜Ž', '๐Ÿ˜ด', '๐Ÿ˜ญ', '๐Ÿ˜ก', - '๐Ÿค—', '๐Ÿ˜', '๐Ÿ˜…', '๐Ÿ˜Œ', '๐Ÿ™„', '๐Ÿ˜ฎ', '๐Ÿ˜', '๐Ÿ˜ฏ', - '๐Ÿ˜ช', '๐Ÿ˜ซ', '๐Ÿฅฑ', '๐Ÿ˜ค', '๐Ÿ˜ข', '๐Ÿ˜ฅ', '๐Ÿ˜ฐ', '๐Ÿคฏ'].map((emoji) => ( + {[ + '๐Ÿ˜Š', + '๐Ÿ˜‚', + '๐Ÿ˜', + '๐Ÿค”', + '๐Ÿ˜Ž', + '๐Ÿ˜ด', + '๐Ÿ˜ญ', + '๐Ÿ˜ก', + '๐Ÿค—', + '๐Ÿ˜', + '๐Ÿ˜…', + '๐Ÿ˜Œ', + '๐Ÿ™„', + '๐Ÿ˜ฎ', + '๐Ÿ˜', + '๐Ÿ˜ฏ', + '๐Ÿ˜ช', + '๐Ÿ˜ซ', + '๐Ÿฅฑ', + '๐Ÿ˜ค', + '๐Ÿ˜ข', + '๐Ÿ˜ฅ', + '๐Ÿ˜ฐ', + '๐Ÿคฏ' + ].map((emoji) => (
) -} \ No newline at end of file +} diff --git a/packages/ui/stories/components/display/ExpandableText.stories.tsx b/packages/ui/stories/components/display/ExpandableText.stories.tsx index a9ebb942b..3f73cb82f 100644 --- a/packages/ui/stories/components/display/ExpandableText.stories.tsx +++ b/packages/ui/stories/components/display/ExpandableText.stories.tsx @@ -39,9 +39,11 @@ const meta: Meta = { export default meta type Story = StoryObj -const longText = 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.' +const longText = + 'Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.' -const chineseText = '่ฟ™ๆ˜ฏไธ€ๆฎตๅพˆ้•ฟ็š„ไธญๆ–‡ๆ–‡ๆœฌๅ†…ๅฎน๏ผŒ็”จไบŽๆต‹่ฏ•ๆ–‡ๆœฌๅฑ•ๅผ€ๅ’Œๆ”ถ่ตทๅŠŸ่ƒฝใ€‚ๅฝ“ๆ–‡ๆœฌๅ†…ๅฎน่ถ…่ฟ‡ๆŒ‡ๅฎš็š„่กŒๆ•ฐ้™ๅˆถๆ—ถ๏ผŒไผšๆ˜พ็คบ็œ็•ฅๅท๏ผŒ็”จๆˆทๅฏไปฅ็‚นๅ‡ปๅฑ•ๅผ€ๆŒ‰้’ฎๆŸฅ็œ‹ๅฎŒๆ•ดๅ†…ๅฎน๏ผŒไนŸๅฏไปฅ็‚นๅ‡ปๆ”ถ่ตทๆŒ‰้’ฎๅฐ†ๆ–‡ๆœฌ้‡ๆ–ฐๆ”ถ่ตทใ€‚่ฟ™ไธช็ป„ไปถๅœจๆ˜พ็คบ้•ฟๆ–‡ๆœฌๅ†…ๅฎนๆ—ถ้žๅธธๆœ‰็”จใ€‚' +const chineseText = + '่ฟ™ๆ˜ฏไธ€ๆฎตๅพˆ้•ฟ็š„ไธญๆ–‡ๆ–‡ๆœฌๅ†…ๅฎน๏ผŒ็”จไบŽๆต‹่ฏ•ๆ–‡ๆœฌๅฑ•ๅผ€ๅ’Œๆ”ถ่ตทๅŠŸ่ƒฝใ€‚ๅฝ“ๆ–‡ๆœฌๅ†…ๅฎน่ถ…่ฟ‡ๆŒ‡ๅฎš็š„่กŒๆ•ฐ้™ๅˆถๆ—ถ๏ผŒไผšๆ˜พ็คบ็œ็•ฅๅท๏ผŒ็”จๆˆทๅฏไปฅ็‚นๅ‡ปๅฑ•ๅผ€ๆŒ‰้’ฎๆŸฅ็œ‹ๅฎŒๆ•ดๅ†…ๅฎน๏ผŒไนŸๅฏไปฅ็‚นๅ‡ปๆ”ถ่ตทๆŒ‰้’ฎๅฐ†ๆ–‡ๆœฌ้‡ๆ–ฐๆ”ถ่ตทใ€‚่ฟ™ไธช็ป„ไปถๅœจๆ˜พ็คบ้•ฟๆ–‡ๆœฌๅ†…ๅฎนๆ—ถ้žๅธธๆœ‰็”จใ€‚' // ๅŸบ็ก€็”จๆณ• export const Default: Story = { @@ -196,4 +198,4 @@ export const CustomStyle: Story = { className: 'bg-blue-50 p-4 rounded-lg', style: { fontStyle: 'italic' } } -} \ No newline at end of file +}