Skip to content

Commit 775a07f

Browse files
💄 style: Update EmojiPicker style
1 parent f146368 commit 775a07f

File tree

4 files changed

+59
-5
lines changed

4 files changed

+59
-5
lines changed

src/EmojiPicker/EmojiPicker.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@ const EmojiPicker = memo<EmojiPickerProps>(
4343
open,
4444
defaultOpen = false,
4545
onOpenChange,
46+
popupProps,
4647
...rest
4748
}) => {
4849
const ref = useRef<HTMLDivElement>(null);
@@ -159,9 +160,10 @@ const EmojiPicker = memo<EmojiPickerProps>(
159160
setVisible(v);
160161
}}
161162
open={visible}
162-
placement={'bottomRight'}
163+
placement={'bottomLeft'}
163164
rootClassName={styles.popover}
164165
trigger={['click']}
166+
{...popupProps}
165167
>
166168
{customRender ? (
167169
customRender(ava)

src/EmojiPicker/type.ts

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { PopoverProps } from 'antd';
12
import { CSSProperties, ReactNode } from 'react';
23

34
import type { AvatarProps } from '@/Avatar/type';
@@ -41,6 +42,10 @@ export interface EmojiPickerProps extends Omit<AvatarProps, 'onChange' | 'avatar
4142
onUpload?: AvatarUploaderProps['onUpload'];
4243
open?: boolean;
4344
popupClassName?: string;
45+
popupProps?: Omit<
46+
PopoverProps,
47+
'onOpenChange' | 'defaultOpen' | 'content' | 'open' | 'rootClassName' | 'trigger'
48+
>;
4449
popupStyle?: CSSProperties;
4550
size?: number;
4651
texts?: AvatarUploaderProps['texts'] & {
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
'use client';
2+
3+
import { ConfigProvider as AntdConfigProvider } from 'antd';
4+
import { useTheme } from 'antd-style';
5+
import { PropsWithChildren, memo } from 'react';
6+
7+
const ConfigProvider = memo<PropsWithChildren>(({ children }) => {
8+
const theme = useTheme();
9+
return (
10+
<AntdConfigProvider
11+
theme={{
12+
components: {
13+
Button: {
14+
contentFontSizeSM: 12,
15+
},
16+
DatePicker: {
17+
activeBorderColor: theme.colorBorder,
18+
hoverBorderColor: theme.colorBorder,
19+
},
20+
Input: {
21+
activeBorderColor: theme.colorBorder,
22+
hoverBorderColor: theme.colorBorder,
23+
},
24+
InputNumber: {
25+
activeBorderColor: theme.colorBorder,
26+
hoverBorderColor: theme.colorBorder,
27+
},
28+
Mentions: {
29+
activeBorderColor: theme.colorBorder,
30+
hoverBorderColor: theme.colorBorder,
31+
},
32+
Select: {
33+
activeBorderColor: theme.colorBorder,
34+
hoverBorderColor: theme.colorBorder,
35+
},
36+
},
37+
}}
38+
>
39+
{children}
40+
</AntdConfigProvider>
41+
);
42+
});
43+
44+
export default ConfigProvider;

src/ThemeProvider/ThemeProvider.tsx

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ import { lobeCustomStylish, lobeCustomToken } from '@/styles';
1616
import { createLobeAntdTheme } from '@/styles/theme/antdTheme';
1717
import { LobeCustomToken } from '@/types/customToken';
1818

19+
import ConfigProvider from './ConfigProvider';
1920
import GlobalStyle from './GlobalStyle';
2021
import type { ThemeProviderProps } from './type';
2122

@@ -85,10 +86,12 @@ const ThemeProvider = memo<ThemeProviderProps>(
8586
theme={theme}
8687
{...rest}
8788
>
88-
{enableGlobalStyle && <GlobalStyle />}
89-
<App className={className} style={{ minHeight: 'inherit', width: 'inherit', ...style }}>
90-
{children}
91-
</App>
89+
<ConfigProvider>
90+
{enableGlobalStyle && <GlobalStyle />}
91+
<App className={className} style={{ minHeight: 'inherit', width: 'inherit', ...style }}>
92+
{children}
93+
</App>
94+
</ConfigProvider>
9295
</AntdThemeProvider>
9396
</>
9497
);

0 commit comments

Comments
 (0)