{"ast":null,"code":"import { Keyframes, unit } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nimport { initFadeMotion } from '../../style/motion/fade';\nimport { initMotion } from '../../style/motion/motion';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport getOffset from '../util';\nconst initFloatButtonGroupMotion = token => {\n  const {\n    componentCls,\n    floatButtonSize,\n    motionDurationSlow,\n    motionEaseInOutCirc\n  } = token;\n  const groupPrefixCls = `${componentCls}-group`;\n  const moveDownIn = new Keyframes('antFloatButtonMoveDownIn', {\n    '0%': {\n      transform: `translate3d(0, ${unit(floatButtonSize)}, 0)`,\n      transformOrigin: '0 0',\n      opacity: 0\n    },\n    '100%': {\n      transform: 'translate3d(0, 0, 0)',\n      transformOrigin: '0 0',\n      opacity: 1\n    }\n  });\n  const moveDownOut = new Keyframes('antFloatButtonMoveDownOut', {\n    '0%': {\n      transform: 'translate3d(0, 0, 0)',\n      transformOrigin: '0 0',\n      opacity: 1\n    },\n    '100%': {\n      transform: `translate3d(0, ${unit(floatButtonSize)}, 0)`,\n      transformOrigin: '0 0',\n      opacity: 0\n    }\n  });\n  return [{\n    [`${groupPrefixCls}-wrap`]: Object.assign({}, initMotion(`${groupPrefixCls}-wrap`, moveDownIn, moveDownOut, motionDurationSlow, true))\n  }, {\n    [`${groupPrefixCls}-wrap`]: {\n      [`\n          &${groupPrefixCls}-wrap-enter,\n          &${groupPrefixCls}-wrap-appear\n        `]: {\n        opacity: 0,\n        animationTimingFunction: motionEaseInOutCirc\n      },\n      [`&${groupPrefixCls}-wrap-leave`]: {\n        animationTimingFunction: motionEaseInOutCirc\n      }\n    }\n  }];\n};\n// ============================== Group ==============================\nconst floatButtonGroupStyle = token => {\n  const {\n    antCls,\n    componentCls,\n    floatButtonSize,\n    margin,\n    borderRadiusLG,\n    borderRadiusSM,\n    badgeOffset,\n    floatButtonBodyPadding,\n    calc\n  } = token;\n  const groupPrefixCls = `${componentCls}-group`;\n  return {\n    [groupPrefixCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n      zIndex: 99,\n      display: 'block',\n      border: 'none',\n      position: 'fixed',\n      width: floatButtonSize,\n      height: 'auto',\n      boxShadow: 'none',\n      minHeight: floatButtonSize,\n      insetInlineEnd: token.floatButtonInsetInlineEnd,\n      insetBlockEnd: token.floatButtonInsetBlockEnd,\n      borderRadius: borderRadiusLG,\n      [`${groupPrefixCls}-wrap`]: {\n        zIndex: -1,\n        display: 'block',\n        position: 'relative',\n        marginBottom: margin\n      },\n      [`&${groupPrefixCls}-rtl`]: {\n        direction: 'rtl'\n      },\n      [componentCls]: {\n        position: 'static'\n      }\n    }),\n    [`${groupPrefixCls}-circle`]: {\n      [`${componentCls}-circle:not(:last-child)`]: {\n        marginBottom: token.margin,\n        [`${componentCls}-body`]: {\n          width: floatButtonSize,\n          height: floatButtonSize,\n          borderRadius: '50%'\n        }\n      }\n    },\n    [`${groupPrefixCls}-square`]: {\n      [`${componentCls}-square`]: {\n        borderRadius: 0,\n        padding: 0,\n        '&:first-child': {\n          borderStartStartRadius: borderRadiusLG,\n          borderStartEndRadius: borderRadiusLG\n        },\n        '&:last-child': {\n          borderEndStartRadius: borderRadiusLG,\n          borderEndEndRadius: borderRadiusLG\n        },\n        '&:not(:last-child)': {\n          borderBottom: `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}`\n        },\n        [`${antCls}-badge`]: {\n          [`${antCls}-badge-count`]: {\n            top: calc(calc(floatButtonBodyPadding).add(badgeOffset)).mul(-1).equal(),\n            insetInlineEnd: calc(calc(floatButtonBodyPadding).add(badgeOffset)).mul(-1).equal()\n          }\n        }\n      },\n      [`${groupPrefixCls}-wrap`]: {\n        display: 'block',\n        borderRadius: borderRadiusLG,\n        boxShadow: token.boxShadowSecondary,\n        [`${componentCls}-square`]: {\n          boxShadow: 'none',\n          marginTop: 0,\n          borderRadius: 0,\n          padding: floatButtonBodyPadding,\n          '&:first-child': {\n            borderStartStartRadius: borderRadiusLG,\n            borderStartEndRadius: borderRadiusLG\n          },\n          '&:last-child': {\n            borderEndStartRadius: borderRadiusLG,\n            borderEndEndRadius: borderRadiusLG\n          },\n          '&:not(:last-child)': {\n            borderBottom: `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}`\n          },\n          [`${componentCls}-body`]: {\n            width: token.floatButtonBodySize,\n            height: token.floatButtonBodySize\n          }\n        }\n      }\n    },\n    [`${groupPrefixCls}-circle-shadow`]: {\n      boxShadow: 'none'\n    },\n    [`${groupPrefixCls}-square-shadow`]: {\n      boxShadow: token.boxShadowSecondary,\n      [`${componentCls}-square`]: {\n        boxShadow: 'none',\n        padding: floatButtonBodyPadding,\n        [`${componentCls}-body`]: {\n          width: token.floatButtonBodySize,\n          height: token.floatButtonBodySize,\n          borderRadius: borderRadiusSM\n        }\n      }\n    }\n  };\n};\n// ============================== Shared ==============================\nconst sharedFloatButtonStyle = token => {\n  const {\n    antCls,\n    componentCls,\n    floatButtonBodyPadding,\n    floatButtonIconSize,\n    floatButtonSize,\n    borderRadiusLG,\n    badgeOffset,\n    dotOffsetInSquare,\n    dotOffsetInCircle,\n    calc\n  } = token;\n  return {\n    [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n      border: 'none',\n      position: 'fixed',\n      cursor: 'pointer',\n      zIndex: 99,\n      // Do not remove the 'display: block' here.\n      // Deleting it will cause marginBottom to become ineffective.\n      // Ref: https://github.com/ant-design/ant-design/issues/44700\n      display: 'block',\n      width: floatButtonSize,\n      height: floatButtonSize,\n      insetInlineEnd: token.floatButtonInsetInlineEnd,\n      insetBlockEnd: token.floatButtonInsetBlockEnd,\n      boxShadow: token.boxShadowSecondary,\n      // Pure Panel\n      '&-pure': {\n        position: 'relative',\n        inset: 'auto'\n      },\n      '&:empty': {\n        display: 'none'\n      },\n      [`${antCls}-badge`]: {\n        width: '100%',\n        height: '100%',\n        [`${antCls}-badge-count`]: {\n          transform: 'translate(0, 0)',\n          transformOrigin: 'center',\n          top: calc(badgeOffset).mul(-1).equal(),\n          insetInlineEnd: calc(badgeOffset).mul(-1).equal()\n        }\n      },\n      [`${componentCls}-body`]: {\n        width: '100%',\n        height: '100%',\n        display: 'flex',\n        justifyContent: 'center',\n        alignItems: 'center',\n        transition: `all ${token.motionDurationMid}`,\n        [`${componentCls}-content`]: {\n          overflow: 'hidden',\n          textAlign: 'center',\n          minHeight: floatButtonSize,\n          display: 'flex',\n          flexDirection: 'column',\n          justifyContent: 'center',\n          alignItems: 'center',\n          padding: `${unit(calc(floatButtonBodyPadding).div(2).equal())} ${unit(floatButtonBodyPadding)}`,\n          [`${componentCls}-icon`]: {\n            textAlign: 'center',\n            margin: 'auto',\n            width: floatButtonIconSize,\n            fontSize: floatButtonIconSize,\n            lineHeight: 1\n          }\n        }\n      }\n    }),\n    [`${componentCls}-rtl`]: {\n      direction: 'rtl'\n    },\n    [`${componentCls}-circle`]: {\n      height: floatButtonSize,\n      borderRadius: '50%',\n      [`${antCls}-badge`]: {\n        [`${antCls}-badge-dot`]: {\n          top: dotOffsetInCircle,\n          insetInlineEnd: dotOffsetInCircle\n        }\n      },\n      [`${componentCls}-body`]: {\n        borderRadius: '50%'\n      }\n    },\n    [`${componentCls}-square`]: {\n      height: 'auto',\n      minHeight: floatButtonSize,\n      borderRadius: borderRadiusLG,\n      [`${antCls}-badge`]: {\n        [`${antCls}-badge-dot`]: {\n          top: dotOffsetInSquare,\n          insetInlineEnd: dotOffsetInSquare\n        }\n      },\n      [`${componentCls}-body`]: {\n        height: 'auto',\n        borderRadius: borderRadiusLG\n      }\n    },\n    [`${componentCls}-default`]: {\n      backgroundColor: token.floatButtonBackgroundColor,\n      transition: `background-color ${token.motionDurationMid}`,\n      [`${componentCls}-body`]: {\n        backgroundColor: token.floatButtonBackgroundColor,\n        transition: `background-color ${token.motionDurationMid}`,\n        '&:hover': {\n          backgroundColor: token.colorFillContent\n        },\n        [`${componentCls}-content`]: {\n          [`${componentCls}-icon`]: {\n            color: token.colorText\n          },\n          [`${componentCls}-description`]: {\n            display: 'flex',\n            alignItems: 'center',\n            lineHeight: unit(token.fontSizeLG),\n            color: token.colorText,\n            fontSize: token.fontSizeSM\n          }\n        }\n      }\n    },\n    [`${componentCls}-primary`]: {\n      backgroundColor: token.colorPrimary,\n      [`${componentCls}-body`]: {\n        backgroundColor: token.colorPrimary,\n        transition: `background-color ${token.motionDurationMid}`,\n        '&:hover': {\n          backgroundColor: token.colorPrimaryHover\n        },\n        [`${componentCls}-content`]: {\n          [`${componentCls}-icon`]: {\n            color: token.colorTextLightSolid\n          },\n          [`${componentCls}-description`]: {\n            display: 'flex',\n            alignItems: 'center',\n            lineHeight: unit(token.fontSizeLG),\n            color: token.colorTextLightSolid,\n            fontSize: token.fontSizeSM\n          }\n        }\n      }\n    }\n  };\n};\n// ============================== Export ==============================\nexport const prepareComponentToken = token => ({\n  dotOffsetInCircle: getOffset(token.controlHeightLG / 2),\n  dotOffsetInSquare: getOffset(token.borderRadiusLG)\n});\nexport default genStyleHooks('FloatButton', token => {\n  const {\n    colorTextLightSolid,\n    colorBgElevated,\n    controlHeightLG,\n    marginXXL,\n    marginLG,\n    fontSize,\n    fontSizeIcon,\n    controlItemBgHover,\n    paddingXXS,\n    calc\n  } = token;\n  const floatButtonToken = mergeToken(token, {\n    floatButtonBackgroundColor: colorBgElevated,\n    floatButtonColor: colorTextLightSolid,\n    floatButtonHoverBackgroundColor: controlItemBgHover,\n    floatButtonFontSize: fontSize,\n    floatButtonIconSize: calc(fontSizeIcon).mul(1.5).equal(),\n    floatButtonSize: controlHeightLG,\n    floatButtonInsetBlockEnd: marginXXL,\n    floatButtonInsetInlineEnd: marginLG,\n    floatButtonBodySize: calc(controlHeightLG).sub(calc(paddingXXS).mul(2)).equal(),\n    // 这里的 paddingXXS 是简写，完整逻辑是 (controlHeightLG - (controlHeightLG - paddingXXS * 2)) / 2,\n    floatButtonBodyPadding: paddingXXS,\n    badgeOffset: calc(paddingXXS).mul(1.5).equal()\n  });\n  return [floatButtonGroupStyle(floatButtonToken), sharedFloatButtonStyle(floatButtonToken), initFadeMotion(token), initFloatButtonGroupMotion(floatButtonToken)];\n}, prepareComponentToken);","map":{"version":3,"names":["Keyframes","unit","resetComponent","initFadeMotion","initMotion","genStyleHooks","mergeToken","getOffset","initFloatButtonGroupMotion","token","componentCls","floatButtonSize","motionDurationSlow","motionEaseInOutCirc","groupPrefixCls","moveDownIn","transform","transformOrigin","opacity","moveDownOut","Object","assign","animationTimingFunction","floatButtonGroupStyle","antCls","margin","borderRadiusLG","borderRadiusSM","badgeOffset","floatButtonBodyPadding","calc","zIndex","display","border","position","width","height","boxShadow","minHeight","insetInlineEnd","floatButtonInsetInlineEnd","insetBlockEnd","floatButtonInsetBlockEnd","borderRadius","marginBottom","direction","padding","borderStartStartRadius","borderStartEndRadius","borderEndStartRadius","borderEndEndRadius","borderBottom","lineWidth","lineType","colorSplit","top","add","mul","equal","boxShadowSecondary","marginTop","floatButtonBodySize","sharedFloatButtonStyle","floatButtonIconSize","dotOffsetInSquare","dotOffsetInCircle","cursor","inset","justifyContent","alignItems","transition","motionDurationMid","overflow","textAlign","flexDirection","div","fontSize","lineHeight","backgroundColor","floatButtonBackgroundColor","colorFillContent","color","colorText","fontSizeLG","fontSizeSM","colorPrimary","colorPrimaryHover","colorTextLightSolid","prepareComponentToken","controlHeightLG","colorBgElevated","marginXXL","marginLG","fontSizeIcon","controlItemBgHover","paddingXXS","floatButtonToken","floatButtonColor","floatButtonHoverBackgroundColor","floatButtonFontSize","sub"],"sources":["D:/Project/UC_Trains_Voice/react-demo/node_modules/antd/es/float-button/style/index.js"],"sourcesContent":["import { Keyframes, unit } from '@ant-design/cssinjs';\nimport { resetComponent } from '../../style';\nimport { initFadeMotion } from '../../style/motion/fade';\nimport { initMotion } from '../../style/motion/motion';\nimport { genStyleHooks, mergeToken } from '../../theme/internal';\nimport getOffset from '../util';\nconst initFloatButtonGroupMotion = token => {\n  const {\n    componentCls,\n    floatButtonSize,\n    motionDurationSlow,\n    motionEaseInOutCirc\n  } = token;\n  const groupPrefixCls = `${componentCls}-group`;\n  const moveDownIn = new Keyframes('antFloatButtonMoveDownIn', {\n    '0%': {\n      transform: `translate3d(0, ${unit(floatButtonSize)}, 0)`,\n      transformOrigin: '0 0',\n      opacity: 0\n    },\n    '100%': {\n      transform: 'translate3d(0, 0, 0)',\n      transformOrigin: '0 0',\n      opacity: 1\n    }\n  });\n  const moveDownOut = new Keyframes('antFloatButtonMoveDownOut', {\n    '0%': {\n      transform: 'translate3d(0, 0, 0)',\n      transformOrigin: '0 0',\n      opacity: 1\n    },\n    '100%': {\n      transform: `translate3d(0, ${unit(floatButtonSize)}, 0)`,\n      transformOrigin: '0 0',\n      opacity: 0\n    }\n  });\n  return [{\n    [`${groupPrefixCls}-wrap`]: Object.assign({}, initMotion(`${groupPrefixCls}-wrap`, moveDownIn, moveDownOut, motionDurationSlow, true))\n  }, {\n    [`${groupPrefixCls}-wrap`]: {\n      [`\n          &${groupPrefixCls}-wrap-enter,\n          &${groupPrefixCls}-wrap-appear\n        `]: {\n        opacity: 0,\n        animationTimingFunction: motionEaseInOutCirc\n      },\n      [`&${groupPrefixCls}-wrap-leave`]: {\n        animationTimingFunction: motionEaseInOutCirc\n      }\n    }\n  }];\n};\n// ============================== Group ==============================\nconst floatButtonGroupStyle = token => {\n  const {\n    antCls,\n    componentCls,\n    floatButtonSize,\n    margin,\n    borderRadiusLG,\n    borderRadiusSM,\n    badgeOffset,\n    floatButtonBodyPadding,\n    calc\n  } = token;\n  const groupPrefixCls = `${componentCls}-group`;\n  return {\n    [groupPrefixCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n      zIndex: 99,\n      display: 'block',\n      border: 'none',\n      position: 'fixed',\n      width: floatButtonSize,\n      height: 'auto',\n      boxShadow: 'none',\n      minHeight: floatButtonSize,\n      insetInlineEnd: token.floatButtonInsetInlineEnd,\n      insetBlockEnd: token.floatButtonInsetBlockEnd,\n      borderRadius: borderRadiusLG,\n      [`${groupPrefixCls}-wrap`]: {\n        zIndex: -1,\n        display: 'block',\n        position: 'relative',\n        marginBottom: margin\n      },\n      [`&${groupPrefixCls}-rtl`]: {\n        direction: 'rtl'\n      },\n      [componentCls]: {\n        position: 'static'\n      }\n    }),\n    [`${groupPrefixCls}-circle`]: {\n      [`${componentCls}-circle:not(:last-child)`]: {\n        marginBottom: token.margin,\n        [`${componentCls}-body`]: {\n          width: floatButtonSize,\n          height: floatButtonSize,\n          borderRadius: '50%'\n        }\n      }\n    },\n    [`${groupPrefixCls}-square`]: {\n      [`${componentCls}-square`]: {\n        borderRadius: 0,\n        padding: 0,\n        '&:first-child': {\n          borderStartStartRadius: borderRadiusLG,\n          borderStartEndRadius: borderRadiusLG\n        },\n        '&:last-child': {\n          borderEndStartRadius: borderRadiusLG,\n          borderEndEndRadius: borderRadiusLG\n        },\n        '&:not(:last-child)': {\n          borderBottom: `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}`\n        },\n        [`${antCls}-badge`]: {\n          [`${antCls}-badge-count`]: {\n            top: calc(calc(floatButtonBodyPadding).add(badgeOffset)).mul(-1).equal(),\n            insetInlineEnd: calc(calc(floatButtonBodyPadding).add(badgeOffset)).mul(-1).equal()\n          }\n        }\n      },\n      [`${groupPrefixCls}-wrap`]: {\n        display: 'block',\n        borderRadius: borderRadiusLG,\n        boxShadow: token.boxShadowSecondary,\n        [`${componentCls}-square`]: {\n          boxShadow: 'none',\n          marginTop: 0,\n          borderRadius: 0,\n          padding: floatButtonBodyPadding,\n          '&:first-child': {\n            borderStartStartRadius: borderRadiusLG,\n            borderStartEndRadius: borderRadiusLG\n          },\n          '&:last-child': {\n            borderEndStartRadius: borderRadiusLG,\n            borderEndEndRadius: borderRadiusLG\n          },\n          '&:not(:last-child)': {\n            borderBottom: `${unit(token.lineWidth)} ${token.lineType} ${token.colorSplit}`\n          },\n          [`${componentCls}-body`]: {\n            width: token.floatButtonBodySize,\n            height: token.floatButtonBodySize\n          }\n        }\n      }\n    },\n    [`${groupPrefixCls}-circle-shadow`]: {\n      boxShadow: 'none'\n    },\n    [`${groupPrefixCls}-square-shadow`]: {\n      boxShadow: token.boxShadowSecondary,\n      [`${componentCls}-square`]: {\n        boxShadow: 'none',\n        padding: floatButtonBodyPadding,\n        [`${componentCls}-body`]: {\n          width: token.floatButtonBodySize,\n          height: token.floatButtonBodySize,\n          borderRadius: borderRadiusSM\n        }\n      }\n    }\n  };\n};\n// ============================== Shared ==============================\nconst sharedFloatButtonStyle = token => {\n  const {\n    antCls,\n    componentCls,\n    floatButtonBodyPadding,\n    floatButtonIconSize,\n    floatButtonSize,\n    borderRadiusLG,\n    badgeOffset,\n    dotOffsetInSquare,\n    dotOffsetInCircle,\n    calc\n  } = token;\n  return {\n    [componentCls]: Object.assign(Object.assign({}, resetComponent(token)), {\n      border: 'none',\n      position: 'fixed',\n      cursor: 'pointer',\n      zIndex: 99,\n      // Do not remove the 'display: block' here.\n      // Deleting it will cause marginBottom to become ineffective.\n      // Ref: https://github.com/ant-design/ant-design/issues/44700\n      display: 'block',\n      width: floatButtonSize,\n      height: floatButtonSize,\n      insetInlineEnd: token.floatButtonInsetInlineEnd,\n      insetBlockEnd: token.floatButtonInsetBlockEnd,\n      boxShadow: token.boxShadowSecondary,\n      // Pure Panel\n      '&-pure': {\n        position: 'relative',\n        inset: 'auto'\n      },\n      '&:empty': {\n        display: 'none'\n      },\n      [`${antCls}-badge`]: {\n        width: '100%',\n        height: '100%',\n        [`${antCls}-badge-count`]: {\n          transform: 'translate(0, 0)',\n          transformOrigin: 'center',\n          top: calc(badgeOffset).mul(-1).equal(),\n          insetInlineEnd: calc(badgeOffset).mul(-1).equal()\n        }\n      },\n      [`${componentCls}-body`]: {\n        width: '100%',\n        height: '100%',\n        display: 'flex',\n        justifyContent: 'center',\n        alignItems: 'center',\n        transition: `all ${token.motionDurationMid}`,\n        [`${componentCls}-content`]: {\n          overflow: 'hidden',\n          textAlign: 'center',\n          minHeight: floatButtonSize,\n          display: 'flex',\n          flexDirection: 'column',\n          justifyContent: 'center',\n          alignItems: 'center',\n          padding: `${unit(calc(floatButtonBodyPadding).div(2).equal())} ${unit(floatButtonBodyPadding)}`,\n          [`${componentCls}-icon`]: {\n            textAlign: 'center',\n            margin: 'auto',\n            width: floatButtonIconSize,\n            fontSize: floatButtonIconSize,\n            lineHeight: 1\n          }\n        }\n      }\n    }),\n    [`${componentCls}-rtl`]: {\n      direction: 'rtl'\n    },\n    [`${componentCls}-circle`]: {\n      height: floatButtonSize,\n      borderRadius: '50%',\n      [`${antCls}-badge`]: {\n        [`${antCls}-badge-dot`]: {\n          top: dotOffsetInCircle,\n          insetInlineEnd: dotOffsetInCircle\n        }\n      },\n      [`${componentCls}-body`]: {\n        borderRadius: '50%'\n      }\n    },\n    [`${componentCls}-square`]: {\n      height: 'auto',\n      minHeight: floatButtonSize,\n      borderRadius: borderRadiusLG,\n      [`${antCls}-badge`]: {\n        [`${antCls}-badge-dot`]: {\n          top: dotOffsetInSquare,\n          insetInlineEnd: dotOffsetInSquare\n        }\n      },\n      [`${componentCls}-body`]: {\n        height: 'auto',\n        borderRadius: borderRadiusLG\n      }\n    },\n    [`${componentCls}-default`]: {\n      backgroundColor: token.floatButtonBackgroundColor,\n      transition: `background-color ${token.motionDurationMid}`,\n      [`${componentCls}-body`]: {\n        backgroundColor: token.floatButtonBackgroundColor,\n        transition: `background-color ${token.motionDurationMid}`,\n        '&:hover': {\n          backgroundColor: token.colorFillContent\n        },\n        [`${componentCls}-content`]: {\n          [`${componentCls}-icon`]: {\n            color: token.colorText\n          },\n          [`${componentCls}-description`]: {\n            display: 'flex',\n            alignItems: 'center',\n            lineHeight: unit(token.fontSizeLG),\n            color: token.colorText,\n            fontSize: token.fontSizeSM\n          }\n        }\n      }\n    },\n    [`${componentCls}-primary`]: {\n      backgroundColor: token.colorPrimary,\n      [`${componentCls}-body`]: {\n        backgroundColor: token.colorPrimary,\n        transition: `background-color ${token.motionDurationMid}`,\n        '&:hover': {\n          backgroundColor: token.colorPrimaryHover\n        },\n        [`${componentCls}-content`]: {\n          [`${componentCls}-icon`]: {\n            color: token.colorTextLightSolid\n          },\n          [`${componentCls}-description`]: {\n            display: 'flex',\n            alignItems: 'center',\n            lineHeight: unit(token.fontSizeLG),\n            color: token.colorTextLightSolid,\n            fontSize: token.fontSizeSM\n          }\n        }\n      }\n    }\n  };\n};\n// ============================== Export ==============================\nexport const prepareComponentToken = token => ({\n  dotOffsetInCircle: getOffset(token.controlHeightLG / 2),\n  dotOffsetInSquare: getOffset(token.borderRadiusLG)\n});\nexport default genStyleHooks('FloatButton', token => {\n  const {\n    colorTextLightSolid,\n    colorBgElevated,\n    controlHeightLG,\n    marginXXL,\n    marginLG,\n    fontSize,\n    fontSizeIcon,\n    controlItemBgHover,\n    paddingXXS,\n    calc\n  } = token;\n  const floatButtonToken = mergeToken(token, {\n    floatButtonBackgroundColor: colorBgElevated,\n    floatButtonColor: colorTextLightSolid,\n    floatButtonHoverBackgroundColor: controlItemBgHover,\n    floatButtonFontSize: fontSize,\n    floatButtonIconSize: calc(fontSizeIcon).mul(1.5).equal(),\n    floatButtonSize: controlHeightLG,\n    floatButtonInsetBlockEnd: marginXXL,\n    floatButtonInsetInlineEnd: marginLG,\n    floatButtonBodySize: calc(controlHeightLG).sub(calc(paddingXXS).mul(2)).equal(),\n    // 这里的 paddingXXS 是简写，完整逻辑是 (controlHeightLG - (controlHeightLG - paddingXXS * 2)) / 2,\n    floatButtonBodyPadding: paddingXXS,\n    badgeOffset: calc(paddingXXS).mul(1.5).equal()\n  });\n  return [floatButtonGroupStyle(floatButtonToken), sharedFloatButtonStyle(floatButtonToken), initFadeMotion(token), initFloatButtonGroupMotion(floatButtonToken)];\n}, prepareComponentToken);"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}