@arcblock/ux 2.13.6 → 2.13.8
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/lib/Colors/index.d.ts +3 -1
- package/lib/Colors/index.js +4 -2
- package/lib/Config/config-provider.d.ts +7 -7
- package/lib/Config/config-provider.js +1 -1
- package/lib/Theme/theme.d.ts +7 -41
- package/lib/Theme/theme.js +50 -132
- package/lib/UserCard/Cards/avatar-only.d.ts +3 -2
- package/lib/UserCard/Cards/basic-info.d.ts +3 -2
- package/lib/UserCard/Cards/basic-info.js +12 -6
- package/lib/UserCard/Cards/index.d.ts +3 -2
- package/lib/UserCard/Cards/name-only.d.ts +4 -2
- package/lib/UserCard/Cards/name-only.js +3 -2
- package/lib/UserCard/Container/dialog.js +1 -1
- package/lib/UserCard/Content/basic.d.ts +2 -1
- package/lib/UserCard/Content/basic.js +195 -67
- package/lib/UserCard/Content/minimal.d.ts +2 -2
- package/lib/UserCard/Content/minimal.js +2 -0
- package/lib/UserCard/Content/tooltip-avatar.d.ts +4 -4
- package/lib/UserCard/Content/tooltip-avatar.js +4 -3
- package/lib/UserCard/components.d.ts +2 -2
- package/lib/UserCard/components.js +9 -3
- package/lib/UserCard/index.js +36 -4
- package/lib/UserCard/types.d.ts +7 -4
- package/lib/UserCard/utils.d.ts +2 -0
- package/lib/UserCard/utils.js +33 -0
- package/lib/type.d.ts +2 -3
- package/lib/withTheme/index.d.ts +2 -3
- package/package.json +6 -5
- package/src/Colors/index.ts +7 -2
- package/src/Config/config-provider.tsx +9 -9
- package/src/Theme/theme.ts +55 -166
- package/src/UserCard/Cards/avatar-only.tsx +3 -2
- package/src/UserCard/Cards/basic-info.tsx +17 -5
- package/src/UserCard/Cards/index.tsx +3 -2
- package/src/UserCard/Cards/name-only.tsx +4 -4
- package/src/UserCard/Container/dialog.tsx +1 -1
- package/src/UserCard/Content/basic.tsx +191 -57
- package/src/UserCard/Content/minimal.tsx +4 -3
- package/src/UserCard/Content/tooltip-avatar.tsx +10 -5
- package/src/UserCard/components.tsx +17 -7
- package/src/UserCard/index.tsx +41 -3
- package/src/UserCard/types.ts +11 -4
- package/src/UserCard/utils.ts +33 -0
- package/src/type.d.ts +2 -3
- package/src/withTheme/index.tsx +2 -3
package/lib/Colors/index.d.ts
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
-
|
1
|
+
import type { Theme } from '@mui/material';
|
2
|
+
declare const colors: Theme["palette"];
|
3
|
+
export default colors;
|
2
4
|
export { default as temp } from './themes/temp';
|
3
5
|
export { default as didConnectColors } from './themes/did-connect';
|
package/lib/Colors/index.js
CHANGED
@@ -1,4 +1,6 @@
|
|
1
|
-
|
2
|
-
|
1
|
+
import { BLOCKLET_THEME_LIGHT } from '@blocklet/theme';
|
2
|
+
// @compatibility
|
3
|
+
const colors = BLOCKLET_THEME_LIGHT.palette;
|
4
|
+
export default colors;
|
3
5
|
export { default as temp } from './themes/temp';
|
4
6
|
export { default as didConnectColors } from './themes/did-connect';
|
@@ -1,18 +1,18 @@
|
|
1
1
|
import { ReactNode } from 'react';
|
2
|
+
import { type PaletteMode } from '@mui/material';
|
2
3
|
import type { ThemeOptions } from '@mui/material/styles';
|
3
4
|
import { LocaleProviderProps } from '../Locale/context';
|
4
5
|
import { ThemeProviderProps } from '../Theme/theme-provider';
|
5
|
-
import { ThemeMode } from '../type';
|
6
6
|
export interface ConfigContextType {
|
7
|
-
mode:
|
7
|
+
mode: PaletteMode;
|
8
8
|
themeOptions: ThemeOptions;
|
9
9
|
toggleMode: () => void;
|
10
10
|
}
|
11
|
-
export declare function isThemeRecord(theme: ThemeOptions | Record<
|
11
|
+
export declare function isThemeRecord(theme: ThemeOptions | Record<PaletteMode, ThemeOptions>): theme is Record<PaletteMode, ThemeOptions>;
|
12
12
|
export interface ConfigProviderProps extends Omit<LocaleProviderProps, 'translations'>, Omit<ThemeProviderProps, 'theme'> {
|
13
13
|
children: ReactNode;
|
14
|
-
prefer?:
|
15
|
-
theme?: ThemeOptions | Record<
|
14
|
+
prefer?: PaletteMode;
|
15
|
+
theme?: ThemeOptions | Record<PaletteMode, ThemeOptions>;
|
16
16
|
disableBlockletTheme?: boolean;
|
17
17
|
translations?: Record<string, any>;
|
18
18
|
}
|
@@ -24,7 +24,7 @@ export declare namespace ConfigProvider {
|
|
24
24
|
var useConfig: typeof import("./config-provider").useConfig;
|
25
25
|
}
|
26
26
|
export declare function useConfig(): {
|
27
|
-
mode:
|
27
|
+
mode: PaletteMode;
|
28
28
|
themeOptions: ThemeOptions;
|
29
29
|
toggleMode: () => void;
|
30
30
|
locale: import("../type").Locale;
|
@@ -34,5 +34,5 @@ export declare function useConfig(): {
|
|
34
34
|
code: string;
|
35
35
|
name: string;
|
36
36
|
}[];
|
37
|
-
theme: import("@mui/material
|
37
|
+
theme: import("@mui/material").Theme;
|
38
38
|
};
|
package/lib/Theme/theme.d.ts
CHANGED
@@ -1,54 +1,20 @@
|
|
1
|
-
import {
|
1
|
+
import type { PaletteMode } from '@mui/material';
|
2
|
+
import { type ThemeOptions } from '@mui/material/styles';
|
2
3
|
import { deepmerge } from '@mui/utils';
|
3
|
-
import type { Typography } from '@mui/material/styles/createTypography';
|
4
|
-
import { ThemeMode } from '../type';
|
5
4
|
import '@fontsource/roboto/latin-400.css';
|
6
5
|
import '@fontsource/roboto/latin-500.css';
|
7
6
|
import '@fontsource/roboto/latin-700.css';
|
8
7
|
import '@fontsource/roboto/latin-ext-400.css';
|
9
8
|
import '@fontsource/roboto/latin-ext-500.css';
|
10
9
|
import '@fontsource/roboto/latin-ext-700.css';
|
11
|
-
declare module '@mui/material/styles' {
|
12
|
-
interface Theme {
|
13
|
-
mode?: ThemeMode;
|
14
|
-
themeName?: string;
|
15
|
-
pageWidth?: string;
|
16
|
-
colors?: Record<string, string>;
|
17
|
-
typography: Typography & {
|
18
|
-
useNextVariants: boolean;
|
19
|
-
color: Record<string, string>;
|
20
|
-
button: {
|
21
|
-
fontWeight?: number;
|
22
|
-
};
|
23
|
-
};
|
24
|
-
}
|
25
|
-
interface ThemeOptions {
|
26
|
-
themeName?: string;
|
27
|
-
mode?: ThemeMode;
|
28
|
-
pageWidth?: string;
|
29
|
-
colors?: Record<string, string>;
|
30
|
-
/** @deprecated 请使用 components */
|
31
|
-
overrides?: Components<Omit<Theme, 'components'>>;
|
32
|
-
}
|
33
|
-
interface TypeText {
|
34
|
-
hint: string;
|
35
|
-
}
|
36
|
-
}
|
37
|
-
declare module '@mui/material/styles/createTypography' {
|
38
|
-
interface TypographyOptions {
|
39
|
-
useNextVariants?: boolean;
|
40
|
-
color?: Record<string, string>;
|
41
|
-
}
|
42
|
-
}
|
43
10
|
export declare function collectFontFamilies(obj?: {
|
44
11
|
fontFamily?: string;
|
45
12
|
}, fontSet?: Set<string>): Set<string>;
|
46
13
|
export declare function loadFonts(fonts: string[]): Promise<boolean>;
|
47
|
-
export declare function createDefaultThemeOptions(mode?:
|
48
|
-
export
|
14
|
+
export declare function createDefaultThemeOptions(mode?: PaletteMode): ThemeOptions;
|
15
|
+
export interface UserThemeOptions extends ThemeOptions {
|
49
16
|
disableBlockletTheme?: boolean;
|
50
|
-
}
|
51
|
-
export declare const
|
52
|
-
|
53
|
-
}) => import("@mui/material/styles").Theme;
|
17
|
+
}
|
18
|
+
export declare const create: (...args: UserThemeOptions[]) => import("@mui/material").Theme;
|
19
|
+
export declare const createTheme: (...args: UserThemeOptions[]) => import("@mui/material").Theme;
|
54
20
|
export { deepmerge };
|
package/lib/Theme/theme.js
CHANGED
@@ -1,9 +1,10 @@
|
|
1
1
|
/* eslint-disable no-shadow */
|
2
2
|
// https://app.zeplin.io/styleguide/5d1436f1e97c2156f49c0725/colors
|
3
|
+
|
3
4
|
import { createTheme as _createTheme, responsiveFontSizes } from '@mui/material/styles';
|
4
5
|
import { deepmerge } from '@mui/utils';
|
5
6
|
import webfontloader from 'webfontloader';
|
6
|
-
import
|
7
|
+
import { BLOCKLET_THEME_LIGHT, BLOCKLET_THEME_DARK, DEFAULT_FONTS } from '@blocklet/theme';
|
7
8
|
import { cleanedObj } from '../Util';
|
8
9
|
|
9
10
|
// 默认只加载最基本的 roboto latin 字体
|
@@ -14,17 +15,6 @@ import '@fontsource/roboto/latin-ext-400.css';
|
|
14
15
|
import '@fontsource/roboto/latin-ext-500.css';
|
15
16
|
import '@fontsource/roboto/latin-ext-700.css';
|
16
17
|
|
17
|
-
// 扩展 Theme
|
18
|
-
|
19
|
-
// 扩展 TypographyOptions
|
20
|
-
|
21
|
-
// 默认深色主题
|
22
|
-
const defaultDarkTheme = _createTheme({
|
23
|
-
palette: {
|
24
|
-
mode: 'dark'
|
25
|
-
}
|
26
|
-
});
|
27
|
-
|
28
18
|
// 收集字体配置
|
29
19
|
export function collectFontFamilies(obj, fontSet = new Set()) {
|
30
20
|
if (!obj || typeof obj !== 'object') return fontSet;
|
@@ -40,8 +30,7 @@ export function collectFontFamilies(obj, fontSet = new Set()) {
|
|
40
30
|
}
|
41
31
|
|
42
32
|
// 动态加载字体
|
43
|
-
const
|
44
|
-
const prevFonts = new Set(defaultFonts.concat('inherit')); // inherit 属于 MUI 特殊值,无需动态加载
|
33
|
+
const prevFonts = new Set(DEFAULT_FONTS.concat('inherit')); // inherit 属于 MUI 特殊值,无需动态加载
|
45
34
|
export function loadFonts(fonts) {
|
46
35
|
// 过滤出未加载的字体
|
47
36
|
const unloadedFonts = fonts.filter(font => !prevFonts.has(font));
|
@@ -74,103 +63,21 @@ export function loadFonts(fonts) {
|
|
74
63
|
|
75
64
|
// 创建默认主题配置
|
76
65
|
export function createDefaultThemeOptions(mode = 'light') {
|
77
|
-
const result = {
|
78
|
-
palette: {
|
79
|
-
mode,
|
80
|
-
...colors,
|
81
|
-
background: {
|
82
|
-
paper: colors.common.white,
|
83
|
-
default: colors.background.default
|
84
|
-
}
|
85
|
-
},
|
86
|
-
typography: {
|
87
|
-
fontFamily: defaultFonts.join(','),
|
88
|
-
useNextVariants: true,
|
89
|
-
color: {
|
90
|
-
// 此处 #222222 必须硬编码, layout/sidebar.js -> Icon/image 加载图片时 color 会影响加载路径
|
91
|
-
// TODO: 此处硬编码的色值后面需要改为 colors.grey[900],
|
92
|
-
// 或者如果可以的话直接删掉 typography#color, 文本颜色建议使用 theme.palette.text 中的色值?
|
93
|
-
// layout 组件建议重构, sidebar 中建议使用 icon 替换 img (#366)
|
94
|
-
main: mode === 'light' ? '#222222' : colors.common.white,
|
95
|
-
gray: mode === 'light' ? colors.grey[500] : colors.grey[300]
|
96
|
-
},
|
97
|
-
// button 默认使用粗体
|
98
|
-
button: {
|
99
|
-
fontWeight: 700
|
100
|
-
}
|
101
|
-
},
|
102
|
-
components: {
|
103
|
-
MuiButton: {
|
104
|
-
styleOverrides: {
|
105
|
-
root: {
|
106
|
-
boxShadow: 'none'
|
107
|
-
}
|
108
|
-
}
|
109
|
-
},
|
110
|
-
MuiButtonGroup: {
|
111
|
-
styleOverrides: {
|
112
|
-
root: {
|
113
|
-
boxShadow: 'none'
|
114
|
-
}
|
115
|
-
}
|
116
|
-
},
|
117
|
-
MuiTableCell: {
|
118
|
-
styleOverrides: {
|
119
|
-
root: ({
|
120
|
-
ownerState
|
121
|
-
}) => ({
|
122
|
-
...(ownerState.size === 'small' ? {
|
123
|
-
borderBottomWidth: '0',
|
124
|
-
paddingTop: '8px',
|
125
|
-
paddingBottom: '8px',
|
126
|
-
paddingLeft: 0,
|
127
|
-
paddingRight: '20px'
|
128
|
-
} : {
|
129
|
-
borderBottomWidth: '0',
|
130
|
-
paddingTop: '14px',
|
131
|
-
paddingBottom: '14px',
|
132
|
-
paddingLeft: 0,
|
133
|
-
paddingRight: '30px'
|
134
|
-
})
|
135
|
-
}),
|
136
|
-
head: {
|
137
|
-
textTransform: 'uppercase',
|
138
|
-
color: mode === 'light' ? colors.grey[900] : colors.grey[300]
|
139
|
-
},
|
140
|
-
body: {
|
141
|
-
color: mode === 'light' ? colors.grey[900] : colors.grey[300]
|
142
|
-
}
|
143
|
-
}
|
144
|
-
}
|
145
|
-
}
|
146
|
-
};
|
147
|
-
|
148
|
-
// 深色主题
|
149
66
|
if (mode === 'dark') {
|
150
|
-
|
151
|
-
...defaultDarkTheme.palette,
|
152
|
-
background: {
|
153
|
-
paper: colors.grey[900],
|
154
|
-
default: colors.grey[900]
|
155
|
-
}
|
156
|
-
};
|
67
|
+
return BLOCKLET_THEME_DARK;
|
157
68
|
}
|
158
|
-
return
|
69
|
+
return BLOCKLET_THEME_LIGHT;
|
159
70
|
}
|
160
|
-
|
161
|
-
|
162
|
-
export const create = ({
|
163
|
-
disableBlockletTheme = false,
|
71
|
+
// 主要处理 mode 和 overrides
|
72
|
+
const normalizeUserThemeOptions = ({
|
164
73
|
mode = 'light',
|
165
|
-
pageWidth = 'md',
|
166
|
-
overrides,
|
167
|
-
// original theme options
|
168
74
|
palette,
|
169
75
|
components,
|
76
|
+
overrides,
|
170
77
|
...rest
|
171
|
-
}
|
172
|
-
|
173
|
-
|
78
|
+
}) => {
|
79
|
+
return {
|
80
|
+
mode,
|
174
81
|
palette: {
|
175
82
|
...palette,
|
176
83
|
mode
|
@@ -179,43 +86,54 @@ export const create = ({
|
|
179
86
|
...overrides,
|
180
87
|
...components
|
181
88
|
},
|
182
|
-
// @TODO 考虑使用 theme.shape.pageWidth
|
183
|
-
pageWidth,
|
184
|
-
// @TODO 考虑使用 theme.palette.common
|
185
|
-
colors: {
|
186
|
-
white: '#FFFFFF',
|
187
|
-
dark: '#4A707C',
|
188
|
-
gray: '#222222',
|
189
|
-
minor: '#9B9B9B',
|
190
|
-
darkText: '#DCDCDC',
|
191
|
-
background: '#F7F8F8',
|
192
|
-
yellow: '#FFCF71',
|
193
|
-
green: '#44cdc6',
|
194
|
-
red: '#D0021B',
|
195
|
-
blue: '#4E6AF6',
|
196
|
-
primary: '#222222',
|
197
|
-
black: '#222222',
|
198
|
-
secondary: '#44cdc6',
|
199
|
-
mint: '#44cdc6',
|
200
|
-
textSecondary: '#4A4A4A',
|
201
|
-
active: '#5b9025',
|
202
|
-
danger: '#D0021B',
|
203
|
-
lightGrey: '#BCBCBC'
|
204
|
-
},
|
205
|
-
// @deprecated use theme.palette.mode
|
206
|
-
mode,
|
207
89
|
...rest
|
208
90
|
};
|
209
|
-
|
91
|
+
};
|
92
|
+
const defaultUserThemeOptions = {
|
93
|
+
themeName: 'ArcBlock',
|
94
|
+
pageWidth: 'md',
|
95
|
+
disableBlockletTheme: false,
|
96
|
+
// @deprecated use theme.palette
|
97
|
+
colors: {
|
98
|
+
white: '#FFFFFF',
|
99
|
+
dark: '#4A707C',
|
100
|
+
gray: '#222222',
|
101
|
+
minor: '#9B9B9B',
|
102
|
+
darkText: '#DCDCDC',
|
103
|
+
background: '#F7F8F8',
|
104
|
+
yellow: '#FFCF71',
|
105
|
+
green: '#44cdc6',
|
106
|
+
red: '#D0021B',
|
107
|
+
blue: '#4E6AF6',
|
108
|
+
primary: '#222222',
|
109
|
+
black: '#222222',
|
110
|
+
secondary: '#44cdc6',
|
111
|
+
mint: '#44cdc6',
|
112
|
+
textSecondary: '#4A4A4A',
|
113
|
+
active: '#5b9025',
|
114
|
+
danger: '#D0021B',
|
115
|
+
lightGrey: '#BCBCBC'
|
116
|
+
}
|
117
|
+
};
|
118
|
+
|
119
|
+
// https://material-ui.com/customization/default-theme/
|
120
|
+
export const create = (...args) => {
|
121
|
+
const userThemeOptions = args.reduce((acc, curr) => deepmerge(acc, normalizeUserThemeOptions(curr)), normalizeUserThemeOptions(defaultUserThemeOptions));
|
122
|
+
const {
|
123
|
+
mode,
|
124
|
+
disableBlockletTheme
|
125
|
+
} = userThemeOptions;
|
210
126
|
const blockletThemeOptions = window.blocklet?.theme?.[mode] ?? {};
|
211
|
-
// UX Theme 默认配置
|
212
127
|
const defaultThemeOptions = createDefaultThemeOptions(mode);
|
128
|
+
|
213
129
|
// 合并配置
|
214
130
|
let mergedThemeOptions = defaultThemeOptions;
|
215
131
|
if (!disableBlockletTheme) {
|
216
132
|
mergedThemeOptions = deepmerge(defaultThemeOptions, cleanedObj(blockletThemeOptions));
|
217
133
|
}
|
218
134
|
mergedThemeOptions = deepmerge(mergedThemeOptions, cleanedObj(userThemeOptions));
|
135
|
+
|
136
|
+
// 创建主题
|
219
137
|
const theme = _createTheme(mergedThemeOptions);
|
220
138
|
|
221
139
|
// 异步加载字体
|
@@ -223,7 +141,7 @@ export const create = ({
|
|
223
141
|
loadFonts(Array.from(fonts));
|
224
142
|
|
225
143
|
/**
|
226
|
-
*
|
144
|
+
* 支持响应式字体,theme.typography.$variant 中会添加 @media 分支,比如
|
227
145
|
* {
|
228
146
|
* "h1": {
|
229
147
|
* "fontSize": "3rem",
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { UserCardProps } from '../types';
|
3
|
-
interface AvatarOnlyCardProps extends UserCardProps {
|
2
|
+
import { UserCardProps, User } from '../types';
|
3
|
+
interface AvatarOnlyCardProps extends Omit<UserCardProps, 'user'> {
|
4
|
+
user: User;
|
4
5
|
renderCardContent: () => React.ReactNode;
|
5
6
|
shouldShowHoverCard: boolean;
|
6
7
|
}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { UserCardProps } from '../types';
|
3
|
-
interface BasicCardProps extends UserCardProps {
|
2
|
+
import { UserCardProps, User } from '../types';
|
3
|
+
interface BasicCardProps extends Omit<UserCardProps, 'user'> {
|
4
|
+
user: User;
|
4
5
|
shouldShowHoverCard: boolean;
|
5
6
|
renderCardContent?: () => React.ReactNode | null;
|
6
7
|
isFull?: boolean;
|
@@ -12,6 +12,8 @@ function BasicCard(props) {
|
|
12
12
|
renderCustomContent,
|
13
13
|
isFull = true,
|
14
14
|
infoType = InfoType.Minimal,
|
15
|
+
renderFields,
|
16
|
+
popupRenderFields,
|
15
17
|
...rest
|
16
18
|
} = props;
|
17
19
|
return /*#__PURE__*/_jsxs(Box, {
|
@@ -28,12 +30,16 @@ function BasicCard(props) {
|
|
28
30
|
...rest
|
29
31
|
}), infoType === InfoType.Basic && /*#__PURE__*/_jsx(BasicContent, {
|
30
32
|
user: user,
|
31
|
-
isFull: isFull
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
-
|
36
|
-
|
33
|
+
isFull: isFull,
|
34
|
+
renderFields: renderFields
|
35
|
+
}), /*#__PURE__*/_jsx(Box, {
|
36
|
+
className: "user-card__footer",
|
37
|
+
children: renderCustomContent && /*#__PURE__*/_jsx(Box, {
|
38
|
+
sx: {
|
39
|
+
mt: 1.5
|
40
|
+
},
|
41
|
+
children: renderCustomContent()
|
42
|
+
})
|
37
43
|
})]
|
38
44
|
});
|
39
45
|
}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import React from 'react';
|
2
|
-
import { UserCardProps } from '../types';
|
3
|
-
interface DetailedCardProps extends UserCardProps {
|
2
|
+
import { UserCardProps, User } from '../types';
|
3
|
+
interface DetailedCardProps extends Omit<UserCardProps, 'user'> {
|
4
|
+
user: User;
|
4
5
|
shouldShowHoverCard: boolean;
|
5
6
|
renderCardContent?: () => React.ReactNode | null;
|
6
7
|
}
|
@@ -1,3 +1,5 @@
|
|
1
|
-
import { UserCardProps } from '../types';
|
2
|
-
declare function NameOnlyCard(props: UserCardProps
|
1
|
+
import { UserCardProps, User } from '../types';
|
2
|
+
declare function NameOnlyCard(props: Omit<UserCardProps, 'user'> & {
|
3
|
+
user: User;
|
4
|
+
}): import("react/jsx-runtime").JSX.Element;
|
3
5
|
export default NameOnlyCard;
|
@@ -6,10 +6,11 @@ import { renderAvatar } from '../components';
|
|
6
6
|
function NameOnlyCard(props) {
|
7
7
|
const {
|
8
8
|
user,
|
9
|
-
avatarSize = 48
|
9
|
+
avatarSize = 48,
|
10
|
+
onAvatarClick
|
10
11
|
} = props;
|
11
12
|
return /*#__PURE__*/_jsxs(_Fragment, {
|
12
|
-
children: [renderAvatar(user, avatarSize, props.avatarProps), /*#__PURE__*/_jsx(Typography, {
|
13
|
+
children: [renderAvatar(user, avatarSize, props.avatarProps, onAvatarClick), /*#__PURE__*/_jsx(Typography, {
|
13
14
|
variant: "body1",
|
14
15
|
children: user.fullName || user.email || user.did
|
15
16
|
})]
|
@@ -2,6 +2,7 @@ import { User } from '../types';
|
|
2
2
|
interface BasicContentProps {
|
3
3
|
user: User;
|
4
4
|
isFull?: boolean;
|
5
|
+
renderFields?: string[];
|
5
6
|
}
|
6
|
-
declare function BasicContent({ user, isFull }: BasicContentProps): import("react/jsx-runtime").JSX.Element;
|
7
|
+
declare function BasicContent({ user, isFull, renderFields }: BasicContentProps): import("react/jsx-runtime").JSX.Element | null;
|
7
8
|
export default BasicContent;
|