@lark-apaas/client-toolkit 0.1.0-alpha.1
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/LICENSE +13 -0
- package/README.md +8 -0
- package/lib/apis/components/AppContainer.d.ts +1 -0
- package/lib/apis/components/AppContainer.js +2 -0
- package/lib/apis/components/ErrorRender.d.ts +1 -0
- package/lib/apis/components/ErrorRender.js +2 -0
- package/lib/apis/components/NotFoundRender.d.ts +1 -0
- package/lib/apis/components/NotFoundRender.js +2 -0
- package/lib/apis/components/SidebarNav.d.ts +1 -0
- package/lib/apis/components/SidebarNav.js +2 -0
- package/lib/apis/components/User.d.ts +1 -0
- package/lib/apis/components/User.js +1 -0
- package/lib/apis/components/Welcome.d.ts +1 -0
- package/lib/apis/components/Welcome.js +2 -0
- package/lib/apis/constants/img-resources/avatar.d.ts +11 -0
- package/lib/apis/constants/img-resources/avatar.js +12 -0
- package/lib/apis/constants/img-resources/banner.d.ts +24 -0
- package/lib/apis/constants/img-resources/banner.js +25 -0
- package/lib/apis/constants/img-resources/cover.d.ts +36 -0
- package/lib/apis/constants/img-resources/cover.js +37 -0
- package/lib/apis/dataloom.d.ts +1 -0
- package/lib/apis/dataloom.js +2 -0
- package/lib/apis/hooks/useAppInfo.d.ts +1 -0
- package/lib/apis/hooks/useAppInfo.js +1 -0
- package/lib/apis/hooks/useCurrentUserProfile.d.ts +1 -0
- package/lib/apis/hooks/useCurrentUserProfile.js +1 -0
- package/lib/apis/logger.d.ts +1 -0
- package/lib/apis/logger.js +1 -0
- package/lib/apis/tools/generateImage.d.ts +1 -0
- package/lib/apis/tools/generateImage.js +1 -0
- package/lib/apis/tools/generateTextStream.d.ts +1 -0
- package/lib/apis/tools/generateTextStream.js +1 -0
- package/lib/apis/tools/getAppInfo.d.ts +1 -0
- package/lib/apis/tools/getAppInfo.js +1 -0
- package/lib/apis/tools/getCurrentUserProfile.d.ts +1 -0
- package/lib/apis/tools/getCurrentUserProfile.js +1 -0
- package/lib/apis/tools/storage.d.ts +1 -0
- package/lib/apis/tools/storage.js +4 -0
- package/lib/apis/udt-types.d.ts +16 -0
- package/lib/apis/udt-types.js +0 -0
- package/lib/apis/utils/registerChinaMap.d.ts +1 -0
- package/lib/apis/utils/registerChinaMap.js +103319 -0
- package/lib/components/AppContainer/IframeBridge.d.ts +4 -0
- package/lib/components/AppContainer/IframeBridge.js +92 -0
- package/lib/components/AppContainer/LogInterceptor.d.ts +1 -0
- package/lib/components/AppContainer/LogInterceptor.js +44 -0
- package/lib/components/AppContainer/PageHoc.d.ts +4 -0
- package/lib/components/AppContainer/PageHoc.js +30 -0
- package/lib/components/AppContainer/dayjsPlugins.d.ts +1 -0
- package/lib/components/AppContainer/dayjsPlugins.js +69 -0
- package/lib/components/AppContainer/index.d.ts +7 -0
- package/lib/components/AppContainer/index.js +65 -0
- package/lib/components/AppContainer/sonner.css +101 -0
- package/lib/components/AppContainer/sonner.d.ts +8 -0
- package/lib/components/AppContainer/sonner.js +26 -0
- package/lib/components/AppContainer/utils/childApi.d.ts +5 -0
- package/lib/components/AppContainer/utils/childApi.js +20 -0
- package/lib/components/AppContainer/utils/listenHot.d.ts +1 -0
- package/lib/components/AppContainer/utils/listenHot.js +43 -0
- package/lib/components/ErrorRender/index.d.ts +5 -0
- package/lib/components/ErrorRender/index.js +79 -0
- package/lib/components/NotFoundRender/index.d.ts +3 -0
- package/lib/components/NotFoundRender/index.js +59 -0
- package/lib/components/SidebarNav/DrawerNav.d.ts +3 -0
- package/lib/components/SidebarNav/DrawerNav.js +64 -0
- package/lib/components/SidebarNav/DropdownNav.d.ts +3 -0
- package/lib/components/SidebarNav/DropdownNav.js +40 -0
- package/lib/components/SidebarNav/Sidebar.d.ts +3 -0
- package/lib/components/SidebarNav/Sidebar.js +33 -0
- package/lib/components/SidebarNav/index.d.ts +5 -0
- package/lib/components/SidebarNav/index.js +61 -0
- package/lib/components/User/UserDisplay.d.ts +9 -0
- package/lib/components/User/UserDisplay.js +39 -0
- package/lib/components/User/UserProfile/UserProfile.css +34 -0
- package/lib/components/User/UserProfile/UserProfile.d.ts +6 -0
- package/lib/components/User/UserProfile/UserProfile.js +41 -0
- package/lib/components/User/UserProfile/UserProfileContainer.d.ts +4 -0
- package/lib/components/User/UserProfile/UserProfileContainer.js +8 -0
- package/lib/components/User/UserProfile/UserProfileSkeleton.d.ts +3 -0
- package/lib/components/User/UserProfile/UserProfileSkeleton.js +36 -0
- package/lib/components/User/UserProfile/UserProfileUI.d.ts +8 -0
- package/lib/components/User/UserProfile/UserProfileUI.js +113 -0
- package/lib/components/User/UserProfile/index.d.ts +1 -0
- package/lib/components/User/UserProfile/index.js +2 -0
- package/lib/components/User/UserProfile/type.d.ts +8 -0
- package/lib/components/User/UserProfile/type.js +0 -0
- package/lib/components/User/UserProfile/utils.d.ts +5 -0
- package/lib/components/User/UserProfile/utils.js +26 -0
- package/lib/components/User/UserSelect.css +11 -0
- package/lib/components/User/UserSelect.d.ts +11 -0
- package/lib/components/User/UserSelect.js +172 -0
- package/lib/components/User/UserWithAvatar.d.ts +3 -0
- package/lib/components/User/UserWithAvatar.js +41 -0
- package/lib/components/User/index.d.ts +7 -0
- package/lib/components/User/index.js +5 -0
- package/lib/components/User/type.d.ts +13 -0
- package/lib/components/User/type.js +0 -0
- package/lib/components/Welcome/index.d.ts +3 -0
- package/lib/components/Welcome/index.js +17 -0
- package/lib/components/common/LogoInfo.d.ts +5 -0
- package/lib/components/common/LogoInfo.js +30 -0
- package/lib/components/common/NavItem.d.ts +20 -0
- package/lib/components/common/NavItem.js +112 -0
- package/lib/components/common/NavMenu.d.ts +9 -0
- package/lib/components/common/NavMenu.js +50 -0
- package/lib/components/common/UserAvatarLayout.d.ts +4 -0
- package/lib/components/common/UserAvatarLayout.js +41 -0
- package/lib/components/common/UserAvatarMenu.d.ts +4 -0
- package/lib/components/common/UserAvatarMenu.js +58 -0
- package/lib/components/common/index.d.ts +9 -0
- package/lib/components/common/index.js +10 -0
- package/lib/components/index.d.ts +8 -0
- package/lib/components/index.js +6 -0
- package/lib/components/theme/ThemeProvider.d.ts +20 -0
- package/lib/components/theme/ThemeProvider.js +75 -0
- package/lib/components/theme/constants.d.ts +48 -0
- package/lib/components/theme/constants.js +557 -0
- package/lib/components/theme/index.d.ts +4 -0
- package/lib/components/theme/index.js +5 -0
- package/lib/components/theme/miaoDarkTheme.d.ts +2 -0
- package/lib/components/theme/miaoDarkTheme.js +310 -0
- package/lib/components/theme/miaoLightTheme.d.ts +2 -0
- package/lib/components/theme/miaoLightTheme.js +296 -0
- package/lib/components/theme/ui-config.d.ts +1 -0
- package/lib/components/theme/ui-config.js +2 -0
- package/lib/components/theme/util.d.ts +20 -0
- package/lib/components/theme/util.js +188 -0
- package/lib/font-family.css +40 -0
- package/lib/hooks/index.d.ts +5 -0
- package/lib/hooks/index.js +5 -0
- package/lib/hooks/useAppInfo.d.ts +6 -0
- package/lib/hooks/useAppInfo.js +21 -0
- package/lib/hooks/useCurrentUserProfile.d.ts +12 -0
- package/lib/hooks/useCurrentUserProfile.js +58 -0
- package/lib/hooks/useIsMobile.d.ts +1 -0
- package/lib/hooks/useIsMobile.js +20 -0
- package/lib/hooks/useLogout.d.ts +4 -0
- package/lib/hooks/useLogout.js +37 -0
- package/lib/hooks/useTheme.d.ts +4 -0
- package/lib/hooks/useTheme.js +8 -0
- package/lib/hooks/useUpdatingRef.d.ts +1 -0
- package/lib/hooks/useUpdatingRef.js +7 -0
- package/lib/index.css +5 -0
- package/lib/index.d.ts +4 -0
- package/lib/index.js +5 -0
- package/lib/inspector.dev.css +10 -0
- package/lib/integrations/dataloom.d.ts +2 -0
- package/lib/integrations/dataloom.js +32 -0
- package/lib/integrations/generateImage.d.ts +1 -0
- package/lib/integrations/generateImage.js +47 -0
- package/lib/integrations/generateTextStream.d.ts +21 -0
- package/lib/integrations/generateTextStream.js +98 -0
- package/lib/integrations/getAppInfo.d.ts +2 -0
- package/lib/integrations/getAppInfo.js +14 -0
- package/lib/integrations/getCurrentUserProfile.d.ts +6 -0
- package/lib/integrations/getCurrentUserProfile.js +5 -0
- package/lib/logger/index.d.ts +6 -0
- package/lib/logger/index.js +54 -0
- package/lib/override.css +29 -0
- package/lib/tailwind-theme.css +335 -0
- package/lib/theme-layer.css +3 -0
- package/lib/types/common.d.ts +4 -0
- package/lib/types/common.js +0 -0
- package/lib/types/iframe-events.d.ts +50 -0
- package/lib/types/iframe-events.js +0 -0
- package/lib/types/index.d.ts +43 -0
- package/lib/types/index.js +0 -0
- package/lib/utils/copyToClipboard.d.ts +6 -0
- package/lib/utils/copyToClipboard.js +32 -0
- package/lib/utils/getAppId.d.ts +6 -0
- package/lib/utils/getAppId.js +11 -0
- package/lib/utils/getCsrfToken.d.ts +5 -0
- package/lib/utils/getCsrfToken.js +10 -0
- package/lib/utils/getEnvPath.d.ts +4 -0
- package/lib/utils/getEnvPath.js +4 -0
- package/lib/utils/getInitialInfo.d.ts +20 -0
- package/lib/utils/getInitialInfo.js +32 -0
- package/lib/utils/getParentOrigin.d.ts +5 -0
- package/lib/utils/getParentOrigin.js +7 -0
- package/lib/utils/getUserProfile.d.ts +47 -0
- package/lib/utils/getUserProfile.js +39 -0
- package/lib/utils/postMessage.d.ts +8 -0
- package/lib/utils/postMessage.js +11 -0
- package/lib/utils/url.d.ts +8 -0
- package/lib/utils/url.js +22 -0
- package/lib/utils/utils.d.ts +20 -0
- package/lib/utils/utils.js +22 -0
- package/package.json +135 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import * as React from 'react';
|
|
2
|
+
import { type ReactNode } from 'react';
|
|
3
|
+
import type { ITheme } from '../../types';
|
|
4
|
+
import { IThemeTokenMeta } from './util';
|
|
5
|
+
export interface IBaseThemeProviderProps {
|
|
6
|
+
defaultTheme?: ITheme;
|
|
7
|
+
themeMeta?: Partial<IThemeTokenMeta>;
|
|
8
|
+
}
|
|
9
|
+
interface ThemeProviderProps extends IBaseThemeProviderProps {
|
|
10
|
+
children: ReactNode;
|
|
11
|
+
/** 是否启用系统主题自动切换 */
|
|
12
|
+
enableSystemTheme?: boolean;
|
|
13
|
+
}
|
|
14
|
+
type ThemeProviderState = {
|
|
15
|
+
theme: ITheme;
|
|
16
|
+
setTheme: (theme: ITheme) => void;
|
|
17
|
+
};
|
|
18
|
+
export declare const ThemeProviderContext: React.Context<ThemeProviderState>;
|
|
19
|
+
export declare function ThemeProvider({ children, defaultTheme, themeMeta, enableSystemTheme, ...props }: ThemeProviderProps): React.JSX.Element;
|
|
20
|
+
export {};
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import { jsx } from "react/jsx-runtime";
|
|
2
|
+
import { createContext, useEffect, useMemo, useState } from "react";
|
|
3
|
+
import { ConfigProvider } from "antd";
|
|
4
|
+
import { generateDarkTheme, generateLightTheme } from "./util.js";
|
|
5
|
+
import { findValueByPixel, themeMetaOptions } from "./constants.js";
|
|
6
|
+
const initialState = {
|
|
7
|
+
theme: 'system',
|
|
8
|
+
setTheme: ()=>null
|
|
9
|
+
};
|
|
10
|
+
const ThemeProviderContext = /*#__PURE__*/ createContext(initialState);
|
|
11
|
+
const themeKey = 'miao-ui-theme';
|
|
12
|
+
function ThemeProvider({ children, defaultTheme = 'light', themeMeta = {}, enableSystemTheme = false, ...props }) {
|
|
13
|
+
const [theme, setTheme] = useState(()=>localStorage.getItem(themeKey) || defaultTheme);
|
|
14
|
+
useEffect(()=>{
|
|
15
|
+
const root = window.document.documentElement;
|
|
16
|
+
root.classList.remove('light', 'dark');
|
|
17
|
+
root.classList.add(theme);
|
|
18
|
+
}, [
|
|
19
|
+
theme,
|
|
20
|
+
enableSystemTheme
|
|
21
|
+
]);
|
|
22
|
+
useEffect(()=>{
|
|
23
|
+
const root = window.document.documentElement;
|
|
24
|
+
if (void 0 !== themeMeta.spacing) {
|
|
25
|
+
const { rem } = findValueByPixel(themeMetaOptions.themeSpaces, themeMeta.spacing) || {
|
|
26
|
+
rem: '0.25'
|
|
27
|
+
};
|
|
28
|
+
root.style.setProperty('--spacing', `${rem}rem`);
|
|
29
|
+
}
|
|
30
|
+
if (void 0 !== themeMeta.borderRadius) {
|
|
31
|
+
const { rem } = findValueByPixel(themeMetaOptions.themeRadius, themeMeta.borderRadius) || {
|
|
32
|
+
rem: '0.625'
|
|
33
|
+
};
|
|
34
|
+
root.style.setProperty('--radius', `${rem}rem`);
|
|
35
|
+
}
|
|
36
|
+
}, [
|
|
37
|
+
themeMeta
|
|
38
|
+
]);
|
|
39
|
+
const value = {
|
|
40
|
+
theme,
|
|
41
|
+
setTheme: (theme)=>{
|
|
42
|
+
localStorage.setItem(themeKey, theme);
|
|
43
|
+
setTheme(theme);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
const antdTheme = useMemo(()=>{
|
|
47
|
+
const res = findValueByPixel(themeMetaOptions.themeSpaces, themeMeta.spacing) || {
|
|
48
|
+
pixel: '36',
|
|
49
|
+
rem: '0.25',
|
|
50
|
+
size: {
|
|
51
|
+
sizeUnit: '4',
|
|
52
|
+
sizeStep: '4'
|
|
53
|
+
}
|
|
54
|
+
};
|
|
55
|
+
const transformThemeMeta = {
|
|
56
|
+
colorPrimary: themeMeta.colorPrimary,
|
|
57
|
+
borderRadius: Number(themeMeta.borderRadius),
|
|
58
|
+
sizeUnit: Number(res.size.sizeUnit),
|
|
59
|
+
sizeStep: Number(res.size.sizeStep)
|
|
60
|
+
};
|
|
61
|
+
return 'dark' === theme ? generateDarkTheme(transformThemeMeta) : generateLightTheme(transformThemeMeta);
|
|
62
|
+
}, [
|
|
63
|
+
theme,
|
|
64
|
+
themeMeta
|
|
65
|
+
]);
|
|
66
|
+
return /*#__PURE__*/ jsx(ThemeProviderContext.Provider, {
|
|
67
|
+
...props,
|
|
68
|
+
value: value,
|
|
69
|
+
children: /*#__PURE__*/ jsx(ConfigProvider, {
|
|
70
|
+
theme: antdTheme,
|
|
71
|
+
children: children
|
|
72
|
+
})
|
|
73
|
+
});
|
|
74
|
+
}
|
|
75
|
+
export { ThemeProvider, ThemeProviderContext };
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
export interface IThemeMeta {
|
|
2
|
+
themeColors: {
|
|
3
|
+
title: string;
|
|
4
|
+
options: {
|
|
5
|
+
value: string;
|
|
6
|
+
color: string;
|
|
7
|
+
}[];
|
|
8
|
+
};
|
|
9
|
+
themeRadius: {
|
|
10
|
+
title: string;
|
|
11
|
+
options: {
|
|
12
|
+
value: {
|
|
13
|
+
pixel: string;
|
|
14
|
+
rem: string;
|
|
15
|
+
};
|
|
16
|
+
iconUrl: string;
|
|
17
|
+
size: string;
|
|
18
|
+
}[];
|
|
19
|
+
};
|
|
20
|
+
themeSpaces: {
|
|
21
|
+
title: string;
|
|
22
|
+
options: {
|
|
23
|
+
value: {
|
|
24
|
+
pixel: string;
|
|
25
|
+
rem: string;
|
|
26
|
+
size: {
|
|
27
|
+
sizeUnit: string;
|
|
28
|
+
sizeStep: string;
|
|
29
|
+
};
|
|
30
|
+
};
|
|
31
|
+
iconUrl: string;
|
|
32
|
+
size: string;
|
|
33
|
+
}[];
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export declare const themeMetaOptions: Omit<IThemeMeta, 'colorPrimary' | 'borderRadius' | 'spacing'>;
|
|
37
|
+
export declare const themeTailwindRadius: {};
|
|
38
|
+
type ThemeColorTokenMap = {
|
|
39
|
+
light: Record<string, string>;
|
|
40
|
+
dark: Record<string, string>;
|
|
41
|
+
};
|
|
42
|
+
export declare const themeColorTokenMap: ThemeColorTokenMap;
|
|
43
|
+
export declare function getKeyByColor(colorValue: string, theme: keyof ThemeColorTokenMap): string;
|
|
44
|
+
export declare function findValueByPixel(themeSpaces: typeof themeMetaOptions.themeSpaces | typeof themeMetaOptions.themeRadius, pixelValue?: string | number): {
|
|
45
|
+
pixel: string;
|
|
46
|
+
rem: string;
|
|
47
|
+
};
|
|
48
|
+
export {};
|