'use strict';

Object.defineProperty(exports, '__esModule', { value: true });

require('../../../theme/index.cjs');
var mixins = require('./mixins.cjs');
var operationUnit = require('../../../theme/style/operationUnit.cjs');
var genComponentStyleHook = require('../../../theme/token/util/genComponentStyleHook.cjs');

const genTypographyStyle = (token) => {
  const {
    componentCls,
    sizeMarginHeadingVerticalStart
  } = token;
  return {
    [componentCls]: {
      "color": token.colorText,
      "wordBreak": "break-word",
      "lineHeight": token.lineHeight,
      [`&${componentCls}-secondary`]: {
        color: token.colorTextDescription
      },
      [`&${componentCls}-success`]: {
        color: token.colorSuccess
      },
      [`&${componentCls}-warning`]: {
        color: token.colorWarning
      },
      [`&${componentCls}-danger`]: {
        "color": token.colorError,
        "a&:active, a&:focus": {
          color: token.colorErrorActive
        },
        "a&:hover": {
          color: token.colorErrorHover
        }
      },
      [`&${componentCls}-disabled`]: {
        color: token.colorTextDisabled,
        cursor: "not-allowed",
        userSelect: "none"
      },
      [`
        div&,
        p
      `]: {
        marginBottom: "1em"
      },
      ...mixins.getTitleStyles(token),
      [`
      & + h1${componentCls},
      & + h2${componentCls},
      & + h3${componentCls},
      & + h4${componentCls},
      & + h5${componentCls}
      `]: {
        marginTop: sizeMarginHeadingVerticalStart
      },
      [`
      div,
      ul,
      li,
      p,
      h1,
      h2,
      h3,
      h4,
      h5`]: {
        [`
        + h1,
        + h2,
        + h3,
        + h4,
        + h5
        `]: {
          marginTop: sizeMarginHeadingVerticalStart
        }
      },
      ...mixins.getResetStyles(),
      ...mixins.getLinkStyles(token),
      // Operation
      [`
        ${componentCls}-expand,
        ${componentCls}-edit,
        ${componentCls}-copy
      `]: {
        ...operationUnit.operationUnit(token),
        marginInlineStart: token.marginXXS
      },
      ...mixins.getEditableStyles(token),
      ...mixins.getCopiableStyles(token),
      ...mixins.getEllipsisStyles(),
      "&-rtl": {
        direction: "rtl"
      }
    }
  };
};
var useStyle = genComponentStyleHook.default("Typography", (token) => [genTypographyStyle(token)], {
  sizeMarginHeadingVerticalStart: "1.2em",
  sizeMarginHeadingVerticalEnd: "0.5em"
});

exports.default = useStyle;
//# sourceMappingURL=index.cjs.map
