| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697 |
- import _extends from "@babel/runtime/helpers/esm/extends";
- import { genComponentStyleHook, mergeToken } from '../../theme/internal';
- import { genFocusStyle, resetComponent } from '../../style';
- const genBreadcrumbStyle = token => {
- const {
- componentCls,
- iconCls
- } = token;
- return {
- [componentCls]: _extends(_extends({}, resetComponent(token)), {
- color: token.breadcrumbBaseColor,
- fontSize: token.breadcrumbFontSize,
- [iconCls]: {
- fontSize: token.breadcrumbIconFontSize
- },
- ol: {
- display: 'flex',
- flexWrap: 'wrap',
- margin: 0,
- padding: 0,
- listStyle: 'none'
- },
- a: _extends({
- color: token.breadcrumbLinkColor,
- transition: `color ${token.motionDurationMid}`,
- padding: `0 ${token.paddingXXS}px`,
- borderRadius: token.borderRadiusSM,
- height: token.lineHeight * token.fontSize,
- display: 'inline-block',
- marginInline: -token.marginXXS,
- '&:hover': {
- color: token.breadcrumbLinkColorHover,
- backgroundColor: token.colorBgTextHover
- }
- }, genFocusStyle(token)),
- [`li:last-child`]: {
- color: token.breadcrumbLastItemColor,
- [`& > ${componentCls}-separator`]: {
- display: 'none'
- }
- },
- [`${componentCls}-separator`]: {
- marginInline: token.breadcrumbSeparatorMargin,
- color: token.breadcrumbSeparatorColor
- },
- [`${componentCls}-link`]: {
- [`
- > ${iconCls} + span,
- > ${iconCls} + a
- `]: {
- marginInlineStart: token.marginXXS
- }
- },
- [`${componentCls}-overlay-link`]: {
- borderRadius: token.borderRadiusSM,
- height: token.lineHeight * token.fontSize,
- display: 'inline-block',
- padding: `0 ${token.paddingXXS}px`,
- marginInline: -token.marginXXS,
- [`> ${iconCls}`]: {
- marginInlineStart: token.marginXXS,
- fontSize: token.fontSizeIcon
- },
- '&:hover': {
- color: token.breadcrumbLinkColorHover,
- backgroundColor: token.colorBgTextHover,
- a: {
- color: token.breadcrumbLinkColorHover
- }
- },
- a: {
- '&:hover': {
- backgroundColor: 'transparent'
- }
- }
- },
- // rtl style
- [`&${token.componentCls}-rtl`]: {
- direction: 'rtl'
- }
- })
- };
- };
- // ============================== Export ==============================
- export default genComponentStyleHook('Breadcrumb', token => {
- const BreadcrumbToken = mergeToken(token, {
- breadcrumbBaseColor: token.colorTextDescription,
- breadcrumbFontSize: token.fontSize,
- breadcrumbIconFontSize: token.fontSize,
- breadcrumbLinkColor: token.colorTextDescription,
- breadcrumbLinkColorHover: token.colorText,
- breadcrumbLastItemColor: token.colorText,
- breadcrumbSeparatorMargin: token.marginXS,
- breadcrumbSeparatorColor: token.colorTextDescription
- });
- return [genBreadcrumbStyle(BreadcrumbToken)];
- });
|