{"version":3,"file":"mixins.mjs","sources":["../../../../../../packages/components/typography/style/mixins.tsx"],"sourcesContent":["import type { CSSObject, GenerateStyle } from '@antdv/theme';\nimport type { TypographyToken } from '.';\n\n/*\n.typography-title(@fontSize; @fontWeight; @lineHeight; @headingColor; @headingMarginBottom;) {\n  margin-bottom: @headingMarginBottom;\n  color: @headingColor;\n  font-weight: @fontWeight;\n  fontSize: @fontSize;\n  line-height: @lineHeight;\n}\n*/\nimport { gold } from '@ant-design/colors';\nimport { operationUnit } from '@antdv/theme';\nimport { initInputToken } from '../../input/style';\n\nfunction getTitleStyle(fontSize: number, lineHeight: number, color: string, token: TypographyToken) {\n  const { sizeMarginHeadingVerticalEnd, fontWeightStrong } = token;\n\n  return {\n    marginBottom: sizeMarginHeadingVerticalEnd,\n    color,\n    fontWeight: fontWeightStrong,\n    fontSize,\n    lineHeight,\n  };\n}\n\nexport const getTitleStyles: GenerateStyle<TypographyToken, CSSObject> = (token) => {\n  const headings = [1, 2, 3, 4, 5] as const;\n\n  const styles = {} as CSSObject;\n  headings.forEach((headingLevel) => {\n    styles[\n      `\n      h${headingLevel}&,\n      div&-h${headingLevel},\n      div&-h${headingLevel} > textarea,\n      h${headingLevel}\n    `\n    ] = getTitleStyle(\n      token[`fontSizeHeading${headingLevel}`],\n      token[`lineHeightHeading${headingLevel}`],\n      token.colorTextHeading,\n      token,\n    );\n  });\n  return styles;\n};\n\nexport const getLinkStyles: GenerateStyle<TypographyToken, CSSObject> = (token) => {\n  const { componentCls } = token;\n\n  return {\n    'a&, a': {\n      ...operationUnit(token),\n      'textDecoration': token.linkDecoration,\n\n      '&:active, &:hover': {\n        textDecoration: token.linkHoverDecoration,\n      },\n\n      [`&[disabled], &${componentCls}-disabled`]: {\n        'color': token.colorTextDisabled,\n        'cursor': 'not-allowed',\n\n        '&:active, &:hover': {\n          color: token.colorTextDisabled,\n        },\n\n        '&:active': {\n          pointerEvents: 'none',\n        },\n      },\n    },\n  };\n};\n\nexport function getResetStyles(): CSSObject {\n  return {\n    'code': {\n      margin: '0 0.2em',\n      paddingInline: '0.4em',\n      paddingBlock: '0.2em 0.1em',\n      fontSize: '85%',\n      background: 'rgba(150, 150, 150, 0.1)',\n      border: '1px solid rgba(100, 100, 100, 0.2)',\n      borderRadius: 3,\n    },\n\n    'kbd': {\n      margin: '0 0.2em',\n      paddingInline: '0.4em',\n      paddingBlock: '0.15em 0.1em',\n      fontSize: '90%',\n      background: 'rgba(150, 150, 150, 0.06)',\n      border: '1px solid rgba(100, 100, 100, 0.2)',\n      borderBottomWidth: 2,\n      borderRadius: 3,\n    },\n\n    'mark': {\n      padding: 0,\n      // FIXME hardcode in v4\n      backgroundColor: gold[2],\n    },\n\n    'u, ins': {\n      textDecoration: 'underline',\n      textDecorationSkipInk: 'auto',\n    },\n\n    's, del': {\n      textDecoration: 'line-through',\n    },\n\n    'strong': {\n      fontWeight: 600,\n    },\n\n    // list\n    'ul, ol': {\n      marginInline: 0,\n      marginBlock: '0 1em',\n      padding: 0,\n\n      li: {\n        marginInline: '20px 0',\n        marginBlock: 0,\n        paddingInline: '4px 0',\n        paddingBlock: 0,\n      },\n    },\n\n    'ul': {\n      listStyleType: 'circle',\n\n      ul: {\n        listStyleType: 'disc',\n      },\n    },\n\n    'ol': {\n      listStyleType: 'decimal',\n    },\n\n    // pre & block\n    'pre, blockquote': {\n      margin: '1em 0',\n    },\n\n    'pre': {\n      padding: '0.4em 0.6em',\n      whiteSpace: 'pre-wrap',\n      wordWrap: 'break-word',\n      background: 'rgba(150, 150, 150, 0.1)',\n      border: '1px solid rgba(100, 100, 100, 0.2)',\n      borderRadius: 3,\n\n      // Compatible for marked\n      code: {\n        display: 'inline',\n        margin: 0,\n        padding: 0,\n        fontSize: 'inherit',\n        fontFamily: 'inherit',\n        background: 'transparent',\n        border: 0,\n      },\n    },\n\n    'blockquote': {\n      paddingInline: '0.6em 0',\n      paddingBlock: 0,\n      borderInlineStart: '4px solid rgba(100, 100, 100, 0.2)',\n      opacity: 0.85,\n    },\n  };\n}\n\nexport const getEditableStyles: GenerateStyle<TypographyToken, CSSObject> = (token) => {\n  const { componentCls } = token;\n\n  const inputToken = initInputToken(token);\n  const inputShift = inputToken.inputPaddingVertical + 1;\n  return {\n    '&-edit-content': {\n      'position': 'relative',\n\n      'div&': {\n        insetInlineStart: -token.paddingSM,\n        marginTop: -inputShift,\n        marginBottom: `calc(1em - ${inputShift}px)`,\n      },\n\n      [`${componentCls}-edit-content-confirm`]: {\n        position: 'absolute',\n        insetInlineEnd: token.marginXS + 2,\n        insetBlockEnd: token.marginXS,\n        color: token.colorTextDescription,\n        // default style\n        fontWeight: 'normal',\n        fontSize: token.fontSize,\n        fontStyle: 'normal',\n        pointerEvents: 'none',\n      },\n\n      'textarea': {\n        margin: '0!important',\n        // Fix Editable Textarea flash in Firefox\n        MozTransition: 'none',\n        height: '1em',\n      },\n    },\n  };\n};\n\nexport const getCopiableStyles: GenerateStyle<TypographyToken, CSSObject> = token => ({\n  '&-copy-success': {\n    [`\n    &,\n    &:hover,\n    &:focus`]: {\n      color: token.colorSuccess,\n    },\n  },\n});\n\nexport function getEllipsisStyles(): CSSObject {\n  return {\n    [`\n  a&-ellipsis,\n  span&-ellipsis\n  `]: {\n      display: 'inline-block',\n      maxWidth: '100%',\n    },\n\n    '&-single-line': {\n      whiteSpace: 'nowrap',\n    },\n\n    '&-ellipsis-single-line': {\n      'overflow': 'hidden',\n      'textOverflow': 'ellipsis',\n\n      // https://blog.csdn.net/iefreer/article/details/50421025\n      'a&, span&': {\n        verticalAlign: 'bottom',\n      },\n    },\n\n    '&-ellipsis-multiple-line': {\n      display: '-webkit-box',\n      overflow: 'hidden',\n      WebkitLineClamp: 3,\n      WebkitBoxOrient: 'vertical',\n    },\n  };\n}\n"],"names":["getTitleStyle","fontSize","lineHeight","color","token","sizeMarginHeadingVerticalEnd","fontWeightStrong","marginBottom","fontWeight","getTitleStyles","headings","styles","forEach","headingLevel","colorTextHeading","getLinkStyles","componentCls","operationUnit","linkDecoration","textDecoration","linkHoverDecoration","colorTextDisabled","pointerEvents","getResetStyles","margin","paddingInline","paddingBlock","background","border","borderRadius","borderBottomWidth","padding","backgroundColor","gold","textDecorationSkipInk","marginInline","marginBlock","li","listStyleType","ul","whiteSpace","wordWrap","code","display","fontFamily","borderInlineStart","opacity","getEditableStyles","inputToken","initInputToken","inputShift","inputPaddingVertical","insetInlineStart","paddingSM","marginTop","position","insetInlineEnd","marginXS","insetBlockEnd","colorTextDescription","fontStyle","MozTransition","height","getCopiableStyles","colorSuccess","getEllipsisStyles","maxWidth","verticalAlign","overflow","WebkitLineClamp","WebkitBoxOrient"],"mappings":"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"}