add all frontend files

This commit is contained in:
2026-01-17 15:16:36 -05:00
parent ff16ae7858
commit e40287e4aa
25704 changed files with 1935289 additions and 0 deletions

28
node_modules/antd/es/layout/Sider.d.ts generated vendored Normal file
View File

@@ -0,0 +1,28 @@
import * as React from 'react';
export interface SiderContextProps {
siderCollapsed?: boolean;
}
export declare const SiderContext: React.Context<SiderContextProps>;
export type CollapseType = 'clickTrigger' | 'responsive';
export type SiderTheme = 'light' | 'dark';
export interface SiderProps extends React.HTMLAttributes<HTMLDivElement> {
prefixCls?: string;
collapsible?: boolean;
collapsed?: boolean;
defaultCollapsed?: boolean;
reverseArrow?: boolean;
onCollapse?: (collapsed: boolean, type: CollapseType) => void;
zeroWidthTriggerStyle?: React.CSSProperties;
trigger?: React.ReactNode;
width?: number | string;
collapsedWidth?: number | string;
breakpoint?: 'xs' | 'sm' | 'md' | 'lg' | 'xl' | 'xxl';
theme?: SiderTheme;
onBreakpoint?: (broken: boolean) => void;
}
export interface SiderState {
collapsed?: boolean;
below: boolean;
}
declare const Sider: React.ForwardRefExoticComponent<SiderProps & React.RefAttributes<HTMLDivElement>>;
export default Sider;

166
node_modules/antd/es/layout/Sider.js generated vendored Normal file
View File

@@ -0,0 +1,166 @@
"use client";
var __rest = this && this.__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
import * as React from 'react';
import { useContext, useEffect, useRef, useState } from 'react';
import BarsOutlined from "@ant-design/icons/es/icons/BarsOutlined";
import LeftOutlined from "@ant-design/icons/es/icons/LeftOutlined";
import RightOutlined from "@ant-design/icons/es/icons/RightOutlined";
import classNames from 'classnames';
import omit from "rc-util/es/omit";
import { addMediaQueryListener, removeMediaQueryListener } from '../_util/mediaQueryUtil';
import { ConfigContext } from '../config-provider';
import { LayoutContext } from './context';
import useStyle from './style/sider';
const dimensionMaxMap = {
xs: '479.98px',
sm: '575.98px',
md: '767.98px',
lg: '991.98px',
xl: '1199.98px',
xxl: '1599.98px'
};
const isNumeric = val => !Number.isNaN(Number.parseFloat(val)) && Number.isFinite(Number(val));
export const SiderContext = /*#__PURE__*/React.createContext({});
const generateId = (() => {
let i = 0;
return (prefix = '') => {
i += 1;
return `${prefix}${i}`;
};
})();
const Sider = /*#__PURE__*/React.forwardRef((props, ref) => {
const {
prefixCls: customizePrefixCls,
className,
trigger,
children,
defaultCollapsed = false,
theme = 'dark',
style = {},
collapsible = false,
reverseArrow = false,
width = 200,
collapsedWidth = 80,
zeroWidthTriggerStyle,
breakpoint,
onCollapse,
onBreakpoint
} = props,
otherProps = __rest(props, ["prefixCls", "className", "trigger", "children", "defaultCollapsed", "theme", "style", "collapsible", "reverseArrow", "width", "collapsedWidth", "zeroWidthTriggerStyle", "breakpoint", "onCollapse", "onBreakpoint"]);
const {
siderHook
} = useContext(LayoutContext);
const [collapsed, setCollapsed] = useState('collapsed' in props ? props.collapsed : defaultCollapsed);
const [below, setBelow] = useState(false);
useEffect(() => {
if ('collapsed' in props) {
setCollapsed(props.collapsed);
}
}, [props.collapsed]);
const handleSetCollapsed = (value, type) => {
if (!('collapsed' in props)) {
setCollapsed(value);
}
onCollapse === null || onCollapse === void 0 ? void 0 : onCollapse(value, type);
};
// =========================== Prefix ===========================
const {
getPrefixCls,
direction
} = useContext(ConfigContext);
const prefixCls = getPrefixCls('layout-sider', customizePrefixCls);
const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);
// ========================= Responsive =========================
const responsiveHandlerRef = useRef(null);
responsiveHandlerRef.current = mql => {
setBelow(mql.matches);
onBreakpoint === null || onBreakpoint === void 0 ? void 0 : onBreakpoint(mql.matches);
if (collapsed !== mql.matches) {
handleSetCollapsed(mql.matches, 'responsive');
}
};
useEffect(() => {
function responsiveHandler(mql) {
var _a;
return (_a = responsiveHandlerRef.current) === null || _a === void 0 ? void 0 : _a.call(responsiveHandlerRef, mql);
}
let mql;
if (typeof (window === null || window === void 0 ? void 0 : window.matchMedia) !== 'undefined' && breakpoint && breakpoint in dimensionMaxMap) {
mql = window.matchMedia(`screen and (max-width: ${dimensionMaxMap[breakpoint]})`);
addMediaQueryListener(mql, responsiveHandler);
responsiveHandler(mql);
}
return () => {
removeMediaQueryListener(mql, responsiveHandler);
};
}, [breakpoint]); // in order to accept dynamic 'breakpoint' property, we need to add 'breakpoint' into dependency array.
useEffect(() => {
const uniqueId = generateId('ant-sider-');
siderHook.addSider(uniqueId);
return () => siderHook.removeSider(uniqueId);
}, []);
const toggle = () => {
handleSetCollapsed(!collapsed, 'clickTrigger');
};
const divProps = omit(otherProps, ['collapsed']);
const rawWidth = collapsed ? collapsedWidth : width;
// use "px" as fallback unit for width
const siderWidth = isNumeric(rawWidth) ? `${rawWidth}px` : String(rawWidth);
// special trigger when collapsedWidth == 0
const zeroWidthTrigger = Number.parseFloat(String(collapsedWidth || 0)) === 0 ? (/*#__PURE__*/React.createElement("span", {
onClick: toggle,
className: classNames(`${prefixCls}-zero-width-trigger`, `${prefixCls}-zero-width-trigger-${reverseArrow ? 'right' : 'left'}`),
style: zeroWidthTriggerStyle
}, trigger || /*#__PURE__*/React.createElement(BarsOutlined, null))) : null;
const reverseIcon = direction === 'rtl' === !reverseArrow;
const iconObj = {
expanded: reverseIcon ? /*#__PURE__*/React.createElement(RightOutlined, null) : /*#__PURE__*/React.createElement(LeftOutlined, null),
collapsed: reverseIcon ? /*#__PURE__*/React.createElement(LeftOutlined, null) : /*#__PURE__*/React.createElement(RightOutlined, null)
};
const status = collapsed ? 'collapsed' : 'expanded';
const defaultTrigger = iconObj[status];
const triggerDom = trigger !== null ? zeroWidthTrigger || (/*#__PURE__*/React.createElement("div", {
className: `${prefixCls}-trigger`,
onClick: toggle,
style: {
width: siderWidth
}
}, trigger || defaultTrigger)) : null;
const divStyle = Object.assign(Object.assign({}, style), {
flex: `0 0 ${siderWidth}`,
maxWidth: siderWidth,
minWidth: siderWidth,
width: siderWidth
});
const siderCls = classNames(prefixCls, `${prefixCls}-${theme}`, {
[`${prefixCls}-collapsed`]: !!collapsed,
[`${prefixCls}-has-trigger`]: collapsible && trigger !== null && !zeroWidthTrigger,
[`${prefixCls}-below`]: !!below,
[`${prefixCls}-zero-width`]: Number.parseFloat(siderWidth) === 0
}, className, hashId, cssVarCls);
const contextValue = React.useMemo(() => ({
siderCollapsed: collapsed
}), [collapsed]);
return wrapCSSVar(/*#__PURE__*/React.createElement(SiderContext.Provider, {
value: contextValue
}, /*#__PURE__*/React.createElement("aside", Object.assign({
className: siderCls
}, divProps, {
style: divStyle,
ref: ref
}), /*#__PURE__*/React.createElement("div", {
className: `${prefixCls}-children`
}, children), collapsible || below && zeroWidthTrigger ? triggerDom : null)));
});
if (process.env.NODE_ENV !== 'production') {
Sider.displayName = 'Sider';
}
export default Sider;

8
node_modules/antd/es/layout/context.d.ts generated vendored Normal file
View File

@@ -0,0 +1,8 @@
import * as React from 'react';
export interface LayoutContextProps {
siderHook: {
addSider: (id: string) => void;
removeSider: (id: string) => void;
};
}
export declare const LayoutContext: React.Context<LayoutContextProps>;

7
node_modules/antd/es/layout/context.js generated vendored Normal file
View File

@@ -0,0 +1,7 @@
import * as React from 'react';
export const LayoutContext = /*#__PURE__*/React.createContext({
siderHook: {
addSider: () => null,
removeSider: () => null
}
});

2
node_modules/antd/es/layout/hooks/useHasSider.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
import type * as React from 'react';
export default function useHasSider(siders: string[], children?: React.ReactNode, hasSider?: boolean): boolean;

12
node_modules/antd/es/layout/hooks/useHasSider.js generated vendored Normal file
View File

@@ -0,0 +1,12 @@
import toArray from "rc-util/es/Children/toArray";
import Sider from '../Sider';
export default function useHasSider(siders, children, hasSider) {
if (typeof hasSider === 'boolean') {
return hasSider;
}
if (siders.length) {
return true;
}
const childNodes = toArray(children);
return childNodes.some(node => node.type === Sider);
}

15
node_modules/antd/es/layout/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,15 @@
import InternalLayout, { Content, Footer, Header } from './layout';
import Sider, { SiderContext } from './Sider';
export type { BasicProps as LayoutProps } from './layout';
export type { SiderProps } from './Sider';
type InternalLayoutType = typeof InternalLayout;
type CompoundedComponent = InternalLayoutType & {
Header: typeof Header;
Footer: typeof Footer;
Content: typeof Content;
Sider: typeof Sider;
/** @private Internal Context. Do not use in your production. */
_InternalSiderContext: typeof SiderContext;
};
declare const Layout: CompoundedComponent;
export default Layout;

11
node_modules/antd/es/layout/index.js generated vendored Normal file
View File

@@ -0,0 +1,11 @@
"use client";
import InternalLayout, { Content, Footer, Header } from './layout';
import Sider, { SiderContext } from './Sider';
const Layout = InternalLayout;
Layout.Header = Header;
Layout.Footer = Footer;
Layout.Content = Content;
Layout.Sider = Sider;
Layout._InternalSiderContext = SiderContext;
export default Layout;

18
node_modules/antd/es/layout/layout.d.ts generated vendored Normal file
View File

@@ -0,0 +1,18 @@
import * as React from 'react';
export interface GeneratorProps {
suffixCls?: string;
tagName: 'header' | 'footer' | 'main' | 'div';
displayName: string;
}
export interface BasicProps extends React.HTMLAttributes<HTMLDivElement> {
prefixCls?: string;
suffixCls?: string;
rootClassName?: string;
hasSider?: boolean;
}
declare const Layout: React.ForwardRefExoticComponent<BasicProps & React.RefAttributes<HTMLElement>>;
declare const Header: React.ForwardRefExoticComponent<BasicProps & React.RefAttributes<HTMLElement>>;
declare const Footer: React.ForwardRefExoticComponent<BasicProps & React.RefAttributes<HTMLElement>>;
declare const Content: React.ForwardRefExoticComponent<BasicProps & React.RefAttributes<HTMLElement>>;
export { Content, Footer, Header };
export default Layout;

122
node_modules/antd/es/layout/layout.js generated vendored Normal file
View File

@@ -0,0 +1,122 @@
"use client";
import _toConsumableArray from "@babel/runtime/helpers/esm/toConsumableArray";
var __rest = this && this.__rest || function (s, e) {
var t = {};
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];
if (s != null && typeof Object.getOwnPropertySymbols === "function") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {
if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];
}
return t;
};
import * as React from 'react';
import classNames from 'classnames';
import omit from "rc-util/es/omit";
import { ConfigContext } from '../config-provider';
import { useComponentConfig } from '../config-provider/context';
import { LayoutContext } from './context';
import useHasSider from './hooks/useHasSider';
import useStyle from './style';
function generator({
suffixCls,
tagName,
displayName
}) {
return BasicComponent => {
const Adapter = /*#__PURE__*/React.forwardRef((props, ref) => (/*#__PURE__*/React.createElement(BasicComponent, Object.assign({
ref: ref,
suffixCls: suffixCls,
tagName: tagName
}, props))));
if (process.env.NODE_ENV !== 'production') {
Adapter.displayName = displayName;
}
return Adapter;
};
}
const Basic = /*#__PURE__*/React.forwardRef((props, ref) => {
const {
prefixCls: customizePrefixCls,
suffixCls,
className,
tagName: TagName
} = props,
others = __rest(props, ["prefixCls", "suffixCls", "className", "tagName"]);
const {
getPrefixCls
} = React.useContext(ConfigContext);
const prefixCls = getPrefixCls('layout', customizePrefixCls);
const [wrapSSR, hashId, cssVarCls] = useStyle(prefixCls);
const prefixWithSuffixCls = suffixCls ? `${prefixCls}-${suffixCls}` : prefixCls;
return wrapSSR(/*#__PURE__*/React.createElement(TagName, Object.assign({
className: classNames(customizePrefixCls || prefixWithSuffixCls, className, hashId, cssVarCls),
ref: ref
}, others)));
});
const BasicLayout = /*#__PURE__*/React.forwardRef((props, ref) => {
const {
direction
} = React.useContext(ConfigContext);
const [siders, setSiders] = React.useState([]);
const {
prefixCls: customizePrefixCls,
className,
rootClassName,
children,
hasSider,
tagName: Tag,
style
} = props,
others = __rest(props, ["prefixCls", "className", "rootClassName", "children", "hasSider", "tagName", "style"]);
const passedProps = omit(others, ['suffixCls']);
const {
getPrefixCls,
className: contextClassName,
style: contextStyle
} = useComponentConfig('layout');
const prefixCls = getPrefixCls('layout', customizePrefixCls);
const mergedHasSider = useHasSider(siders, children, hasSider);
const [wrapCSSVar, hashId, cssVarCls] = useStyle(prefixCls);
const classString = classNames(prefixCls, {
[`${prefixCls}-has-sider`]: mergedHasSider,
[`${prefixCls}-rtl`]: direction === 'rtl'
}, contextClassName, className, rootClassName, hashId, cssVarCls);
const contextValue = React.useMemo(() => ({
siderHook: {
addSider: id => {
setSiders(prev => [].concat(_toConsumableArray(prev), [id]));
},
removeSider: id => {
setSiders(prev => prev.filter(currentId => currentId !== id));
}
}
}), []);
return wrapCSSVar(/*#__PURE__*/React.createElement(LayoutContext.Provider, {
value: contextValue
}, /*#__PURE__*/React.createElement(Tag, Object.assign({
ref: ref,
className: classString,
style: Object.assign(Object.assign({}, contextStyle), style)
}, passedProps), children)));
});
const Layout = generator({
tagName: 'div',
displayName: 'Layout'
})(BasicLayout);
const Header = generator({
suffixCls: 'header',
tagName: 'header',
displayName: 'Header'
})(Basic);
const Footer = generator({
suffixCls: 'footer',
tagName: 'footer',
displayName: 'Footer'
})(Basic);
const Content = generator({
suffixCls: 'content',
tagName: 'main',
displayName: 'Content'
})(Basic);
export { Content, Footer, Header };
export default Layout;

96
node_modules/antd/es/layout/style/index.d.ts generated vendored Normal file
View File

@@ -0,0 +1,96 @@
import type { CSSProperties } from 'react';
import type { FullToken, GetDefaultToken } from '../../theme/internal';
export interface ComponentToken {
/** @deprecated Use headerBg instead */
colorBgHeader: string;
/** @deprecated Use bodyBg instead */
colorBgBody: string;
/** @deprecated Use triggerBg instead */
colorBgTrigger: string;
/**
* @desc 主体部分背景色
* @descEN Background Color of body
*/
bodyBg: string;
/**
* @desc 顶部背景色
* @descEN Background Color of header
*/
headerBg: string;
/**
* @desc 顶部高度
* @descEN Height of header
*/
headerHeight: number | string;
/**
* @desc 顶部内边距
* @descEN Padding of header
*/
headerPadding: CSSProperties['padding'];
/**
* @desc 顶部文字颜色
* @descEN Text color of header
*/
headerColor: string;
/**
* @desc 页脚内边距
* @descEN Padding of footer
*/
footerPadding: CSSProperties['padding'];
/**
* @desc 页脚背景色
* @descEN Background Color of footer
*/
footerBg: string;
/**
* @desc 侧边栏背景色
* @descEN Background Color of sider
*/
siderBg: string;
/**
* @desc 侧边栏开关高度
* @descEN Height of sider trigger
*/
triggerHeight: number | string;
/**
* @desc 侧边栏开关背景色
* @descEN Background Color of sider trigger
*/
triggerBg: string;
/**
* @desc 侧边栏开关颜色
* @descEN Color of sider trigger
*/
triggerColor: string;
/**
* @desc collapse 为 0 时侧边栏开关宽度
* @descEN Width of sider trigger when collapse is 0
*/
zeroTriggerWidth: number;
/**
* @desc collapse 为 0 时侧边栏开关高度
* @descEN Height of sider trigger when collapse is 0
*/
zeroTriggerHeight: number;
/**
* @desc 亮色主题侧边栏背景色
* @descEN Background Color of light theme sider
*/
lightSiderBg: string;
/**
* @desc 亮色主题侧边栏开关背景色
* @descEN Background Color of light theme sider trigger
*/
lightTriggerBg: string;
/**
* @desc 亮色主题侧边栏开关颜色
* @descEN Color of light theme sider trigger
*/
lightTriggerColor: string;
}
export interface LayoutToken extends FullToken<'Layout'> {
}
export declare const prepareComponentToken: GetDefaultToken<'Layout'>;
export declare const DEPRECATED_TOKENS: [keyof ComponentToken, keyof ComponentToken][];
declare const _default: (prefixCls: string, rootCls?: string) => readonly [(node: React.ReactElement) => React.ReactElement, string, string];
export default _default;

113
node_modules/antd/es/layout/style/index.js generated vendored Normal file
View File

@@ -0,0 +1,113 @@
import { unit } from '@ant-design/cssinjs';
import { genStyleHooks } from '../../theme/internal';
const genLayoutStyle = token => {
const {
antCls,
// .ant
componentCls,
// .ant-layout
colorText,
footerBg,
headerHeight,
headerPadding,
headerColor,
footerPadding,
fontSize,
bodyBg,
headerBg
} = token;
return {
[componentCls]: {
display: 'flex',
flex: 'auto',
flexDirection: 'column',
/* fix firefox can't set height smaller than content on flex item */
minHeight: 0,
background: bodyBg,
'&, *': {
boxSizing: 'border-box'
},
[`&${componentCls}-has-sider`]: {
flexDirection: 'row',
[`> ${componentCls}, > ${componentCls}-content`]: {
// https://segmentfault.com/a/1190000019498300
width: 0
}
},
[`${componentCls}-header, &${componentCls}-footer`]: {
flex: '0 0 auto'
},
// RTL
'&-rtl': {
direction: 'rtl'
}
},
// ==================== Header ====================
[`${componentCls}-header`]: {
height: headerHeight,
padding: headerPadding,
color: headerColor,
lineHeight: unit(headerHeight),
background: headerBg,
// Other components/menu/style/index.less line:686
// Integration with header element so menu items have the same height
[`${antCls}-menu`]: {
lineHeight: 'inherit'
}
},
// ==================== Footer ====================
[`${componentCls}-footer`]: {
padding: footerPadding,
color: colorText,
fontSize,
background: footerBg
},
// =================== Content ====================
[`${componentCls}-content`]: {
flex: 'auto',
color: colorText,
// fix firefox can't set height smaller than content on flex item
minHeight: 0
}
};
};
export const prepareComponentToken = token => {
const {
colorBgLayout,
controlHeight,
controlHeightLG,
colorText,
controlHeightSM,
marginXXS,
colorTextLightSolid,
colorBgContainer
} = token;
const paddingInline = controlHeightLG * 1.25;
return {
// Deprecated
colorBgHeader: '#001529',
colorBgBody: colorBgLayout,
colorBgTrigger: '#002140',
bodyBg: colorBgLayout,
headerBg: '#001529',
headerHeight: controlHeight * 2,
headerPadding: `0 ${paddingInline}px`,
headerColor: colorText,
footerPadding: `${controlHeightSM}px ${paddingInline}px`,
footerBg: colorBgLayout,
siderBg: '#001529',
triggerHeight: controlHeightLG + marginXXS * 2,
triggerBg: '#002140',
triggerColor: colorTextLightSolid,
zeroTriggerWidth: controlHeightLG,
zeroTriggerHeight: controlHeightLG,
lightSiderBg: colorBgContainer,
lightTriggerBg: colorBgContainer,
lightTriggerColor: colorText
};
};
// ============================== Export ==============================
export const DEPRECATED_TOKENS = [['colorBgBody', 'bodyBg'], ['colorBgHeader', 'headerBg'], ['colorBgTrigger', 'triggerBg']];
export default genStyleHooks('Layout', genLayoutStyle, prepareComponentToken, {
deprecatedTokens: DEPRECATED_TOKENS
});

2
node_modules/antd/es/layout/style/sider.d.ts generated vendored Normal file
View File

@@ -0,0 +1,2 @@
declare const _default: (prefixCls: string, rootCls?: string) => readonly [(node: React.ReactElement) => React.ReactElement, string, string];
export default _default;

113
node_modules/antd/es/layout/style/sider.js generated vendored Normal file
View File

@@ -0,0 +1,113 @@
import { unit } from '@ant-design/cssinjs';
import { DEPRECATED_TOKENS, prepareComponentToken } from '.';
import { genStyleHooks } from '../../theme/internal';
const genSiderStyle = token => {
const {
componentCls,
siderBg,
motionDurationMid,
motionDurationSlow,
antCls,
triggerHeight,
triggerColor,
triggerBg,
headerHeight,
zeroTriggerWidth,
zeroTriggerHeight,
borderRadiusLG,
lightSiderBg,
lightTriggerColor,
lightTriggerBg,
bodyBg
} = token;
return {
[componentCls]: {
position: 'relative',
// fix firefox can't set width smaller than content on flex item
minWidth: 0,
background: siderBg,
transition: `all ${motionDurationMid}, background 0s`,
'&-has-trigger': {
paddingBottom: triggerHeight
},
'&-right': {
order: 1
},
[`${componentCls}-children`]: {
height: '100%',
// Hack for fixing margin collapse bug
// https://github.com/ant-design/ant-design/issues/7967
// solution from https://stackoverflow.com/a/33132624/3040605
marginTop: -0.1,
paddingTop: 0.1,
[`${antCls}-menu${antCls}-menu-inline-collapsed`]: {
width: 'auto'
}
},
[`&-zero-width ${componentCls}-children`]: {
overflow: 'hidden'
},
[`${componentCls}-trigger`]: {
position: 'fixed',
bottom: 0,
zIndex: 1,
height: triggerHeight,
color: triggerColor,
lineHeight: unit(triggerHeight),
textAlign: 'center',
background: triggerBg,
cursor: 'pointer',
transition: `all ${motionDurationMid}`
},
[`${componentCls}-zero-width-trigger`]: {
position: 'absolute',
top: headerHeight,
insetInlineEnd: token.calc(zeroTriggerWidth).mul(-1).equal(),
zIndex: 1,
width: zeroTriggerWidth,
height: zeroTriggerHeight,
color: triggerColor,
fontSize: token.fontSizeXL,
display: 'flex',
alignItems: 'center',
justifyContent: 'center',
background: siderBg,
borderRadius: `0 ${unit(borderRadiusLG)} ${unit(borderRadiusLG)} 0`,
cursor: 'pointer',
transition: `background ${motionDurationSlow} ease`,
'&::after': {
position: 'absolute',
inset: 0,
background: 'transparent',
transition: `all ${motionDurationSlow}`,
content: '""'
},
'&:hover::after': {
background: `rgba(255, 255, 255, 0.2)`
},
'&-right': {
insetInlineStart: token.calc(zeroTriggerWidth).mul(-1).equal(),
borderRadius: `${unit(borderRadiusLG)} 0 0 ${unit(borderRadiusLG)}`
}
},
// Light
'&-light': {
background: lightSiderBg,
[`${componentCls}-trigger`]: {
color: lightTriggerColor,
background: lightTriggerBg
},
[`${componentCls}-zero-width-trigger`]: {
color: lightTriggerColor,
background: lightTriggerBg,
border: `1px solid ${bodyBg}`,
// Safe to modify to any other color
borderInlineStart: 0
}
}
}
};
};
export default genStyleHooks(['Layout', 'Sider'], genSiderStyle, prepareComponentToken, {
deprecatedTokens: DEPRECATED_TOKENS
});