@adminui-dev/antd-layout 1.0.0
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/components/AntdLayout/AsidePanel.d.ts +28 -0
- package/dist/components/AntdLayout/AvatarPanel.d.ts +21 -0
- package/dist/components/AntdLayout/BrandPanel.d.ts +33 -0
- package/dist/components/AntdLayout/CollapsedPanel.d.ts +24 -0
- package/dist/components/AntdLayout/Container.d.ts +17 -0
- package/dist/components/AntdLayout/IconPanel.d.ts +874 -0
- package/dist/components/AntdLayout/ImagePanel.d.ts +19 -0
- package/dist/components/AntdLayout/MainAside.d.ts +8 -0
- package/dist/components/AntdLayout/MainBreadcrumb.d.ts +3 -0
- package/dist/components/AntdLayout/MainContext.d.ts +19 -0
- package/dist/components/AntdLayout/MainHeader.d.ts +2 -0
- package/dist/components/AntdLayout/MainLayout.d.ts +10 -0
- package/dist/components/AntdLayout/SoltPanel.d.ts +12 -0
- package/dist/components/AntdLayout/SvgPanel.d.ts +87 -0
- package/dist/components/AntdLayout/ToolbarPanel.d.ts +22 -0
- package/dist/components/AntdLayout/common/ColorUtil.d.ts +4 -0
- package/dist/components/AntdLayout/common/MenuUtil.d.ts +36 -0
- package/dist/components/AntdLayout/common/RouteUtil.d.ts +15 -0
- package/dist/components/AntdLayout/common/StringUtil.d.ts +96 -0
- package/dist/components/AntdLayout/index.d.ts +27 -0
- package/dist/components/AntdLayout/typings.d.ts +78 -0
- package/dist/components/index.d.ts +9 -0
- package/dist/components/typings.d.ts +2 -0
- package/dist/index.cjs.js +10 -0
- package/dist/index.d.ts +253 -0
- package/dist/index.esm.js +10 -0
- package/package.json +83 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,253 @@
|
|
|
1
|
+
import * as _adminui_dev_layout from '@adminui-dev/layout';
|
|
2
|
+
import { LocaleMessageData, MenuData, UserInfo, BrandInfo, OutletContainer, LayoutConfig, Theme, ThemeSkin } from '@adminui-dev/layout';
|
|
3
|
+
export { useConfigAction, useConfigState, useTheme } from '@adminui-dev/layout';
|
|
4
|
+
import { Locale } from 'antd/es/locale';
|
|
5
|
+
import * as react from 'react';
|
|
6
|
+
import { ReactNode } from 'react';
|
|
7
|
+
import * as react_intl from 'react-intl';
|
|
8
|
+
import { IntlShape } from 'react-intl';
|
|
9
|
+
import { UIMatch, RouteObject } from 'react-router-dom';
|
|
10
|
+
import * as _formatjs_intl from '@formatjs/intl';
|
|
11
|
+
import * as intl_messageformat from 'intl-messageformat';
|
|
12
|
+
export { generate } from '@ant-design/colors';
|
|
13
|
+
|
|
14
|
+
interface LocaleMessage extends LocaleMessageData {
|
|
15
|
+
antdLocale: Locale;
|
|
16
|
+
}
|
|
17
|
+
interface IconComponents {
|
|
18
|
+
fullScreenIcons?: React.ReactNode[];
|
|
19
|
+
collapsedIcons?: React.ReactNode[];
|
|
20
|
+
mobileAsideIcons?: React.ReactNode[];
|
|
21
|
+
expandIcon?: React.ReactNode[];
|
|
22
|
+
itemMoreIcon?: React.ReactNode;
|
|
23
|
+
}
|
|
24
|
+
interface MainDispatcher {
|
|
25
|
+
collapsed: boolean;
|
|
26
|
+
headerHeight: number;
|
|
27
|
+
layoutIcons?: IconComponents;
|
|
28
|
+
brandPopoverContent?: React.ReactNode;
|
|
29
|
+
avatarPopoverContent?: React.ReactNode;
|
|
30
|
+
toolbarExtraItems?: React.ReactNode;
|
|
31
|
+
setCollapsed: (collapsed: boolean) => void;
|
|
32
|
+
}
|
|
33
|
+
interface PopoverDispatcher<T> {
|
|
34
|
+
close?: () => void;
|
|
35
|
+
record?: T;
|
|
36
|
+
}
|
|
37
|
+
interface MainLayoutProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
38
|
+
menuData?: MenuData[];
|
|
39
|
+
layoutIcons?: IconComponents;
|
|
40
|
+
brandPopover?: ReactNode;
|
|
41
|
+
}
|
|
42
|
+
interface AsidePanelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
43
|
+
collapsed?: boolean;
|
|
44
|
+
width?: number;
|
|
45
|
+
iconSize?: number;
|
|
46
|
+
}
|
|
47
|
+
interface AsideContentProps extends AsidePanelProps {
|
|
48
|
+
}
|
|
49
|
+
interface CollapsedPanelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
50
|
+
width?: number;
|
|
51
|
+
iconSize?: number;
|
|
52
|
+
}
|
|
53
|
+
interface BrandPanelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
54
|
+
collapsed?: boolean;
|
|
55
|
+
width?: number;
|
|
56
|
+
iconSize?: number;
|
|
57
|
+
hideTitle?: boolean;
|
|
58
|
+
}
|
|
59
|
+
interface AvatarPanelProps extends React.HTMLAttributes<HTMLDivElement> {
|
|
60
|
+
collapsed?: boolean;
|
|
61
|
+
width?: number;
|
|
62
|
+
iconSize?: number;
|
|
63
|
+
}
|
|
64
|
+
interface AsideLayoutProps {
|
|
65
|
+
menuData?: any[];
|
|
66
|
+
headerHeight: number;
|
|
67
|
+
header?: React.ReactNode;
|
|
68
|
+
footer?: React.ReactNode;
|
|
69
|
+
selectedKeys?: string[];
|
|
70
|
+
openerKeys?: string[];
|
|
71
|
+
}
|
|
72
|
+
interface HeaderLayoutProps {
|
|
73
|
+
menuData?: any[];
|
|
74
|
+
height: number;
|
|
75
|
+
title?: string;
|
|
76
|
+
selectedKeys?: string[];
|
|
77
|
+
openerKeys?: string[];
|
|
78
|
+
}
|
|
79
|
+
interface AntdMenuData {
|
|
80
|
+
key: string;
|
|
81
|
+
label: ReactNode | string;
|
|
82
|
+
icon?: ReactNode;
|
|
83
|
+
theme?: string;
|
|
84
|
+
children?: AntdMenuData[];
|
|
85
|
+
title?: string;
|
|
86
|
+
extra?: ReactNode;
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
type typings_AntdMenuData = AntdMenuData;
|
|
90
|
+
type typings_AsideContentProps = AsideContentProps;
|
|
91
|
+
type typings_AsideLayoutProps = AsideLayoutProps;
|
|
92
|
+
type typings_AsidePanelProps = AsidePanelProps;
|
|
93
|
+
type typings_AvatarPanelProps = AvatarPanelProps;
|
|
94
|
+
type typings_BrandPanelProps = BrandPanelProps;
|
|
95
|
+
type typings_CollapsedPanelProps = CollapsedPanelProps;
|
|
96
|
+
type typings_HeaderLayoutProps = HeaderLayoutProps;
|
|
97
|
+
type typings_IconComponents = IconComponents;
|
|
98
|
+
type typings_LocaleMessage = LocaleMessage;
|
|
99
|
+
type typings_MainDispatcher = MainDispatcher;
|
|
100
|
+
type typings_MainLayoutProps = MainLayoutProps;
|
|
101
|
+
type typings_PopoverDispatcher<T> = PopoverDispatcher<T>;
|
|
102
|
+
declare namespace typings {
|
|
103
|
+
export type { typings_AntdMenuData as AntdMenuData, typings_AsideContentProps as AsideContentProps, typings_AsideLayoutProps as AsideLayoutProps, typings_AsidePanelProps as AsidePanelProps, typings_AvatarPanelProps as AvatarPanelProps, typings_BrandPanelProps as BrandPanelProps, typings_CollapsedPanelProps as CollapsedPanelProps, typings_HeaderLayoutProps as HeaderLayoutProps, typings_IconComponents as IconComponents, typings_LocaleMessage as LocaleMessage, typings_MainDispatcher as MainDispatcher, typings_MainLayoutProps as MainLayoutProps, typings_PopoverDispatcher as PopoverDispatcher };
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
declare const useMainCollapsed: () => boolean;
|
|
107
|
+
declare const useContainerOutlet: () => OutletContainer;
|
|
108
|
+
declare const useAvatarPopover: () => PopoverDispatcher<UserInfo>;
|
|
109
|
+
declare const useBrandPopover: () => PopoverDispatcher<BrandInfo>;
|
|
110
|
+
|
|
111
|
+
declare const getBlackColors: () => string[];
|
|
112
|
+
declare const getWhiteColors: () => string[];
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* separate menu data
|
|
116
|
+
* @param antdMenuData menu data
|
|
117
|
+
* @param selectKeys
|
|
118
|
+
* @returns current select keys
|
|
119
|
+
*/
|
|
120
|
+
declare function separateMenuData(antdMenuData: AntdMenuData[], selectKeys?: string[]): {
|
|
121
|
+
rootMenuItems: AntdMenuData[];
|
|
122
|
+
childrenMenuItems: AntdMenuData[];
|
|
123
|
+
};
|
|
124
|
+
/**
|
|
125
|
+
* transform antd-menu data
|
|
126
|
+
* @param menuData menu data
|
|
127
|
+
* @returns
|
|
128
|
+
*/
|
|
129
|
+
declare const transformToAntdMenuData: (menuData?: MenuData[]) => AntdMenuData[] | undefined;
|
|
130
|
+
/**
|
|
131
|
+
* locale menu data
|
|
132
|
+
* @param menuData menu data
|
|
133
|
+
* @param intl i18n shape
|
|
134
|
+
* @returns
|
|
135
|
+
*/
|
|
136
|
+
declare const localeMenuData: (menuData?: MenuData[], intl?: IntlShape) => MenuData[] | undefined;
|
|
137
|
+
declare const getMenuLabel: (menuData: MenuData, intl?: IntlShape) => string;
|
|
138
|
+
declare const getRouterLabel: (route: UIMatch, intl?: IntlShape) => string;
|
|
139
|
+
/**
|
|
140
|
+
* get antd menu item
|
|
141
|
+
* @param menuDataItem menu data item
|
|
142
|
+
* @returns
|
|
143
|
+
*/
|
|
144
|
+
declare const getAntdMenuItem: (menuDataItem: MenuData) => AntdMenuData;
|
|
145
|
+
|
|
146
|
+
declare function pathToKeys(pathname: string): string[];
|
|
147
|
+
declare function matchPathToKeys(pathname: string): string[];
|
|
148
|
+
declare function splitMenuKeys(arr: string[]): [string[], string[]];
|
|
149
|
+
declare function transformMenuData(rootPath: string, routes?: MenuData[]): MenuData[] | undefined;
|
|
150
|
+
/**
|
|
151
|
+
* transform route object to menu data
|
|
152
|
+
* @param rootPath root path
|
|
153
|
+
* @param routes router data
|
|
154
|
+
* @returns
|
|
155
|
+
*/
|
|
156
|
+
declare function transformRouteToMenuData(rootPath: string, routes?: RouteObject[]): MenuData[] | undefined;
|
|
157
|
+
declare function buildRouteWithParams(baseRoute: string, params?: Record<string, any>): string;
|
|
158
|
+
|
|
159
|
+
declare const useAppIntl: () => {
|
|
160
|
+
f: (msg: {
|
|
161
|
+
id: string;
|
|
162
|
+
defaultMessage: string;
|
|
163
|
+
}) => string | undefined;
|
|
164
|
+
t: (id: string, defaultMessage: string) => string | undefined;
|
|
165
|
+
formatMessage(this: void, descriptor: react_intl.MessageDescriptor, values?: Record<string, intl_messageformat.PrimitiveType | intl_messageformat.FormatXMLElementFn<string, string>>, opts?: intl_messageformat.Options): string;
|
|
166
|
+
formatMessage(this: void, descriptor: react_intl.MessageDescriptor, values?: Record<string, React.ReactNode | intl_messageformat.PrimitiveType | intl_messageformat.FormatXMLElementFn<string, React.ReactNode>>, opts?: intl_messageformat.Options): Array<React.ReactNode>;
|
|
167
|
+
formatters: react_intl.Formatters;
|
|
168
|
+
textComponent?: React.ComponentType | keyof React.JSX.IntrinsicElements;
|
|
169
|
+
wrapRichTextChunksInFragment?: boolean;
|
|
170
|
+
locale: string;
|
|
171
|
+
timeZone?: string;
|
|
172
|
+
fallbackOnEmptyString?: boolean;
|
|
173
|
+
formats: react_intl.CustomFormats;
|
|
174
|
+
messages: Record<string, string> | Record<string, react_intl.MessageFormatElement[]>;
|
|
175
|
+
defaultLocale: string;
|
|
176
|
+
defaultFormats: react_intl.CustomFormats;
|
|
177
|
+
defaultRichTextElements?: Record<string, intl_messageformat.FormatXMLElementFn<react.ReactNode>> | undefined;
|
|
178
|
+
onError: _formatjs_intl.OnErrorFn;
|
|
179
|
+
onWarn?: _formatjs_intl.OnWarnFn;
|
|
180
|
+
formatDateTimeRange(this: void, from: Parameters<Intl.DateTimeFormat["formatRange"]>[0] | string, to: Parameters<Intl.DateTimeFormat["formatRange"]>[1] | string, opts?: _formatjs_intl.FormatDateTimeRangeOptions): string;
|
|
181
|
+
formatDate(this: void, value: Parameters<Intl.DateTimeFormat["format"]>[0] | string, opts?: react_intl.FormatDateOptions): string;
|
|
182
|
+
formatTime(this: void, value: Parameters<Intl.DateTimeFormat["format"]>[0] | string, opts?: _formatjs_intl.FormatTimeOptions): string;
|
|
183
|
+
formatDateToParts(this: void, value: Parameters<Intl.DateTimeFormat["format"]>[0] | string, opts?: react_intl.FormatDateOptions): Intl.DateTimeFormatPart[];
|
|
184
|
+
formatTimeToParts(this: void, value: Parameters<Intl.DateTimeFormat["format"]>[0] | string, opts?: react_intl.FormatDateOptions): Intl.DateTimeFormatPart[];
|
|
185
|
+
formatRelativeTime(this: void, value: Parameters<Intl.RelativeTimeFormat["format"]>[0], unit?: Parameters<Intl.RelativeTimeFormat["format"]>[1], opts?: react_intl.FormatRelativeTimeOptions): string;
|
|
186
|
+
formatNumber(this: void, value: Parameters<Intl.NumberFormat["format"]>[0], opts?: react_intl.FormatNumberOptions): string;
|
|
187
|
+
formatNumberToParts(this: void, value: Parameters<Intl.NumberFormat["format"]>[0], opts?: react_intl.FormatNumberOptions): Intl.NumberFormatPart[];
|
|
188
|
+
formatPlural(this: void, value: Parameters<Intl.PluralRules["select"]>[0], opts?: react_intl.FormatPluralOptions): ReturnType<Intl.PluralRules["select"]>;
|
|
189
|
+
$t(this: void, descriptor: react_intl.MessageDescriptor, values?: Record<string, intl_messageformat.PrimitiveType | intl_messageformat.FormatXMLElementFn<string, string>>, opts?: intl_messageformat.Options): string;
|
|
190
|
+
$t<T extends react.ReactNode>(this: void, descriptor: react_intl.MessageDescriptor, values?: Record<string, intl_messageformat.PrimitiveType | T | intl_messageformat.FormatXMLElementFn<T>> | undefined, opts?: intl_messageformat.Options): string | T | (string | T)[];
|
|
191
|
+
formatList(this: void, values: Iterable<string>, opts?: react_intl.FormatListOptions): string;
|
|
192
|
+
formatList<T extends react.ReactNode>(this: void, values: Iterable<string | T>, opts?: react_intl.FormatListOptions): string | T | (string | T)[];
|
|
193
|
+
formatListToParts<T extends react.ReactNode>(this: void, values: Iterable<string | T>, opts?: react_intl.FormatListOptions): _formatjs_intl.Part[];
|
|
194
|
+
formatDisplayName(this: void, value: Parameters<Intl.DisplayNames["of"]>[0], opts: react_intl.FormatDisplayNameOptions): string | undefined;
|
|
195
|
+
};
|
|
196
|
+
declare const getAppIntl: (intl?: IntlShape) => {
|
|
197
|
+
f: (msg: {
|
|
198
|
+
id: string;
|
|
199
|
+
defaultMessage: string;
|
|
200
|
+
}) => string | undefined;
|
|
201
|
+
t: (id: string, defaultMessage: string) => string | undefined;
|
|
202
|
+
};
|
|
203
|
+
declare const getBasicLayoutConfig: (config: LayoutConfig) => {
|
|
204
|
+
layoutType?: _adminui_dev_layout.LayoutType;
|
|
205
|
+
headerHeight?: number;
|
|
206
|
+
asideWidth?: number;
|
|
207
|
+
theme?: Theme;
|
|
208
|
+
locale?: string;
|
|
209
|
+
disabledLocale?: boolean;
|
|
210
|
+
skinName?: string;
|
|
211
|
+
primaryColor?: string;
|
|
212
|
+
highlight?: boolean;
|
|
213
|
+
flated?: boolean;
|
|
214
|
+
menuIconSize?: number;
|
|
215
|
+
compact?: boolean;
|
|
216
|
+
largeBrand?: boolean;
|
|
217
|
+
splitMenu?: boolean;
|
|
218
|
+
asideMenuInline?: boolean;
|
|
219
|
+
asideMenuGroup?: boolean;
|
|
220
|
+
hideBorder?: boolean;
|
|
221
|
+
hideTitle?: boolean;
|
|
222
|
+
hideFooter?: boolean;
|
|
223
|
+
hideBreadcrumb?: boolean;
|
|
224
|
+
asideTransparent?: boolean;
|
|
225
|
+
headerTransparent?: boolean;
|
|
226
|
+
containerTransparent?: boolean;
|
|
227
|
+
asideBlur?: boolean;
|
|
228
|
+
headerBlur?: boolean;
|
|
229
|
+
containerBlur?: boolean;
|
|
230
|
+
collapsedPosition?: _adminui_dev_layout.Position;
|
|
231
|
+
avatarPosition?: _adminui_dev_layout.AvatarPosition;
|
|
232
|
+
};
|
|
233
|
+
/**
|
|
234
|
+
* Retrieve the configuration stored in the storage
|
|
235
|
+
* @param name key
|
|
236
|
+
* @returns
|
|
237
|
+
*/
|
|
238
|
+
declare const getStorageConfig: (name?: string) => LayoutConfig | undefined;
|
|
239
|
+
/**
|
|
240
|
+
* Save configuration to storage
|
|
241
|
+
* @param config configuration
|
|
242
|
+
* @param name key
|
|
243
|
+
*/
|
|
244
|
+
declare const setStorageConfig: (config: LayoutConfig, name?: string) => void;
|
|
245
|
+
/**
|
|
246
|
+
* Setting layout config for skin
|
|
247
|
+
* @param layoutConfig
|
|
248
|
+
* @param themeSkin
|
|
249
|
+
* @returns
|
|
250
|
+
*/
|
|
251
|
+
declare const setSkinConfig: (layoutConfig: LayoutConfig, themeSkin?: ThemeSkin) => LayoutConfig;
|
|
252
|
+
|
|
253
|
+
export { buildRouteWithParams, getAntdMenuItem, getAppIntl, getBasicLayoutConfig, getBlackColors, getMenuLabel, getRouterLabel, getStorageConfig, getWhiteColors, localeMenuData, matchPathToKeys, pathToKeys, separateMenuData, setSkinConfig, setStorageConfig, splitMenuKeys, transformMenuData, transformRouteToMenuData, transformToAntdMenuData, typings as types, useAppIntl, useAvatarPopover, useBrandPopover, useContainerOutlet, useMainCollapsed };
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import n,{createContext as r,useContext as e}from"react";import{theme as i,Layout as t,Grid as o}from"antd";import{useIntl as a}from"react-intl";import{useOutletContext as d}from"react-router";import{generatePath as l}from"react-router-dom";import{generate as s}from"@ant-design/colors";export{generate}from"@ant-design/colors";var u,c={exports:{}},m={};var p,h={};
|
|
2
|
+
/**
|
|
3
|
+
* @license React
|
|
4
|
+
* react-jsx-runtime.development.js
|
|
5
|
+
*
|
|
6
|
+
* Copyright (c) Meta Platforms, Inc. and affiliates.
|
|
7
|
+
*
|
|
8
|
+
* This source code is licensed under the MIT license found in the
|
|
9
|
+
* LICENSE file in the root directory of this source tree.
|
|
10
|
+
*/"production"===process.env.NODE_ENV?c.exports=function(){if(u)return m;u=1;var n=Symbol.for("react.transitional.element"),r=Symbol.for("react.fragment");function e(r,e,i){var t=null;if(void 0!==i&&(t=""+i),void 0!==e.key&&(t=""+e.key),"key"in e)for(var o in i={},e)"key"!==o&&(i[o]=e[o]);else i=e;return e=i.ref,{$$typeof:n,type:r,key:t,ref:void 0!==e?e:null,props:i}}return m.Fragment=r,m.jsx=e,m.jsxs=e,m}():c.exports=(p||(p=1,"production"!==process.env.NODE_ENV&&function(){function r(n){if(null==n)return null;if("function"==typeof n)return n.$$typeof===C?null:n.displayName||n.name||null;if("string"==typeof n)return n;switch(n){case f:return"Fragment";case x:return"Profiler";case _:return"StrictMode";case v:return"Suspense";case w:return"SuspenseList";case S:return"Activity"}if("object"==typeof n)switch("number"==typeof n.tag&&console.error("Received an unexpected object in getComponentNameFromType(). This is likely a bug in React. Please file an issue."),n.$$typeof){case p:return"Portal";case g:return n.displayName||"Context";case y:return(n._context.displayName||"Context")+".Consumer";case b:var e=n.render;return(n=n.displayName)||(n=""!==(n=e.displayName||e.name||"")?"ForwardRef("+n+")":"ForwardRef"),n;case k:return null!==(e=n.displayName||null)?e:r(n.type)||"Memo";case j:e=n._payload,n=n._init;try{return r(n(e))}catch(n){}}return null}function e(n){return""+n}function i(n){try{e(n);var r=!1}catch(n){r=!0}if(r){var i=(r=console).error,t="function"==typeof Symbol&&Symbol.toStringTag&&n[Symbol.toStringTag]||n.constructor.name||"Object";return i.call(r,"The provided key is an unsupported type %s. This value must be coerced to a string before using it here.",t),e(n)}}function t(n){if(n===f)return"<>";if("object"==typeof n&&null!==n&&n.$$typeof===j)return"<...>";try{var e=r(n);return e?"<"+e+">":"<...>"}catch(n){return"<...>"}}function o(){return Error("react-stack-top-frame")}function a(){var n=r(this.type);return N[n]||(N[n]=!0,console.error("Accessing element.ref was removed in React 19. ref is now a regular prop. It will be removed from the JSX Element type in a future release.")),void 0!==(n=this.props.ref)?n:null}function d(n,e,t,o,d,s){var c,p=e.children;if(void 0!==p)if(o)if(L(p)){for(o=0;o<p.length;o++)l(p[o]);Object.freeze&&Object.freeze(p)}else console.error("React.jsx: Static children should always be an array. You are likely explicitly calling React.jsxs or React.jsxDEV. Use the Babel transform instead.");else l(p);if(P.call(e,"key")){p=r(n);var h=Object.keys(e).filter(function(n){return"key"!==n});o=0<h.length?"{key: someKey, "+h.join(": ..., ")+": ...}":"{key: someKey}",I[p+o]||(h=0<h.length?"{"+h.join(": ..., ")+": ...}":"{}",console.error('A props object containing a "key" prop is being spread into JSX:\n let props = %s;\n <%s {...props} />\nReact keys must be passed directly to JSX without using spread:\n let props = %s;\n <%s key={someKey} {...props} />',o,p,h,p),I[p+o]=!0)}if(p=null,void 0!==t&&(i(t),p=""+t),function(n){if(P.call(n,"key")){var r=Object.getOwnPropertyDescriptor(n,"key").get;if(r&&r.isReactWarning)return!1}return void 0!==n.key}(e)&&(i(e.key),p=""+e.key),"key"in e)for(var f in t={},e)"key"!==f&&(t[f]=e[f]);else t=e;return p&&function(n,r){function e(){u||(u=!0,console.error("%s: `key` is not a prop. Trying to access it will result in `undefined` being returned. If you need to access the same value within the child component, you should pass it as a different prop. (https://react.dev/link/special-props)",r))}e.isReactWarning=!0,Object.defineProperty(n,"key",{get:e,configurable:!0})}(t,"function"==typeof n?n.displayName||n.name||"Unknown":n),function(n,r,e,i,t,o){var d=e.ref;return n={$$typeof:m,type:n,key:r,props:e,_owner:i},null!==(void 0!==d?d:null)?Object.defineProperty(n,"ref",{enumerable:!1,get:a}):Object.defineProperty(n,"ref",{enumerable:!1,value:null}),n._store={},Object.defineProperty(n._store,"validated",{configurable:!1,enumerable:!1,writable:!0,value:0}),Object.defineProperty(n,"_debugInfo",{configurable:!1,enumerable:!1,writable:!0,value:null}),Object.defineProperty(n,"_debugStack",{configurable:!1,enumerable:!1,writable:!0,value:t}),Object.defineProperty(n,"_debugTask",{configurable:!1,enumerable:!1,writable:!0,value:o}),Object.freeze&&(Object.freeze(n.props),Object.freeze(n)),n}(n,p,t,null===(c=B.A)?null:c.getOwner(),d,s)}function l(n){s(n)?n._store&&(n._store.validated=1):"object"==typeof n&&null!==n&&n.$$typeof===j&&("fulfilled"===n._payload.status?s(n._payload.value)&&n._payload.value._store&&(n._payload.value._store.validated=1):n._store&&(n._store.validated=1))}function s(n){return"object"==typeof n&&null!==n&&n.$$typeof===m}var u,c=n,m=Symbol.for("react.transitional.element"),p=Symbol.for("react.portal"),f=Symbol.for("react.fragment"),_=Symbol.for("react.strict_mode"),x=Symbol.for("react.profiler"),y=Symbol.for("react.consumer"),g=Symbol.for("react.context"),b=Symbol.for("react.forward_ref"),v=Symbol.for("react.suspense"),w=Symbol.for("react.suspense_list"),k=Symbol.for("react.memo"),j=Symbol.for("react.lazy"),S=Symbol.for("react.activity"),C=Symbol.for("react.client.reference"),B=c.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,P=Object.prototype.hasOwnProperty,L=Array.isArray,z=console.createTask?console.createTask:function(){return null},N={},T=(c={react_stack_bottom_frame:function(n){return n()}}).react_stack_bottom_frame.bind(c,o)(),F=z(t(o)),I={};h.Fragment=f,h.jsx=function(n,r,e){var i=1e4>B.recentlyCreatedOwnerStacks++;return d(n,r,e,!1,i?Error("react-stack-top-frame"):T,i?z(t(n)):F)},h.jsxs=function(n,r,e){var i=1e4>B.recentlyCreatedOwnerStacks++;return d(n,r,e,!0,i?Error("react-stack-top-frame"):T,i?z(t(n)):F)}}()),h);var f=c.exports;function _(n,r){void 0===r&&(r={});var e=r.insertAt;if(n&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css","top"===e&&i.firstChild?i.insertBefore(t,i.firstChild):i.appendChild(t),t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n))}}_("@layer base {\r\n html, body {\r\n padding: 0;\r\n margin: 0;\r\n border: 0;\r\n width: 100%; \r\n height: 100%;\r\n }\r\n #Layout-module_root__3x-pW { \r\n text-align: initial;\r\n width: 100%;\r\n height:100%\r\n } \r\n}\r\n*, *:before, *:after {\r\n box-sizing: border-box;\r\n}\r\n.Layout-module_rootBox__3JHjy {\r\n text-rendering: optimizeLegibility;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n width: 100%;\r\n min-height: 100%;\r\n}\r\n.Layout-module_rootBackground__j3UVG {\r\n box-sizing: border-box; \r\n pointer-events: none;\r\n inset-block-start:0;\r\n inset-inline-start:0; \r\n width: 100%; \r\n min-width: 100vw;\r\n height:100%;\r\n min-height: 100vh;\r\n overflow: hidden;\r\n position: fixed;\r\n z-index: 0;\r\n}\r\n.Layout-module_rootBackground__j3UVG>div{\r\n width:100%;\r\n height: 100%;\r\n overflow: hidden;\r\n}\r\n.Layout-module_rootLayout__jVEEF {\r\n position: relative;\r\n z-index: 1;\r\n box-sizing: border-box; \r\n width: 100%;\r\n min-height: 100%;\r\n display: flex; \r\n flex-flow: row;\r\n background-color: transparent;\r\n container-type: inline-size;\r\n}\r\n\r\n.Layout-module_mainLayout__6W9W9 {\r\n box-sizing: border-box; \r\n display: flex;\r\n flex-flow: column; \r\n width: 100%;\r\n}\r\n");const x=Symbol("LayoutAside"),y=Symbol("LayoutContent"),g=Symbol("LayoutHeader"),b=Symbol("LayoutBackground"),v=r({setLayoutConfig:()=>{},setLocale:()=>{}}),w=r({locale:"en-US",languages:[],layoutConfig:{},themeSkinMap:{tidy:[],rich:[]}}),k=()=>e(w),j=()=>e(v),S=()=>k().layoutConfig.theme;function C(n){return f.jsx("div",{className:"Layout-module_rootBackground__j3UVG",children:f.jsx(f.Fragment,{children:n.children})})}function B(n){return f.jsx(f.Fragment,{children:n.children})}function P(n){return f.jsx(f.Fragment,{children:n.children})}function L(n){return f.jsx(f.Fragment,{children:n.children})}function z(n,r){void 0===r&&(r={});var e=r.insertAt;if(n&&"undefined"!=typeof document){var i=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css","top"===e&&i.firstChild?i.insertBefore(t,i.firstChild):i.appendChild(t),t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n))}}C.displayName="LayoutBackground",C.role=b,B.displayName="LayoutContent",B.role=y,P.displayName="LayoutAside",P.role=x,L.displayName="LayoutHeader",L.role=g,_("@layer base {\r\n html, body {\r\n padding: 0;\r\n margin: 0;\r\n border: 0;\r\n width: 100%; \r\n height: 100%;\r\n }\r\n #layout-module_root__0efzq { \r\n text-align: initial;\r\n width: 100%;\r\n height:100%\r\n } \r\n}\r\n*, *:before, *:after {\r\n box-sizing: border-box;\r\n}\r\n.layout-module_rootBox__Y8bEx {\r\n text-rendering: optimizeLegibility;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n width: 100%;\r\n min-height: 100%;\r\n}\r\n.layout-module_rootBackground__vEs6e {\r\n box-sizing: border-box; \r\n pointer-events: none;\r\n inset-block-start:0;\r\n inset-inline-start:0; \r\n width: 100%; \r\n min-width: 100vw;\r\n height:100%;\r\n min-height: 100vh;\r\n overflow: hidden;\r\n position: fixed;\r\n z-index: 0;\r\n}\r\n.layout-module_rootBackground__vEs6e>div{\r\n width:100%;\r\n height: 100%;\r\n overflow: hidden;\r\n}\r\n.layout-module_rootLayout__TePvr {\r\n position: relative;\r\n z-index: 1;\r\n box-sizing: border-box; \r\n width: 100%;\r\n min-height: 100%;\r\n display: flex; \r\n flex-flow: row;\r\n background-color: transparent;\r\n container-type: inline-size;\r\n}\r\n\r\n.layout-module_mainLayout__a8Tb9 {\r\n box-sizing: border-box; \r\n display: flex;\r\n flex-flow: column; \r\n width: 100%;\r\n}\r\n");z("@layer base { \r\n :root{\r\n --pageload-bar-color:#ff6600\r\n } \r\n #index_root__t3vw8 {\r\n padding: 0;\r\n margin: 0;\r\n border: 0;\r\n width: 100%;\r\n height: 100%;\r\n }\r\n}\r\n\r\n/** Menu icon automatic compact mode */\r\n.index_adminui-menu-icon__sDVLQ {\r\n font-size: var(--adminui-menu-icon-size);\r\n width: var(--adminui-menu-icon-size);\r\n height: var(--adminui-menu-icon-size);\r\n}\r\n");var N="index-module_toolbarItem__RkaXd",T="index-module_siderContentBox__dGgRe",F="index-module_siderContentItem__kl3cR";z('@layer base { \r\n\r\n :root { \r\n --sb-track-color: transparent;\r\n --sb-thumb-color: #ccc;\r\n --sb-thumb-hover: #b3b3b3;\r\n --sb-html-track-color: rgb(250,250,250);\r\n color-scheme: light;\r\n }\r\n\r\n * {\r\n box-sizing: border-box;\r\n scrollbar-width: thin;\r\n scrollbar-color: var(--sb-thumb-color) var(--sb-track-color);\r\n }\r\n\r\n html {\r\n scrollbar-color: var(--sb-thumb-color) var(--sb-html-track-color);\r\n }\r\n \r\n @media (prefers-color-scheme: dark) {\r\n :root {\r\n --sb-track-color: transparent;\r\n --sb-thumb-color: #383838;\r\n --sb-thumb-hover: rgb(49, 49, 49);\r\n --sb-html-track-color: rgb(20,20,20);\r\n color-scheme: dark;\r\n }\r\n }\r\n\r\n :root[style="color-scheme: dark;"],\r\n :root[class="dark"] { \r\n --sb-track-color: transparent;\r\n --sb-thumb-color: #383838;\r\n --sb-thumb-hover: rgb(49, 49, 49); \r\n --sb-html-track-color: rgb(20,20,20); \r\n color-scheme: dark; \r\n }\r\n\r\n ::-webkit-scrollbar {\r\n width: 8px;\r\n height: 8px;\r\n background-color: transparent;\r\n } \r\n\r\n ::-webkit-scrollbar-track {\r\n background-color: var(--sb-track-color);\r\n border-radius: 10px;\r\n }\r\n\r\n ::-webkit-scrollbar-thumb {\r\n background-color: var(--sb-thumb-color);\r\n border-radius: 10px; \r\n border: 2px solid var(--sb-track-color);\r\n }\r\n ::-webkit-scrollbar-thumb:hover {\r\n background-color: var(--sb-thumb-hover);\r\n } \r\n}\r\n/** header */\r\n.index-module_headerLayout__rv59v {\r\n box-sizing: border-box;\r\n min-width: 100%;\r\n padding-block: 0;\r\n padding-inline: 0; \r\n transition: opacity var(--adminui-motion-duration-mid), padding var(--adminui-motion-duration-mid), width var(--adminui-motion-duration-mid);\r\n}\r\n\r\n.index-module_headerLayoutSticky__6uFCj {\r\n position: sticky;\r\n width: 100%;\r\n z-index: 100;\r\n top:0;\r\n}\r\n.index-module_headerLayoutFixed__t5Hmo {\r\n position: fixed;\r\n width: 100%;\r\n z-index: 100;\r\n inset-block-start: 0;\r\n inset-inline-end: 0;\r\n}\r\n.index-module_headerLayoutBox__h0fIt {\r\n display: flex;\r\n flex-flow: row;\r\n justify-content: space-between;\r\n align-items: center;\r\n}\r\n.index-module_headerMenu__WHmJN {\r\n border:0px;\r\n background-color: transparent;\r\n flex:1;\r\n height: 100%;\r\n min-width: 0px;\r\n}\r\n.index-module_headerTitle__jGbCX {\r\n white-space: nowrap;\r\n text-overflow: ellipsis;\r\n}\r\n.index-module_headerBrandBox__U2J16 {\r\n width: auto; \r\n}\r\n\r\n.index-module_layoutBlur__GpCPx { \r\n transform: translateZ(0);\r\n backdrop-filter: blur(8px);\r\n}\r\n\r\n.index-module_toolbarPanel__Pp8PS {\r\n display: flex;\r\n justify-content: end;\r\n align-items: center;\r\n}\r\n.index-module_toolbarPanel__Pp8PS .index-module_toolbarItem__RkaXd {\r\n display: flex;\r\n justify-content: end;\r\n align-items: center;\r\n}\r\n.index-module_toolbarAvatarItem__p6TXY {\r\n display: flex;\r\n align-items: center;\r\n padding-inline: var(--adminui-padding-xs); \r\n gap: 8px;\r\n cursor: pointer;\r\n}\r\n.index-module_toolbarAvatarItem__p6TXY span {\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n min-width: 0;\r\n max-width: 100px;\r\n}\r\n\r\n/** sider */\r\n.index-module_siderBaseStyle__zg1FM {\r\n background:\'transparent\'; \r\n padding-bottom: 0px; \r\n z-index: 10;\r\n transition: opacity var(--adminui-motion-duration-mid), padding var(--adminui-motion-duration-mid), width var(--adminui-motion-duration-mid); \r\n}\r\n\r\n.index-module_siderMask__cCjMh {\r\n overflow: hidden;\r\n transition:background-color 0.3s, min-width 0.3s, max-width 0.3s cubic-bezier(0.645, 0.045, 0.355, 1)\r\n}\r\n.index-module_siderContentBox__dGgRe {\r\n display: flex;\r\n flex-flow: column;\r\n align-items: center;\r\n width: 100%;\r\n min-height: 0px;\r\n transition: opacity var(--adminui-motion-duration-mid), padding var(--adminui-motion-duration-mid), width var(--adminui-motion-duration-mid); \r\n}\r\n\r\n.index-module_siderContentItem__kl3cR { \r\n display: flex; \r\n align-items: center;\r\n width: 100%; \r\n min-height: 0px;\r\n transition: opacity var(--adminui-motion-duration-mid), padding var(--adminui-motion-duration-mid), width var(--adminui-motion-duration-mid); \r\n}\r\n.index-module_siderContentItem__kl3cR>div{\r\n display: flex; \r\n align-items: center;\r\n opacity: 1;\r\n transition: opacity var(--adminui-motion-duration-mid), padding var(--adminui-motion-duration-mid), width var(--adminui-motion-duration-mid); \r\n}\r\n\r\n.index-module_collapsedTrack__LoJ3V {\r\n display: flex;\r\n flex-flow: column;\r\n justify-content: center;\r\n align-items: center; \r\n position: absolute;\r\n top:0px;\r\n bottom:0px;\r\n right:-14px;\r\n cursor: pointer;\r\n}\r\n.index-module_collapsedTrack__LoJ3V .index-module_collapsedTrackButton__m33XS {\r\n width: 14px;\r\n height: 36px;\r\n border-top-right-radius: 4px;\r\n border-bottom-right-radius: 4px;\r\n display: flex;\r\n flex-flow: column;\r\n justify-content: center;\r\n align-items: center; \r\n opacity: 0; \r\n transition: opacity var(--adminui-motion-duration-mid), padding var(--adminui-motion-duration-mid), width var(--adminui-motion-duration-mid); \r\n\r\n}\r\n.index-module_collapsedTrack__LoJ3V:hover .index-module_collapsedTrackButton__m33XS {\r\n opacity: 1;\r\n}\r\n\r\n/** brand */ \r\n.index-module_brandPanel__2GRgq {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding:var(--adminui-margin-xxs);\r\n}\r\n.index-module_brandPanel__2GRgq button {\r\n display: flex;\r\n width: 100%;\r\n align-items: center;\r\n opacity: 1;\r\n padding-inline: var(--adminui-padding-xs); \r\n transition: all 0.3s;\r\n\r\n}\r\n.index-module_brandPanel__2GRgq a {\r\n display: flex;\r\n width: 100%;\r\n height: 100%;\r\n align-items: center;\r\n opacity: 1;\r\n color:inherit; \r\n transition: all 0.3s; \r\n padding-inline: var(--adminui-padding-xs);\r\n border-radius: var(--adminui-border-radius-lg);\r\n}\r\n\r\n.index-module_brandPanel__2GRgq a:hover{\r\n background-color: var(--adminui-control-item-bg-hover);\r\n}\r\n.index-module_brandPanel__2GRgq a:active{\r\n background-color: var(--adminui-control-item-bg-active);\r\n}\r\n\r\n.index-module_brandPanel__2GRgq h4{\r\n margin:0px;\r\n padding:0px;\r\n line-height: 1rem;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n min-width: 0;\r\n}\r\n.index-module_brandPanel__2GRgq span {\r\n margin:0px; \r\n line-height: 1rem;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n min-width: 0;\r\n}\r\n\r\n.index-module_brandPanel__2GRgq .index-module_labelBox__dX8fY {\r\n width: 100%; \r\n display:flex;\r\n flex-flow:column;\r\n justify-content:space-between;\r\n transition: opacity var(--adminui-motion-duration-slow) var(--adminui-motion-ease-in-out), padding var(--adminui-motion-duration-mid) var(--adminui-motion-ease-in-out);\r\n}\r\n.index-module_brandNodeBox__W-iM6 {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n color:var(--adminui-color-primary);\r\n transition: opacity var(--adminui-motion-duration-slow) var(--adminui-motion-ease-in-out), width var(--adminui-motion-duration-mid) var(--adminui-motion-ease-in-out);\r\n}\r\n\r\n.index-module_brandMobilePanel__m1Diu {\r\n opacity: 0;\r\n width: 0px;\r\n overflow: hidden;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n height: 100%;\r\n gap: 8px;\r\n transition: opacity var(--adminui-motion-duration-slow) var(--adminui-motion-ease-in-out), width var(--adminui-motion-duration-mid) var(--adminui-motion-ease-in-out),padding var(--adminui-motion-duration-mid) var(--adminui-motion-ease-in-out);\r\n}\r\n.index-module_brandMobilePanel__m1Diu a {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n.index-module_largeBrandPanel__pLn-- {\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n flex-flow: column;\r\n gap: 2px;\r\n padding: var(--adminui-padding-lg); \r\n}\r\n\r\n.index-module_largeBrandPanel__pLn-- img {\r\n transition: width var(--adminui-motion-duration-slow) var(--adminui-motion-ease-in-out); \r\n}\r\n.index-module_largeBrandPanel__pLn--\x3ediv{\r\n opacity: 1;\r\n text-align: center;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n flex-flow: column; \r\n overflow: hidden;\r\n width: 100%;\r\n transition: opacity var(--adminui-motion-duration-slow) var(--adminui-motion-ease-in-out), height var(--adminui-motion-duration-slow) var(--adminui-motion-ease-in-out);\r\n}\r\n.index-module_largeBrandPanel__pLn-- span {\r\n font-size: large;\r\n width: 100%;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n min-width: 0;\r\n}\r\n.index-module_largeBrandPanel__pLn-- span.index-module_title__SbfFY {\r\n font-size: small;\r\n color:var(--adminui-color-text-tertiary);\r\n}\r\n.index-module_largeBrandCollPanel__nsGKB {\r\n padding: var(--adminui-margin-xxs);\r\n}\r\n.index-module_largeBrandCollPanel__nsGKB a {\r\n opacity: 1;\r\n color:inherit; \r\n padding: var(--adminui-padding-xs);\r\n border-radius: var(--adminui-border-radius-lg);\r\n}\r\n.index-module_largeBrandCollPanel__nsGKB a:hover{\r\n background-color: var(--adminui-control-item-bg-hover);\r\n}\r\n.index-module_largeBrandCollPanel__nsGKB a:active{\r\n background-color: var(--adminui-control-item-bg-active);\r\n}\r\n/** avatar */\r\n.index-module_avatarPanel__fFvCS {\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n padding:var(--adminui-margin-xxs);\r\n}\r\n.index-module_avatarPanel__fFvCS a {\r\n display: flex;\r\n width: 100%;\r\n height: 100%;\r\n align-items: center;\r\n opacity: 1;\r\n color:inherit; \r\n transition: all 0.3s;\r\n padding-inline: var(--adminui-padding-xs);\r\n border-radius: var(--adminui-border-radius-lg);\r\n}\r\n\r\n.index-module_avatarPanel__fFvCS a:hover{\r\n background-color: var(--adminui-control-item-bg-hover);\r\n}\r\n.index-module_avatarPanel__fFvCS a:active{\r\n background-color: var(--adminui-control-item-bg-active);\r\n}\r\n\r\n.index-module_avatarPanel__fFvCS h4{\r\n width: 90%;\r\n margin:0px;\r\n padding:0px;\r\n line-height: 1rem;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n min-width: 0;\r\n}\r\n.index-module_avatarPanel__fFvCS span {\r\n width: 90%;\r\n margin:0px; \r\n line-height: 1rem;\r\n white-space: nowrap;\r\n overflow: hidden;\r\n text-overflow: ellipsis;\r\n min-width: 0;\r\n}\r\n\r\n.index-module_avatarPanel__fFvCS .index-module_labelBox__dX8fY {\r\n width: 100%;\r\n display:flex;\r\n flex-flow:column;\r\n justify-content:space-between;\r\n transition: opacity var(--adminui-motion-duration-slow) var(--adminui-motion-ease-in-out);\r\n}\r\n\r\n.index-module_collapsedMobile__Yu8F4 { \r\n display: none;\r\n justify-content: center;\r\n align-items: center;\r\n}\r\n\r\n\r\n\r\n/** container */\r\n.index-module_containerBox__pv0qs {\r\n box-sizing: border-box;\r\n background-color: transparent;\r\n display: flex;\r\n flex-flow: column;\r\n flex:auto;\r\n}\r\n.index-module_containerBox__pv0qs>h3 {\r\n box-sizing: border-box;\r\n line-height: var(--adminui-line-height);\r\n margin:0 0 var(--adminui-margin);\r\n}\r\n.index-module_containerBox__pv0qs>footer{\r\n display: flex;\r\n flex-flow: column;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n color:var(--adminui-color-text-description);\r\n padding:var(--adminui-padding);\r\n}\r\n.index-module_containerBox__pv0qs>footer>div{\r\n text-align: center;\r\n}\r\n\r\n\r\n/** antd(adminui) */\r\n.index-module_headerLayout__rv59v .adminui-layout-header{\r\n padding-inline: 0px;\r\n}\r\n.index-module_headerLayout__rv59v .adminui-btn,\r\n.index-module_siderBaseStyle__zg1FM .adminui-btn{\r\n font-size: inherit;\r\n}\r\n.index-module_headerLayoutBox__h0fIt.index-module_round__WoVxM .adminui-menu-horizontal >.adminui-menu-item::after, \r\n.index-module_headerLayoutBox__h0fIt.index-module_round__WoVxM .adminui-menu-horizontal >.adminui-menu-submenu::after { \r\n border-radius: 4px;\r\n}\r\n\r\n.index-module_siderBaseStyle__zg1FM .adminui-layout-sider-trigger{\r\n position: absolute; \r\n top:0; \r\n right:0;\r\n height:100%;\r\n}\r\n.index-module_siderBaseStyle__zg1FM .adminui-layout-sider-children {\r\n display: flex;\r\n flex-flow: column;\r\n margin-top: 0px;\r\n padding-top: 0px;\r\n\r\n}\r\n\r\n@container (max-width: 576px) { \r\n .index-module_headerLayout__rv59v .adminui-layout-header {\r\n padding-inline-start: var(--adminui-padding-xs);\r\n }\r\n .index-module_headerMenu__WHmJN {\r\n justify-content: end;\r\n max-width: 80px;\r\n } \r\n .index-module_headerBrandBox__U2J16 {\r\n display: none;\r\n }\r\n .index-module_siderMask__cCjMh {\r\n display: none;\r\n }\r\n .index-module_brandMobilePanel__m1Diu {\r\n opacity: 1; \r\n padding-inline: var(--adminui-padding-xs);\r\n justify-content: flex-start;\r\n flex:1;\r\n }\r\n .index-module_largeBrandPanel__pLn-- {\r\n display: none;\r\n }\r\n .index-module_collapsedMobile__Yu8F4 {\r\n display: flex;\r\n }\r\n .index-module_collapsedTrack__LoJ3V {\r\n visibility: collapse;\r\n }\r\n .index-module_toolbarPanel__Pp8PS *[data-adminui-role="desk-toolbar"] {\r\n display: none;\r\n }\r\n .index-module_toolbarAvatarItem__p6TXY span {\r\n display: none;\r\n }\r\n}\r\n');const I=r({collapsed:!1,headerHeight:50,setCollapsed:()=>{}}),R=r({close:()=>{}}),M=r({close:()=>{}}),A=Symbol("AsideFooter"),E=Symbol("AsideHeader"),O=Symbol("AsideContentItems"),G=Symbol("AsideContentItem"),W=Symbol("ContentFooter"),$=Symbol("AvatarPopoverContent"),V=Symbol("BrandPopoverContent"),J=Symbol("SoltContent"),q=Symbol("ToolbarExtraItems"),X=()=>e(I).collapsed,U=()=>d(),H=()=>e(R),Y=()=>e(M),{useToken:D}=i;function K(n){return f.jsx("div",{style:{...n.style},children:n.children})}K.displayName="BrandPopoverContent",K.role=V;const{useToken:Q}=i;function Z(n){return f.jsx("div",{style:{...n.style},children:n.children})}Z.displayName="AvatarPopoverContent",Z.role=$;const{useToken:nn}=i;function rn(n){const r=f.jsx("div",{className:N,"data-adminui-role":"desk-toolbar",children:n.children});return n?f.jsx(f.Fragment,{children:r}):f.jsx(f.Fragment,{})}rn.displayName="ToolbarExtraItems",rn.role=q;const{useToken:en}=i,{Header:tn}=t,{useToken:on}=i,{Sider:an}=t,{useToken:dn}=i,{useBreakpoint:ln}=o;function sn(n,r){let e=[],i=[];return n.forEach(n=>{n.key==r[1]&&(i=n.children??[]);const t={...n,children:void 0};e.push(t)}),{rootMenuItems:e,childrenMenuItems:i}}const un=n=>{let r=[];if(!(null==n||n.length<=0))return n.forEach(n=>{let e=fn(n);e.children=un(n.children),r.push(e)}),r},cn=(n,r)=>{if(n)return n.map(n=>{const e=pn(n,r),i={...n,label:e};return n.children&&(i.children=cn(n.children,r)),i})},mn=(n,r,e,i)=>{if(i){const t="menu"+n.replaceAll("/",".");return i.formatMessage({id:t,defaultMessage:e||r})}return e||r},pn=(n,r)=>{const e=n.path||"";return mn(e,n.name,n.label,r)},hn=(n,r)=>mn(n.pathname,n.id,"",r),fn=n=>({key:n.path||n.name,label:n.label||n.name,icon:n.icon,extra:n.extra,title:n.label});function _n(n){const r="/"===n?"/":n.replace(/\/+$/,"");if("/"===r)return["/"];const e=r.split("/").filter(Boolean),i=["/"];let t="";for(const n of e)t+=`/${n}`,i.push(t);return i}function xn(n){let r=_n(n);return r&&r.length>1&&"/"==r[0]&&r.splice(0,1),r}function yn(n){const r=n.length;if(0===r)return[[],[]];const e=[n[1]],i=new Array(r-2);for(let e=1;e<r;e++)i[e-1]=n[e];return[e,i]}function gn(n,r){if(r)return!n.endsWith("/")&&n.length>1&&(n+="/"),r.map(r=>{const e=function(n,r){let e=r.path||r.name;e?.startsWith("/")&&(e=e.slice(1));e?.startsWith("./")&&(e=e.slice(2));let i=n+e,t={name:i,path:i,originalPath:i,extra:wn(r.extra),icon:wn(r.icon)};return t}(n,r);return r.children&&(e.children=gn(e.path,r.children)),e})}function bn(n,r){if(r)return!n.endsWith("/")&&n.length>1&&(n+="/"),r.filter(n=>!!n.handle).map(r=>{const e=function(n,r){const{handle:e}=r;let i=r.path;i&&e.params&&(i=l(i,e.params));i?.startsWith("/")&&(i=i.slice(1));let t=n+i,o={...e,path:t,originalPath:r.path,extra:wn(e.extra),icon:wn(e.icon)};return o}(n,r);return r.children&&(e.children=bn(e.path,r.children)),e})}function vn(n,r={}){if(!Object.keys(r).some(n=>null!=r[n]))return n.split("/:")[0];const e=n.split("/"),i=[];for(const n of e)if(n.startsWith(":")){const e=n.slice(1),t=r[e];if(null==t)break;i.push(encodeURIComponent(String(t)))}else i.push(n);return i.join("/")}const wn=r=>n.isValidElement(r)?r:"function"==typeof r||"object"==typeof r?n.createElement(r):null,{useToken:kn}=i,jn=n=>s(n),Sn=()=>jn("#22222222"),Cn=()=>jn("#FFFFFF");function Bn(n){const r=X(),{layoutConfig:e}=k(),i=e.compact?"16px":"20px";let t={justifyContent:"flex-start",paddingInline:e.compact?"14px":"16px",marginInline:"4px",marginBlock:"4px",gap:(e.compact?6:8)+"px"};return r&&(t={...t,paddingInline:`calc(50% - calc(${i} / 2))`}),!n.icon&&r?f.jsx(f.Fragment,{}):f.jsxs("div",{className:F,style:t,children:[f.jsx("div",{children:n.icon}),f.jsx("div",{style:{opacity:r?"0":"1"},children:n.children})]})}function Pn(n){return f.jsx(f.Fragment,{children:n.children})}function Ln(n){return f.jsx("div",{className:T,children:n.children})}function zn(n){return f.jsx("div",{className:T,children:n.children})}Pn.displayName="AsideContentItems",Bn.displayName="AsideContentItem",zn.displayName="AsideHeaderContent",zn.Items=Pn,zn.Item=Bn,Ln.displayName="AsideFooterContent",Ln.Items=Pn,Ln.Item=Bn,Ln.role=E,zn.role=A,Pn.role=O,Bn.role=G;const Nn="adminui-default-config",Tn=()=>{const n=a(),{layoutConfig:r}=k(),{f:e,t:i}=Fn(r.disabledLocale?void 0:n);return{...n,f:e,t:i}},Fn=n=>({f:r=>{const{id:e,defaultMessage:i}=r;return n?n.formatMessage({id:e,defaultMessage:i}):i||e.split(".").pop()},t:(r,e)=>n?n.formatMessage({id:r,defaultMessage:e}):e||r.split(".").pop()}),In=n=>{const{brandInfo:r,userInfo:e,...i}=n;return i},Rn=n=>{n||(n=Nn);const r=window.localStorage.getItem(n);try{if(r)return JSON.parse(r)}catch(n){console.error(n)}},Mn=(n,r)=>{r||(r=Nn);const{brandInfo:e,userInfo:i,...t}=n,o=JSON.stringify(t);window.localStorage.setItem(r,o)},An=(n,r)=>{let e={...n};if(r){const n=r.theme.length<2?r.theme[0]:e.theme;e={...e,primaryColor:r.primaryColor??e.primaryColor,containerBlur:r.containerBlur??e.containerBlur,asideBlur:r.asideBlur??e.asideBlur,asideWidth:r.asideWidth??e.asideWidth,headerBlur:r.asideBlur??e.headerBlur,theme:n}}return e},{useToken:En}=i,On=n=>f.jsx("div",{...n,children:n.children});function Gn(n){return f.jsx(f.Fragment,{children:n.children})}On.displayName="ContentFooter",On.role=W,Gn.displayName="SoltContent",Gn.role=J;export{vn as buildRouteWithParams,fn as getAntdMenuItem,Fn as getAppIntl,In as getBasicLayoutConfig,Sn as getBlackColors,pn as getMenuLabel,hn as getRouterLabel,Rn as getStorageConfig,Cn as getWhiteColors,cn as localeMenuData,xn as matchPathToKeys,_n as pathToKeys,sn as separateMenuData,An as setSkinConfig,Mn as setStorageConfig,yn as splitMenuKeys,gn as transformMenuData,bn as transformRouteToMenuData,un as transformToAntdMenuData,Tn as useAppIntl,H as useAvatarPopover,Y as useBrandPopover,j as useConfigAction,k as useConfigState,U as useContainerOutlet,X as useMainCollapsed,S as useTheme};
|
package/package.json
ADDED
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@adminui-dev/antd-layout",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "this project name is @adminui-dev/antd-layout",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"layut",
|
|
7
|
+
"antd-layout",
|
|
8
|
+
"adminui",
|
|
9
|
+
"admin-layout",
|
|
10
|
+
"layout",
|
|
11
|
+
"react-layout"
|
|
12
|
+
],
|
|
13
|
+
"license": "MIT",
|
|
14
|
+
"author": "zhouwenqi",
|
|
15
|
+
"type": "commonjs",
|
|
16
|
+
"publishConfig": {
|
|
17
|
+
"access": "public"
|
|
18
|
+
},
|
|
19
|
+
"module": "./dist/index.esm.js",
|
|
20
|
+
"exports": {
|
|
21
|
+
".": {
|
|
22
|
+
"import": "./dist/index.esm.js",
|
|
23
|
+
"require": "./dist/index.cjs.js",
|
|
24
|
+
"types": "./dist/index.d.ts"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"main": "./dist/index.cjs.js",
|
|
28
|
+
"types": "./dist/index.d.ts",
|
|
29
|
+
"authors": [
|
|
30
|
+
"zhouwenqi <zhouwenqi1982@live.com>"
|
|
31
|
+
],
|
|
32
|
+
"files": [
|
|
33
|
+
"dist"
|
|
34
|
+
],
|
|
35
|
+
"repository": {
|
|
36
|
+
"type": "git",
|
|
37
|
+
"url": "git+https://github.com/zhouwenqi/adminui-antd-layout.git"
|
|
38
|
+
},
|
|
39
|
+
"homepage": "https://demo.adminui.dev",
|
|
40
|
+
"scripts": {
|
|
41
|
+
"build": "rollup -c",
|
|
42
|
+
"dev": "rollup -c -w",
|
|
43
|
+
"lint": "eslint \"src/**/*.{ts,tsx}\"",
|
|
44
|
+
"lint:fix": "eslint \"src/**/*.{ts,tsx}\" --fix",
|
|
45
|
+
"prepublishOnly": "npm run build"
|
|
46
|
+
},
|
|
47
|
+
"dependencies": {
|
|
48
|
+
"tslib": "^2.6.0"
|
|
49
|
+
},
|
|
50
|
+
"devDependencies": {
|
|
51
|
+
"@rollup/plugin-commonjs": "^25.0.0",
|
|
52
|
+
"@rollup/plugin-node-resolve": "^15.0.0",
|
|
53
|
+
"@rollup/plugin-typescript": "^11.0.0",
|
|
54
|
+
"@types/commander": "^2.12.5",
|
|
55
|
+
"@types/react": "^19.2.0",
|
|
56
|
+
"@types/react-dom": "^19.2.0",
|
|
57
|
+
"postcss": "^8.5.6",
|
|
58
|
+
"postcss-modules": "^6.0.1",
|
|
59
|
+
"rollup": "^4.0.0",
|
|
60
|
+
"rollup-plugin-dts": "^6.0.0",
|
|
61
|
+
"rollup-plugin-postcss": "^4.0.2",
|
|
62
|
+
"rollup-plugin-terser": "^7.0.2",
|
|
63
|
+
"typescript": "^5.0.3",
|
|
64
|
+
"react": "^19.2.0",
|
|
65
|
+
"react-dom": "^19.2.0",
|
|
66
|
+
"react-intl": "^8.0.4",
|
|
67
|
+
"react-router": "^7.11.0",
|
|
68
|
+
"react-router-dom": "^7.11.0",
|
|
69
|
+
"@adminui-dev/layout":"1.0.6",
|
|
70
|
+
"antd": "^6.1.1"
|
|
71
|
+
},
|
|
72
|
+
"peerDependencies": {
|
|
73
|
+
"react": ">=19.2.0",
|
|
74
|
+
"react-dom": ">=19.2.0",
|
|
75
|
+
"@adminui-dev/layout":">=1.0.6",
|
|
76
|
+
"react-intl": ">=8.0.4",
|
|
77
|
+
"react-router": ">=7.11.0",
|
|
78
|
+
"react-router-dom": ">=7.11.0",
|
|
79
|
+
"@ant-design/colors": ">=7.2.1",
|
|
80
|
+
"@ant-design/icons": ">=6.1.0",
|
|
81
|
+
"antd": ">=6.1.1"
|
|
82
|
+
}
|
|
83
|
+
}
|