{"version":3,"file":"index.cjs","sources":["../../../../../../packages/components/radio/style/index.tsx"],"sourcesContent":["import type { FullToken, GenerateStyle } from '@antdv/theme';\nimport { genComponentStyleHook, genFocusOutline, Keyframes, mergeToken, resetComponent } from '@antdv/theme';\n\n// ============================== Tokens ==============================\nexport interface ComponentToken {}\n\ninterface RadioToken extends FullToken<'Radio'> {\n  radioFocusShadow: string\n  radioButtonFocusShadow: string\n\n  radioSize: number\n  radioTop: number\n  radioDotSize: number\n  radioDotDisabledSize: number\n  radioCheckedColor: string\n  radioDotDisabledColor: string\n  radioSolidCheckedColor: string\n\n  radioButtonBg: string\n  radioButtonCheckedBg: string\n  radioButtonColor: string\n  radioButtonHoverColor: string\n  radioButtonActiveColor: string\n  radioButtonPaddingHorizontal: number\n  radioDisabledButtonCheckedBg: string\n  radioDisabledButtonCheckedColor: string\n  radioWrapperMarginRight: number\n}\n\n// ============================== Styles ==============================\nconst antRadioEffect = new Keyframes('antRadioEffect', {\n  '0%': { transform: 'scale(1)', opacity: 0.5 },\n  '100%': { transform: 'scale(1.6)', opacity: 0 },\n});\n\n// styles from RadioGroup only\nconst getGroupRadioStyle: GenerateStyle<RadioToken> = (token) => {\n  const { componentCls, antCls } = token;\n  const groupPrefixCls = `${componentCls}-group`;\n\n  return {\n    [groupPrefixCls]: {\n      ...resetComponent(token),\n      display: 'inline-block',\n      fontSize: 0,\n\n      // RTL\n      [`&${groupPrefixCls}-rtl`]: {\n        direction: 'rtl',\n      },\n\n      [`${antCls}-badge ${antCls}-badge-count`]: {\n        zIndex: 1,\n      },\n\n      [`> ${antCls}-badge:not(:first-child) > ${antCls}-button-wrapper`]: {\n        borderInlineStart: 'none',\n      },\n    },\n  };\n};\n\n// Styles from radio-wrapper\nconst getRadioBasicStyle: GenerateStyle<RadioToken> = (token) => {\n  const {\n    componentCls,\n    radioWrapperMarginRight,\n    radioCheckedColor,\n    radioSize,\n    motionDurationSlow,\n    motionDurationMid,\n    motionEaseInOut,\n    motionEaseInOutCirc,\n    radioButtonBg,\n    colorBorder,\n    lineWidth,\n    radioDotSize,\n    colorBgContainerDisabled,\n    colorTextDisabled,\n    paddingXS,\n    radioDotDisabledColor,\n    lineType,\n    radioDotDisabledSize,\n    wireframe,\n    colorWhite,\n  } = token;\n  const radioInnerPrefixCls = `${componentCls}-inner`;\n\n  return {\n    [`${componentCls}-wrapper`]: {\n      ...resetComponent(token),\n      'position': 'relative',\n      'display': 'inline-flex',\n      'alignItems': 'baseline',\n      'marginInlineStart': 0,\n      'marginInlineEnd': radioWrapperMarginRight,\n      'cursor': 'pointer',\n\n      // RTL\n      [`&${componentCls}-wrapper-rtl`]: {\n        direction: 'rtl',\n      },\n\n      '&-disabled': {\n        cursor: 'not-allowed',\n        color: token.colorTextDisabled,\n      },\n\n      '&::after': {\n        display: 'inline-block',\n        width: 0,\n        overflow: 'hidden',\n        content: '\"\\\\a0\"',\n      },\n\n      // hashId 在 wrapper 上，只能铺平\n      [`${componentCls}-checked::after`]: {\n        position: 'absolute',\n        insetBlockStart: 0,\n        insetInlineStart: 0,\n        width: '100%',\n        height: '100%',\n        border: `${lineWidth}px ${lineType} ${radioCheckedColor}`,\n        borderRadius: '50%',\n        visibility: 'hidden',\n        animationName: antRadioEffect,\n        animationDuration: motionDurationSlow,\n        animationTimingFunction: motionEaseInOut,\n        animationFillMode: 'both',\n        content: '\"\"',\n      },\n\n      [componentCls]: {\n        ...resetComponent(token),\n        position: 'relative',\n        display: 'inline-block',\n        outline: 'none',\n        cursor: 'pointer',\n        alignSelf: 'center',\n      },\n\n      [`${componentCls}-wrapper:hover &,\n        &:hover ${radioInnerPrefixCls}`]: {\n        borderColor: radioCheckedColor,\n      },\n\n      [`${componentCls}-input:focus-visible + ${radioInnerPrefixCls}`]: {\n        ...genFocusOutline(token),\n      },\n\n      [`${componentCls}:hover::after, ${componentCls}-wrapper:hover &::after`]: {\n        visibility: 'visible',\n      },\n\n      [`${componentCls}-inner`]: {\n        '&::after': {\n          boxSizing: 'border-box',\n          position: 'absolute',\n          insetBlockStart: '50%',\n          insetInlineStart: '50%',\n          display: 'block',\n          width: radioSize,\n          height: radioSize,\n          marginBlockStart: radioSize / -2,\n          marginInlineStart: radioSize / -2,\n          backgroundColor: wireframe ? radioCheckedColor : colorWhite,\n          borderBlockStart: 0,\n          borderInlineStart: 0,\n          borderRadius: radioSize,\n          transform: 'scale(0)',\n          opacity: 0,\n          transition: `all ${motionDurationSlow} ${motionEaseInOutCirc}`,\n          content: '\"\"',\n        },\n\n        'boxSizing': 'border-box',\n        'position': 'relative',\n        'insetBlockStart': 0,\n        'insetInlineStart': 0,\n        'display': 'block',\n        'width': radioSize,\n        'height': radioSize,\n        'backgroundColor': radioButtonBg,\n        'borderColor': colorBorder,\n        'borderStyle': 'solid',\n        'borderWidth': lineWidth,\n        'borderRadius': '50%',\n        'transition': `all ${motionDurationMid}`,\n      },\n\n      [`${componentCls}-input`]: {\n        position: 'absolute',\n        insetBlockStart: 0,\n        insetInlineEnd: 0,\n        insetBlockEnd: 0,\n        insetInlineStart: 0,\n        zIndex: 1,\n        cursor: 'pointer',\n        opacity: 0,\n      },\n\n      // 选中状态\n      [`${componentCls}-checked`]: {\n        [radioInnerPrefixCls]: {\n          'borderColor': radioCheckedColor,\n          'backgroundColor': wireframe ? radioButtonBg : radioCheckedColor,\n\n          '&::after': {\n            transform: `scale(${radioDotSize / radioSize})`,\n            opacity: 1,\n            transition: `all ${motionDurationSlow} ${motionEaseInOutCirc}`,\n          },\n        },\n      },\n\n      [`${componentCls}-disabled`]: {\n        cursor: 'not-allowed',\n\n        [radioInnerPrefixCls]: {\n          'backgroundColor': colorBgContainerDisabled,\n          'borderColor': colorBorder,\n          'cursor': 'not-allowed',\n\n          '&::after': {\n            backgroundColor: radioDotDisabledColor,\n          },\n        },\n\n        [`${componentCls}-input`]: {\n          cursor: 'not-allowed',\n        },\n\n        [`${componentCls}-disabled + span`]: {\n          color: colorTextDisabled,\n          cursor: 'not-allowed',\n        },\n\n        [`&${componentCls}-checked`]: {\n          [radioInnerPrefixCls]: {\n            '&::after': {\n              transform: `scale(${radioDotDisabledSize / radioSize})`,\n            },\n          },\n        },\n      },\n\n      [`span${componentCls} + *`]: {\n        paddingInlineStart: paddingXS,\n        paddingInlineEnd: paddingXS,\n      },\n    },\n  };\n};\n\n// Styles from radio-button\nconst getRadioButtonStyle: GenerateStyle<RadioToken> = (token) => {\n  const {\n    radioButtonColor,\n    controlHeight,\n    componentCls,\n    lineWidth,\n    lineType,\n    colorBorder,\n    motionDurationSlow,\n    motionDurationMid,\n    radioButtonPaddingHorizontal,\n    fontSize,\n    radioButtonBg,\n    fontSizeLG,\n    controlHeightLG,\n    controlHeightSM,\n    paddingXS,\n    borderRadius,\n    borderRadiusSM,\n    borderRadiusLG,\n    radioCheckedColor,\n    radioButtonCheckedBg,\n    radioButtonHoverColor,\n    radioButtonActiveColor,\n    radioSolidCheckedColor,\n    colorTextDisabled,\n    colorBgContainerDisabled,\n    radioDisabledButtonCheckedColor,\n    radioDisabledButtonCheckedBg,\n  } = token;\n  return {\n    [`${componentCls}-button-wrapper`]: {\n      'position': 'relative',\n      'display': 'inline-block',\n      'height': controlHeight,\n      'margin': 0,\n      'paddingInline': radioButtonPaddingHorizontal,\n      'paddingBlock': 0,\n      'color': radioButtonColor,\n      fontSize,\n      'lineHeight': `${controlHeight - lineWidth * 2}px`,\n      'background': radioButtonBg,\n      'border': `${lineWidth}px ${lineType} ${colorBorder}`,\n      // strange align fix for chrome but works\n      // https://gw.alipayobjects.com/zos/rmsportal/VFTfKXJuogBAXcvfAUWJ.gif\n      'borderBlockStartWidth': lineWidth + 0.02,\n      'borderInlineStartWidth': 0,\n      'borderInlineEndWidth': lineWidth,\n      'cursor': 'pointer',\n      'transition': [\n        `color ${motionDurationMid}`,\n        `background ${motionDurationMid}`,\n        `border-color ${motionDurationMid}`,\n        `box-shadow ${motionDurationMid}`,\n      ].join(','),\n\n      'a': {\n        color: radioButtonColor,\n      },\n\n      [`> ${componentCls}-button`]: {\n        position: 'absolute',\n        insetBlockStart: 0,\n        insetInlineStart: 0,\n        zIndex: -1,\n        width: '100%',\n        height: '100%',\n      },\n\n      '&:not(:first-child)': {\n        '&::before': {\n          position: 'absolute',\n          insetBlockStart: -lineWidth,\n          insetInlineStart: -lineWidth,\n          display: 'block',\n          boxSizing: 'content-box',\n          width: 1,\n          height: '100%',\n          paddingBlock: lineWidth,\n          paddingInline: 0,\n          backgroundColor: colorBorder,\n          transition: `background-color ${motionDurationSlow}`,\n          content: '\"\"',\n        },\n      },\n\n      '&:first-child': {\n        borderInlineStart: `${lineWidth}px ${lineType} ${colorBorder}`,\n        borderStartStartRadius: borderRadius,\n        borderEndStartRadius: borderRadius,\n      },\n\n      '&:last-child': {\n        borderStartEndRadius: borderRadius,\n        borderEndEndRadius: borderRadius,\n      },\n\n      '&:first-child:last-child': {\n        borderRadius,\n      },\n\n      [`${componentCls}-group-large &`]: {\n        'height': controlHeightLG,\n        'fontSize': fontSizeLG,\n        'lineHeight': `${controlHeightLG - lineWidth * 2}px`,\n\n        '&:first-child': {\n          borderStartStartRadius: borderRadiusLG,\n          borderEndStartRadius: borderRadiusLG,\n        },\n\n        '&:last-child': {\n          borderStartEndRadius: borderRadiusLG,\n          borderEndEndRadius: borderRadiusLG,\n        },\n      },\n\n      [`${componentCls}-group-small &`]: {\n        'height': controlHeightSM,\n        'paddingInline': paddingXS - lineWidth,\n        'paddingBlock': 0,\n        'lineHeight': `${controlHeightSM - lineWidth * 2}px`,\n\n        '&:first-child': {\n          borderStartStartRadius: borderRadiusSM,\n          borderEndStartRadius: borderRadiusSM,\n        },\n\n        '&:last-child': {\n          borderStartEndRadius: borderRadiusSM,\n          borderEndEndRadius: borderRadiusSM,\n        },\n      },\n\n      '&:hover': {\n        position: 'relative',\n        color: radioCheckedColor,\n      },\n\n      '&:has(:focus-visible)': {\n        ...genFocusOutline(token),\n      },\n\n      [`${componentCls}-inner, input[type='checkbox'], input[type='radio']`]: {\n        width: 0,\n        height: 0,\n        opacity: 0,\n        pointerEvents: 'none',\n      },\n\n      [`&-checked:not(${componentCls}-button-wrapper-disabled)`]: {\n        'zIndex': 1,\n        'color': radioCheckedColor,\n        'background': radioButtonCheckedBg,\n        'borderColor': radioCheckedColor,\n\n        '&::before': {\n          backgroundColor: radioCheckedColor,\n        },\n\n        '&:first-child': {\n          borderColor: radioCheckedColor,\n        },\n\n        '&:hover': {\n          'color': radioButtonHoverColor,\n          'borderColor': radioButtonHoverColor,\n\n          '&::before': {\n            backgroundColor: radioButtonHoverColor,\n          },\n        },\n\n        '&:active': {\n          'color': radioButtonActiveColor,\n          'borderColor': radioButtonActiveColor,\n\n          '&::before': {\n            backgroundColor: radioButtonActiveColor,\n          },\n        },\n      },\n\n      [`${componentCls}-group-solid &-checked:not(${componentCls}-button-wrapper-disabled)`]: {\n        'color': radioSolidCheckedColor,\n        'background': radioCheckedColor,\n        'borderColor': radioCheckedColor,\n\n        '&:hover': {\n          color: radioSolidCheckedColor,\n          background: radioButtonHoverColor,\n          borderColor: radioButtonHoverColor,\n        },\n\n        '&:active': {\n          color: radioSolidCheckedColor,\n          background: radioButtonActiveColor,\n          borderColor: radioButtonActiveColor,\n        },\n      },\n\n      '&-disabled': {\n        'color': colorTextDisabled,\n        'backgroundColor': colorBgContainerDisabled,\n        'borderColor': colorBorder,\n        'cursor': 'not-allowed',\n\n        '&:first-child, &:hover': {\n          color: colorTextDisabled,\n          backgroundColor: colorBgContainerDisabled,\n          borderColor: colorBorder,\n        },\n      },\n\n      [`&-disabled${componentCls}-button-wrapper-checked`]: {\n        color: radioDisabledButtonCheckedColor,\n        backgroundColor: radioDisabledButtonCheckedBg,\n        borderColor: colorBorder,\n        boxShadow: 'none',\n      },\n    },\n  };\n};\n\n// ============================== Export ==============================\nexport default genComponentStyleHook('Radio', (token) => {\n  const {\n    padding,\n    lineWidth,\n    controlItemBgActiveDisabled,\n    colorTextDisabled,\n    colorBgContainer,\n    fontSizeLG,\n    controlOutline,\n    colorPrimaryHover,\n    colorPrimaryActive,\n    colorText,\n    colorPrimary,\n    marginXS,\n    controlOutlineWidth,\n    colorTextLightSolid,\n    wireframe,\n  } = token;\n\n  // Radio\n  const radioFocusShadow = `0 0 0 ${controlOutlineWidth}px ${controlOutline}`;\n  const radioButtonFocusShadow = radioFocusShadow;\n\n  const radioSize = fontSizeLG;\n  const dotPadding = 4; // Fixed value\n  const radioDotDisabledSize = radioSize - dotPadding * 2;\n  const radioDotSize = wireframe ? radioDotDisabledSize : radioSize - (dotPadding + lineWidth) * 2;\n  const radioCheckedColor = colorPrimary;\n\n  // Radio buttons\n  const radioButtonColor = colorText;\n  const radioButtonHoverColor = colorPrimaryHover;\n  const radioButtonActiveColor = colorPrimaryActive;\n  const radioButtonPaddingHorizontal = padding - lineWidth;\n  const radioDisabledButtonCheckedColor = colorTextDisabled;\n  const radioWrapperMarginRight = marginXS;\n\n  const radioToken = mergeToken<RadioToken>(token, {\n    radioFocusShadow,\n    radioButtonFocusShadow,\n    radioSize,\n    radioDotSize,\n    radioDotDisabledSize,\n    radioCheckedColor,\n    radioDotDisabledColor: colorTextDisabled,\n    radioSolidCheckedColor: colorTextLightSolid,\n    radioButtonBg: colorBgContainer,\n    radioButtonCheckedBg: colorBgContainer,\n    radioButtonColor,\n    radioButtonHoverColor,\n    radioButtonActiveColor,\n    radioButtonPaddingHorizontal,\n    radioDisabledButtonCheckedBg: controlItemBgActiveDisabled,\n    radioDisabledButtonCheckedColor,\n    radioWrapperMarginRight,\n  });\n\n  return [\n    getGroupRadioStyle(radioToken),\n    getRadioBasicStyle(radioToken),\n    getRadioButtonStyle(radioToken),\n  ];\n});\n"],"names":["antRadioEffect","Keyframes","transform","opacity","getGroupRadioStyle","token","componentCls","antCls","groupPrefixCls","resetComponent","display","fontSize","direction","zIndex","borderInlineStart","getRadioBasicStyle","radioWrapperMarginRight","radioCheckedColor","radioSize","motionDurationSlow","motionDurationMid","motionEaseInOut","motionEaseInOutCirc","radioButtonBg","colorBorder","lineWidth","radioDotSize","colorBgContainerDisabled","colorTextDisabled","paddingXS","radioDotDisabledColor","lineType","radioDotDisabledSize","wireframe","colorWhite","radioInnerPrefixCls","cursor","color","width","overflow","content","position","insetBlockStart","insetInlineStart","height","border","borderRadius","visibility","animationName","animationDuration","animationTimingFunction","animationFillMode","outline","alignSelf","borderColor","genFocusOutline","boxSizing","marginBlockStart","marginInlineStart","backgroundColor","borderBlockStart","transition","insetInlineEnd","insetBlockEnd","paddingInlineStart","paddingInlineEnd","getRadioButtonStyle","radioButtonColor","controlHeight","radioButtonPaddingHorizontal","fontSizeLG","controlHeightLG","controlHeightSM","borderRadiusSM","borderRadiusLG","radioButtonCheckedBg","radioButtonHoverColor","radioButtonActiveColor","radioSolidCheckedColor","radioDisabledButtonCheckedColor","radioDisabledButtonCheckedBg","join","paddingBlock","paddingInline","borderStartStartRadius","borderEndStartRadius","borderStartEndRadius","borderEndEndRadius","pointerEvents","background","boxShadow","genComponentStyleHook","padding","controlItemBgActiveDisabled","colorBgContainer","controlOutline","colorPrimaryHover","colorPrimaryActive","colorText","colorPrimary","marginXS","controlOutlineWidth","colorTextLightSolid","radioFocusShadow","radioButtonFocusShadow","dotPadding","radioToken","mergeToken"],"mappings":"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"}