33 lines
909 B
TypeScript
33 lines
909 B
TypeScript
import type { CSSObject } from '../../_util/cssinjs';
|
|
import { FullToken, GenerateStyle, genStyleHooks, GetDefaultToken } from '../../theme/internal';
|
|
|
|
export interface ComponentToken {
|
|
/**
|
|
* @desc 弹出层的 z-index
|
|
* @descEN z-index of popup
|
|
*/
|
|
zIndexPopup: number;
|
|
}
|
|
|
|
interface AffixToken extends FullToken<'Affix'> {
|
|
//
|
|
}
|
|
|
|
// ============================== Shared ==============================
|
|
const genSharedAffixStyle: GenerateStyle<AffixToken> = (token): CSSObject => {
|
|
const { componentCls } = token;
|
|
return {
|
|
[componentCls]: {
|
|
position: 'fixed',
|
|
zIndex: token.zIndexPopup,
|
|
},
|
|
};
|
|
};
|
|
|
|
export const prepareComponentToken: GetDefaultToken<'Affix'> = token => ({
|
|
zIndexPopup: token.zIndexBase + 10,
|
|
});
|
|
|
|
// ============================== Export ==============================
|
|
export default genStyleHooks('Affix', genSharedAffixStyle, prepareComponentToken);
|