ant-design-vue/components/affix/style/index.ts

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);